• Topic Archived
You're browsing the GameFAQs Message Boards as a guest. Sign Up for free (or Log In if you already have an account) to be able to post messages, change how messages are displayed, and view media in posts.

User Info: Xian_Zhu_Xuande

Xian_Zhu_Xuande
10 years ago#51
I'm attempting to figure out enough about this to actually edit it. First I've got to figure out where it is in the actual ROM and I haven't sorted out how to calculate those locations yet. I assume you're not literally speaking about 6300-63E0 in the ROM? That section isn't comprised of 00/01 entries like I would expect for this. :)

Once I've found it I need some way to figure out who each entry impacts. It is pretty easy when it references another index somewhere, but if it is just a long list of 00/01 entries and also includes generics on the map, what would be the best way to sort that out? I could have a lot of fun with this if I figured it out. Some pretty cool stuff could be done.

As for making people on the map recruitable, the problem wasn't even making them disappear from the map. The game includes certain events/functions which are actually integrated with the script (and can be entered into the script as freely as you might change what someone says). There are a few which govern recruiting and, when triggered, they recruit the targeted person and all required changes (such as taking them out of battles and removing them from the map) are taken care of by whatever function those references link to. What I don't know how to do is plant someone on the map somewhere, or change someone on the map from one person to another. It seems like that's a bigger project though.

How odd that Capcom would create flags for officers like Zhou Chao and Guo Si...
Kongming’s Archives: kongming.net (Three Kingdoms Web Site)
Scholars of Shen Zhou: the-scholars.com (Three Kingdoms Forum)

User Info: MeteorStrike

MeteorStrike
10 years ago#52
It's just a recruiting chain... you must recruit person B to be able to get person C, but you must recruit person A to be able to recruit person B, and so on. I found out that Wang Gui does not show up in Luo Yang either unless some other previous General was recruited in some other town...

There's another topic here where someone talks about some mod where you can recruit Dong Zhuo. That mod probably does what you want already... you should look into it.. that item request is probably more work than I'm willing to do right now...

$6300 - $63E0 is for the RAM. You need to be running under a debugger... So to figure out the other issue about that General that is registered as killed, you need to use the debugger and monitor $6312 to see when it changes to 0...

User Info: Xian_Zhu_Xuande

Xian_Zhu_Xuande
10 years ago#53
You mentioned earlier about flags which determine whether an officer can appear in random encounters or not. I'm curious about that, especially for the officers like Sun Gan who do not, by default, appear in random encounters even if you set them to appear in a certain area. More obvious examples of this would be Sima Zhao and Sima Shi, or the other bosses. I would like to edit people like Sun Gan and Liu Shan to be available in random encounters when set to appear in a certain area. :)

I thought about hunting that ROM down to have a look, but I realize I wouldn't know what to do with it if I got it. Also, there are very significant differences between the English and other-language Destiny of an Emperor ROMs, so everything would be stored in totally different locations.
Kongming’s Archives: kongming.net (Three Kingdoms Web Site)
Scholars of Shen Zhou: the-scholars.com (Three Kingdoms Forum)

User Info: MeteorStrike

MeteorStrike
10 years ago#54
Again, those flags are at run-time. If you want to edit the ROM itself, then those flags are worthless to you. There is probably some other data that can be changed for it (obviously) but for ROM-editing purposes, this is of no use to you.

User Info: MeteorStrike

MeteorStrike
10 years ago#55
OK, making the Generals available in random battles is tricky. The game keeps a list of all the Generals and whether or not they should be initialized at 0x98 for their flags. If not, they are initialized as 0x80.

So you can change this so that Generals can start out with 0x98, which means you will be able to fight them on random battles, BUT I believe the 0x08 flag says they cannot be recruited. That flag is supposed to be cleared as you progress through the game...

If you wanna add some Generals as random battles, it will work, but you won't be able to recruit them unless you change more stuff on events:

The data is stored at 0x35722. The first 4 bytes, starting with that address, should read 00, 00 FF, and EF.
The format of the data is as follows:

Each byte represents 8 Generals. (1 bit per General.) If the bit is set, they are initialized as 0x98 and can be encountered in random battles. If it is cleared, they are initialized as 0x80 and can only be encountered in villages (if they are loaded by the village map.)

0x35722 high bit = General ID 0.
...
0x35722 low bit = General ID 7.

0x35723 high bit = General ID 8.
...
0x35723 low bit = General ID 15.

And so on...

User Info: MeteorStrike

MeteorStrike
10 years ago#56
Ha ha! I found out what makes Guo Ji set as killed. Its another BUG! How pathetic. I just finished fixing one bug, and now here's another one...

When you're in a battle, if you press the B button, you can "undo" the selected action you chose for the previous unit and select some other action. The following code is called to do this:

$AE1B:A6 78 LDX $78
$AE1D:A9 00 LDA #$00
$AE1F:9D 13 62 STA $6213,X
$AE22:60 RTS

$6213,X = The array which contains the selected actions for the current battle round for all the units. $6213 = Your first ally, $6214 = Your second ally, and so on...

$78 = The previous ally index. So if we are selecting Guan Yu's action in battle at the beginning of the game (index = 1) and we then hit B to undo, we go back to Liu Bei (index = 0) BUT if we hit B when we are already on Liu Bei, then this function gets called with the index of the previous guy, so it gets called with -1, which is 0xFF. When this happens, 00 is written into $6213,X with X = FF, which happens to be $6312! So it ends up setting $6312 with 0, which effectively "kills" Gui Ji! Haha!

So to prevent this bug from happening, you must NEVER press the B button to undo a battle action if you're currently selecting an action for the first ally in your party...

I'm not sure there's really a way to "fix" this, other than checking for 0xFF (invalid index range) when this function is called... but at least the cause for this bug is very easily understood and avoidable...

User Info: MeteorStrike

MeteorStrike
10 years ago#57
Well, to summarize:

*. Guo Ji disappears if you try to undo a battle action while your first General is the current active one.

*. Zhou Chao is recruitable only if you already recruited Wang Gui at Luo Yang.

*. The Generals-are-available-in-random-battles flags are located at 0x35722.

As far as I know, that just leaves your question about those two tactics unanswered. I'll look into it tomorrow since it's probably a quickie too...

Oh, and if all you want to do is change a villager's General ID, this might not be so difficult at all... I might look into it too, but later...

User Info: MeteorStrike

MeteorStrike
10 years ago#58
Oh yea, and in case you haven't checked, I posted a fix for the items-disappearing issue on the other thread...

User Info: Xian_Zhu_Xuande

Xian_Zhu_Xuande
10 years ago#59
Haha... awesome.

Remember kids, if you are too indecisive, God kills Guo Si.

Wang Gui in Luo Yang... I think I've seen him vanish as well. Is there a similar condition for him? Perhaps you have to recruit Yang Jin? That makes me wonder if there is a condition for Yang Jin as well which stems to Chen Deng or Mi Zhu... I don't think anything really depends on the Song Brothers because I pretty much always leave them alone.
Kongming’s Archives: kongming.net (Three Kingdoms Web Site)
Scholars of Shen Zhou: the-scholars.com (Three Kingdoms Forum)

User Info: MeteorStrike

MeteorStrike
10 years ago#60
There is definitely some other guy you need to recruit also for Wang Gui to show up in Luo Yang. In any case, this is pretty much the pattern - you need to recruit one guy before you can recruit another...

At this point, you should have enough information to figure this stuff out by simply playing the game. Go to Luo Yang without recruiting anyone and verify he's not there, then go back and recruit one at a time until he shows up. You don't need my hacking skills to figure out the rest now that you know how it works. You just need to be willing to put your own time into it. :p

Sorry but there's no reason why you couldn't figure this one out yourself, and I need to dedicate my time to other things as well...
  • Topic Archived