Home › Forums › Destiny of an Emperor › Destiny of an Emperor RH Guide ( MOVED! to http://doaerhguide.wikidot.com )
Tagged: Battles, Destiny of an Editor, Destiny of an Emperor, Destiny of an Emperor hacking, Destiny of an Emperor Mods, Destiny of an Emperor Rom, DoaE rom, DoaE Rom hacking, FCEUX, Feidian, Graphics, hacking DoaE, Map, NES ROM hacking, nes8 template, Portraits, ROM Hacking, ROM hacking information
- This topic has 985 replies, 17 voices, and was last updated 2 years, 9 months ago by
MiDKnighT.
-
AuthorPosts
-
November 13, 2011 at 4:12 am #39865
MiDKnighT
ModeratorQuote:Only issue I see is that "revive" will just give people one more reason to SS hack.I was thinking about this earlier and I actually think "Raise" might make ultimate bad guys like Sima Yi a bit easier actually if you're using the 8 tactics enhancement. The reason is that with 8 tactics and Raise in slot 03, the chances of Sima Yi reviving himself is now split 50/50 between revive and raise. If you're fighting Sima Yi you have a better chance of surviving if he raises someone else rather than reviving himself. Also if you think "Raise" is too powerful all you have to do is lower the healing potential of "Revive" and both revive and raise would be toned down. You can make "Raise" as powerful as you want. The ultimate nasty would be full Revive power and if you put it in slot 04-07 which means they could use it anytime in battle. But if you gave 2-3 enemies in a battle that kind of power you basically have an un-winnable battle so you have to be careful with it.
Quote:load me up your latest yuan shao mod. I want to test out these improvements together.I haven't added the damage stuff to the Yuan Shao mod yet and I only added Life and Raise for testing. I'm going to build the IPS patch first then apply it to the Yuan Shao mod then tweek :) I'll work on the IPS patch next so you have something to test with.
November 13, 2011 at 5:15 am #39866MiDKnighT
ModeratorHey Lud, FYI I moved your agility attacks thing from page 1C to 1E in the guide because the new sprites live on 1C. Noticed it when I was working on the IPS patch. I also tested the agility hits for the first time. It is uber cool! Great stuff!
Question, do you have any recommendations on the soldier bar changes? What are you using in your mod? Just wanted to know some good values that have already been tested.
November 13, 2011 at 5:43 am #39867ludmeister
ParticipantQuote:I also tested the agility hits for the first time. It is uber cool! Great stuff!Thanks! I had a lot of fun with that one, actually. I definitely wanted a random element to the number of attacks, to add to the trepidation factor when fighting officers who look a bit out of your league 8O
One thing I could have done better was to have created another little table for items that add one attack, and checked your items with the table items via a loop; it would have made for a bit easier editing. Grr. It could probably be done with the twelve extra NOP bytes provided, however…
As for the soldier bars, here's what I have in my mod at 0x3adfe-0x3ae13 (Starts at 0x3adfe, not 0x3adf2… my mistake in the guide):
"0a1e 50c8 fae8
0000 0000 0103
0105 0f27 61
f4dd a111 a9"
Thresholds: 500, 1501, 4001, 10001, 25001
Soldiers/pixel: 10, 30, 80, 200, 500, 1000
When all else fails... manipulate the source code.
November 13, 2011 at 8:20 am #39868Lord Yuan Shu
KeymasterGreetings dudes. The Life and Full-Life spells look like good additions.
Just wanted to say I've cruised through DoaE II and have updated the sprites list once more. Only missing 2 characters, both of whom I swear are not even in this game. Best part is most of the lame looking generals I thought were in here (Gong Du, He Xi, etc) actually turned out to be Ma Dai, Zhang Bao, Guan Suo, etc.
Anyway without further adieu
54=Liu Bei2
55=Guan Yu2
56=Yan Liang2
57=Wen Chou2
58=Yuan Shu2
59=Zhao Yun2
5A=Ma Chao2
5B=Lu Bu2
5C=Sun Quan2
5D=Meng Da2
5E=Ji Ling2
5F=II
60=Yuan Shao2
61=Zhou Yu2
62=Taishi Ci2
63=MM
64=Li Qui2
65=Jin Xuan2
66=Yan Yan2
67=Zhou Cang2
68=Dian Wei2
69=Zhang Bao2
6A=Wu Lan2
6B=Cao Cao2
6C=Zhang Liao2
6D=Zhang Lu2
6E=Xu Zhu2
6F=Wei Yan2
70=Wu Yi2
71=Xiahou Dun2
72=Guan Suo2
73=Guan Xing2
74=Ma Dai2
75=Xiahou Dun2
76=Guan Ping2
77=Ma Su2
78=Chen Deng2
79=Fa Zheng2
7A=Rebels2
7B=Outlaw Force2
7C=Thief Force2
7D=Pirate Force2
Welcome to Lord Yuan Shu Walkthrough Guides ·
Huo Hu's Adventure started Destiny of an Emperor hackingNovember 13, 2011 at 1:28 pm #39869MiDKnighT
ModeratorMost excellent LYS. I think I'll include your sprite table and a new soldier number table in the IPS patch zip file.
November 13, 2011 at 2:38 pm #39870Lord Yuan Shu
KeymasterRight on, I'll upload the newest sprite table soon.
Double checking my work last night. Wu Lan is not 6A, it's Lu Zhao. Wu Lan looks similar but the sprites are different…
Damn…still can't believe I can't figure out 5F and 63. Wish Sima Yi's sprite was in here it's badass (one of the maybe 10 unique sprites we're missin).
Welcome to Lord Yuan Shu Walkthrough Guides ·
Huo Hu's Adventure started Destiny of an Emperor hackingNovember 14, 2011 at 1:12 am #39871MiDKnighT
ModeratorQuote:Wish Sima Yi's sprite was in here it's badass (one of the maybe 10 unique sprites we're missin).Maybe some day when I have the patience I'll work on newsprites2.bmp. :wink:
November 14, 2011 at 4:38 am #39872ludmeister
ParticipantFor anyone interested (Atma?) I've tested setting tactics to advanced levels, making some levels so that you don't learn tactics on them (in my mod, those levels are 7, 17, 19, 29, and 34). My two fears have been put to rest:
1. It continues to award tactics even if it hits a byte in the range 0x3b881-0x3b89e that is 00 (no tactic learned).
2. It will continue to award tactics up to your current level… not 31 (as I thought it might have).
MiDKnighT- Could you amend the hacking guide to reflect what has been learned?
0x3b880-0x3b8b2- Tactic ID learned at level up (1st ID for level 1… last is level 50!)
00 01 11 06 0b 15 18 02 12 07 19 1c 0c 03 08 0d
10 1b 16 17 09 04 0f 14 1d 1e 1a 0e 0a 05 13 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00
Setting a tactic to level one is untested… it probably will award eligible officers the tactic just fine, but you won't receive the TP bonus for learning it.
When all else fails... manipulate the source code.
November 14, 2011 at 5:41 am #39873ludmeister
ParticipantAlso, I wanted to figure out if gold is awarded based off of a multiplier like experience is. The method of calculating the amount of gold awarded is fairly complicated, and given the amount of time I wanted to spend working with this, I didn't delve too deeply into the code. From what I could tell, the game tests the officer's ID, and then runs through their Str, Int, and Agi, and assigns a value from that… then seems to multiply by a chapter value (aha!)… I modified these values and found that the larger the value, the more gold awarded for the same opponents. Here are that value, as that seems to be the easiest method of changing the amount of gold awarded:
0x39ad7-0x39ae6: Gold awarded per chapter multipliers
0014 0028 003d 007a 00cc 0199 02cc 0400
For some reason, these are not stored like other values are, and are meant to be read as I divided them. So those multipliers are:
20 (Yellow Scarves campaign)
40 (Dong Zhou)
61 (Yuan Shu)
122 (Yuan Shao)
204 (Jing Zhou)
409 (Shu)
716 (Wu)
1024 (Wei)
When all else fails... manipulate the source code.
November 14, 2011 at 12:30 pm #39874MiDKnighT
ModeratorQuote:MiDKnighT- Could you amend the hacking guide to reflect what has been learned?Sure, I will later today.
November 14, 2011 at 2:40 pm #39875Zhuge Liang
ParticipantQuote:0x39ad7-0x39ae6: Gold awarded per chapter multipliers0014 0028 003d 007a 00cc 0199 02cc 0400
I guess modders will definitely like this info for their mods.
DoaE gave birth to Huo Hu.
November 14, 2011 at 5:33 pm #39876MiDKnighT
ModeratorAdded a bunch of stuff to the guide including:
– Tactic level learned update
– "Life" and "Raise" tactics
– Officers using their own tactics
– Gold awarded after battle
– All hidden and treasure chest item locations
– Important memory areas
– Other stuff
November 15, 2011 at 1:37 am #39877Niahak
ModeratorOnce this guide reaches a stable state, you might consider submitting it to http://www.romhacking.net/ . Somewhere, sometime, someone is going to try solving the same problems and won't be able to find LYS.com (although I'd guess we're number one for now :) ).
I plan to do the same with my editor, once it is tested to my satisfaction.
November 16, 2011 at 1:33 pm #39878MiDKnighT
ModeratorQuote:Once this guide reaches a stable stateQuote:I plan to do the same with my editor, once it is tested to my satisfaction.Will either of those ever happen? There's always more to figure out :)
November 16, 2011 at 5:52 pm #39879ludmeister
ParticipantI just figured out something really good… something I've wanted to figure out for a long, long time…
Officer's status bytes in memory
First of all, all officers have their status byte stored in memory in $6300-$63ff. They're stored in General ID order (to figure out a specific General's ID #, check him out in Destiny of an Editor).
If you check there, you'll see a number of repeating values… mostly 80, 90, 98, and C0.
80- You can never meet this officer in random battles.
90- You can meet this officer in random battles, and you can recruit him after the battle.
98- You can meet this officer in random battles, but you cannot recruit him after the battle.
C0- I don't know what this value means. Possibly linked to special cases… see below.
How officers are (normally) set to be recruitable
Furthermore, most castle battles will seek out a table of bits in the DoaE ROM, stored @ 0x3b153-0x3b172, and based on whether the a participant General's bit in this table is 1 or 0, will set the officer's status byte to "90" or not. In other words, if you meet Yang Huai in a castle battle, after the battle, it will check bit #0x4b in this table… bit #4 of 0x3b15c… and seeing that that bit is set (is = 1) will set Yang Huai as recruitable.
This is how the table @ 0x3b153-0x3b172 looks:
00 00 7f cf f8 3e f1 81 18 ff b8 1f ff ff 00 4d
a1 39 f9 00 00 10 20 03 72 f7 e0 80 00 00 00 00
Let's look @ 0x3b155 specifically now:
7f = 0111 1111
0 – 1 – 1 – 1 – 1 – 1 – 1 – 1 (bit-by-bit representation of 0x7f)
10- 11- 12- 13- 14- 15- 16- 17 (General ID)
So, if we met any of the officers with IDs between 11 and 17 in a (normal) castle battle, after the battle we could recruit them. If we met General ID 10 in battle, he'd stay resolute against our allies' cause and would not be recruitable… in fact their status would not change. If 80 (cannot be met), that would not change. If 98 (can meet him), that also would not change.
Officer's initial statuses
Initial statuses for generals are based upon a separate bit table, found at 0x35722-0x35741:
00 00 ff ef fc ff f7 83 f8 ff b8 ff ff ff 3f ff
ff 79 ff 00 00 00 00 23 76 f7 e0 80 00 00 00 00
If the bit is set, the initial status is 0x98 (you can encounter him in random battle but cannot recruit him). If not set, the initial status is 0x80 (you cannot meet him in random battle).
Special cases
I have not ferreted out special cases, but it is clear that there are exceptions to these rules… like when you beat the Zhang brothers in the cave behind Qing Zhou, and therefore don't engage Zheng Mao and Chengyuan Zhi, but they are still recruitable after that battle.
To make all officers recruitable… always
A change so powerful it might almost be considered cheating… to make any officer recruitable from a random battle… always, try this:
0x3a45d: "98" -> "99"
What this does is it changes this statement:
0e:a44c:C9 98 cmp #$98
to a statement that is never true, since no officer has a status of 0x99. Therefore, any and all officers you could engage in a random battle would be recruitable.
When all else fails... manipulate the source code.
-
AuthorPosts
- You must be logged in to reply to this topic.

