• 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: MeteorStrike

MeteorStrike
10 years ago#41
Here's a little something extra: information on how to relocate boss battles:

When the player moves a step, the game will check to see what coordinates is the player moving to. The game will test to see if this new step has a boss battle, and if so and the player has not completed that boss battle, the player will have to fight that boss battle. Obviously, they set the coordinates of these boss battles to be right on top of the castles' entrances and such. Here's the code:



// The following code is called with every step taken.
// The game will check an array with 80 entries, to determine
// if the step to which we are trying to move has a boss battle.

// 0x30C10 = $8C00,X = The list of coordinate 1 positions for all boss battles.
// 0x30C68 = $8C58,X = The list of coordinate 2 positions for all boss battles.
// 0x30CC0 = $8CB0,X = The list of coordinate 3 positions for all boss battles.
// 0x30D18 = $8D08,X = The list of coordinate 4 positions for all boss battles.
// $1C -> $1F = The coordinates to where the player is moving.
// $75 = Boss battle ID we will fight.

// When we find a value for X, for which the above lists match the
// position to which we are moving, then X becomes the boss battle ID
// that we are going to fight.

$F475:A2 4F LDX #$4F
$F477:BD 00 8C LDA $8C00,X @ $8C02 = #$0C
$F47A:C5 1C CMP $1C = #$05
$F47C:D0 36 BNE $F4B4
$F47E:BD 58 8C LDA $8C58,X @ $8C5A = #$09
$F481:C5 1D CMP $1D = #$06
$F483:D0 2F BNE $F4B4
$F485:BD B0 8C LDA $8CB0,X @ $8CB2 = #$04
$F488:C5 1E CMP $1E = #$07
$F48A:D0 28 BNE $F4B4
$F48C:BD 08 8D LDA $8D08,X @ $8D0A = #$12
$F48F:C5 1F CMP $1F = #$12
$F491:D0 21 BNE $F4B4
$F493:BD 00 65 LDA $6500,X @ $6502 = #$00
$F496:D0 1C BNE $F4B4
$F498:86 75 STX $75 = #$00



So basically, the coordinates for all the 80 possible boss battles are located at the following arrays:

0x30C10 = List of coordinate 1 positions for all boss battles.
0x30C68 = List of coordinate 2 positions for all boss battles.
0x30CC0 = List of coordinate 3 positions for all boss battles.
0x30D18 = List of coordinate 4 positions for all boss battles.

To "move" a boss battle to a different location, simply change their coordinates in these arrays. Again, the coordinates 1 - 4 here should match the ones at $60 - $63. So look at the values at that location while playing the game, and this will give you the new coordinates to use for the above arrays, if you wish to "move" a boss battle to a different tile.

Oh and I checked the 5 battles I mentioned above, and all their coordinates are set to (0, 0, 0, 0) meaning that they are not set to any one tile. There are other battles that are also set to 0, because they are the types of battles you do not necessarily fight on any one specific step (for example the last battle with Lu Bu.) It will take more digging to potentially find anything for those 5 battles, but at least we know they can't be fought simply by "stepping on the right tile"

User Info: MeteorStrike

MeteorStrike
10 years ago#42
OK, I just checked the code above for all battles whose coordinates are set to 0. The following boss battles have their coordinates set as 0:

4F
4C
4B
4A
49
41
40
32
2C
1B
17
04
03

These battles do not have coordinates set to them, because they are encountered by other means besides walking around. For example, Getting into the boss battle with Ma Yuan Yi by talking to him, we can see that this boss battle is set by the following code:

$A34C:A9 04 LDA #$04
$A34E:85 75 STA $75

This gave me an idea: If I look for all opcodes that match this pattern for the remaining boss battles that have their coordinates set to 0, I should be able to find WHERE in the game do the battles get fought. (I did something similar in Dragon Warrior 1 for things like the Fighter's Ring) Doing so, the following boss battles are encountered by explicitly loading their battle IDs into the Accumulator, and then writing it to $75.

Boss battle ID = Location the code is found in the ROM (base 10, 1-based offsets)

4F = 242661
4C = 226229
4B = 242643
32 = 226135
1B = 224117
17 = 223526
04 = 222045
03 = 222093

Note that I did not explicitly verify these are the opcodes. I simply did a binary search for the matching opcodes. Nevertheless, all the remaining boss battles, except for 5 of them, have exactly one match for the above type of codes, which gives an extremely high level of assurance that this is the method the game uses to fight these battles, and that the above locations in the ROM will get you to fight those boss battles. Feel free to change the battle IDs at those locations and verifying that those are indeed the boss battles for those fights!

Now, what that means is that the following 5 boss battles do NOT have ANY code in the ROM that will set them with the above type of code:

4A
49
41
40
2C

Concidentally, these are the exact 5 boss battles that are not known to be fight-able anywhere. So I can say with a high level of confidence (although not 100%) that those 5 boss battles cannot be fought in the game, under any non-cheating circumstances, because there is no code in the whole game that will get you to fight them.

Again, this is not 100% sure, because there are other ways to write these battle IDs to $75, but given that all the other battles do things the exact same way, it would be ludicrous to assume that for these 5 specific battles, (which happen to be the exact 5 that no one can find) that the game would load them into $75 in a different manner...

That said, I would expect that Zhou Cang, along with all the other of these 5 battles, simply cannot be fought under any circumstances...

User Info: MeteorStrike

MeteorStrike
10 years ago#43
OK, I was pretty sure I read that script before, so here's how to get it: Fight Yuan Shu but do NOT kill him. Then, go into Nan Yang and talk to the villager at the North West side of the town. He will say:

"Didn't I just see Yuan Shu right outside the castle."

If you killed Yuan Shu, the villager won't be there at all... Clearly, you guys never got the message because you're a bunch of cold-hearted murderers! j/k

User Info: Xian_Zhu_Xuande

Xian_Zhu_Xuande
10 years ago#44
That's some pretty interesting stuff, MeteorStrike. It makes me wonder how much trouble it would be to actually create and add some entirely new battles to the game. I suppose if I wanted to get really involved a whole new castle could be created somewhere on the map, but that would require an understanding of how to edit the map in the first place (and perhaps how to define tiles as walkable or otherwise). I might have a lot of fun with this...

Here's a question for you. Yi Xin stops an officer and prevents them from taking turns. Li Jian actually causes them to turn on their allies. I've generally been under the impression that Li Jian works less frequently and, due to this, have actually favored Yi Xin over it in many cases (especially when targeting a smarty pants like Zhou Yu). Another old-school DoaE player who goes by the name Lord Yuan Shu here hasn't noticed that difference. Do you know the truth behind this?
Kongming’s Archives: kongming.net (Three Kingdoms Web Site)
Scholars of Shen Zhou: the-scholars.com (Three Kingdoms Forum)

User Info: Xian_Zhu_Xuande

Xian_Zhu_Xuande
10 years ago#45
Haha... and yes, I suppose I wouldn't have sorted the Yuan Shu thing out because I am, in fact, a cold-blooded killer. Poor, poor Yuan Shu....

Ooo... that reminds me.

Guo Si, in Dong Zhuo's area, sometimes doesn't appear in battle.

Zhou Chao, who walks around in, I believe, Chang An, sometimes doesn't appear in the city.

Is there a rhyme or reason to this?
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#46
I don't see any "Guo Si" I only see a "Guo Ji." His General ID is 0x12.

On my current test game, he cannot be encountered either. I just analyzed the enemy encounter function that determines the enemies you will encounter. There is an array of General Flags at $6300,X. For each General, if they have the status flag of 0x10 turned OFF, then you cannot encounter that General in random battles.

For Guo Si, the flags for him are at $6312. For my game, they are currently set to 0, so he cannot be encountered... I wonder if this means that he is registered as "dead"?

Anyways, I'll play around for a while and monitor $6312 to see what causes it to be set to 0... in the meantime, you might want to provide me with more info on that other General...

User Info: MeteorStrike

MeteorStrike
10 years ago#47
Hmm on a new Game, he is flagged as available after you fight him in one of those forts... I can't seem to get his flags to be set to 0... but it does appear that 0 = dead, because the game checks for 0 when you get into that fort battle to determine if he should be loaded... Maybe some event later on kills him?

Not sure, but if you're really curious, here's your chance to do some easy work: Open up the Hex editor in FCE Ultra and scroll down to $6312. Keep an eye on it, and play the game until you see it change to 0. (You can also set a break on write for it so you don't have to keep an eye at the memory all the time... your choice...) I'm not much in the mood right now to play the game from beginning to end, waiting around for that value to change... :p

User Info: Xian_Zhu_Xuande

Xian_Zhu_Xuande
10 years ago#48
You're right, I meant Guo Ji. Sometimes I get mixed up with officers like that because I think of the real officer from history rather than the name Capcom gave them. There are quite a few name mistakes in Destiny of an Emperor.

I'll experiment with what you've suggested. Finding out wouldn't require going through the whole game, but rather just through the beginning. Whatever it is that registers Guo Ji as dead occurs before you reach him in that battle so, assuming one is lucky enough for it to happen, all that needs to be played is through the Yellow Turbans and part of Dong Zhuo's territory.

I'm going to take time out to play with some of this fun stuff once I finish my mod. :)

Zhou Chao is a recruitable officer who walks around in Chang An, assuming you are lucky enough for him to appear in the first place.

That array you mentioned—the one which tells you which officers appear in the field and which ones do not—do you know where it is located and how it can be calculated? That's actually very handy. There are some officers like Sun Gan, Liu Chan, and a few others who don't appear in the game at all. We can make them appear in battle by tossing them into a battle, but the added benefit of having them appear in random encounters would be very very cool!
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#49
The array is at $6300, at it goes all the way up to $63E0. As far as how it gets initialized, that wouldn't be too hard to figure out, but I'm not doing that right now...

One thing I just learned, this array is used for ALL units in the game... so even for NPCs, the game checks this array to see if they should be loaded... so, remember a while back when you asked how to make NPCs recruitable, and all you needed to know how to do left was making them disappear from the map? Well this looks like the way to go... except you would need to add a sub-routine to set the appropriate flag into the array...

Also, the array seems to be re-used for generics.... For example, $63DA corresponds to all the inn-keepers... so if, hypothetically, you made the inn-keeper recruitable, then ALL inn-keepers would disappear from the world...

Also, I figured out the thing with Zhou Chao (kind of) He has to be registered as "alive" AND also bit 0x10 of $6550 must be ON. I'm not sure what those flags are for, though... I will experiment with them to find out what they are used for...

User Info: MeteorStrike

MeteorStrike
10 years ago#50
OK, I got it:

You must recruit Wang Gui at Luo Yang if you want Zhou Chao to appear in Chang An.

There's probably similar types of tests done throughout the game for other Generals... Another flag at $6550 was set when I recruited some other General at some other village along the way. (Didn't keep track of it)
  • Topic Archived