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
-
May 29, 2013 at 8:03 pm #40416
MiDKnighT
ModeratorOh nice. I didn't even know you were working on this. I had thought about doing something similar before but had other projects I wanted to tackle first. Adding to guide and IPS patch 1.3.
May 29, 2013 at 8:38 pm #40417ludmeister
ParticipantThanks!
It was interesting to figure out where to put it in the battle victory routine, without borking everything. Then I got it to work, and was hearing the little typing sound, but no text was showing up :o I finally got it to work fully this afternoon.
When all else fails... manipulate the source code.
May 29, 2013 at 8:50 pm #40418MiDKnighT
ModeratorQuote:It was interesting to figure out where to put it in the battle victory routine, without borking everything.These days that's one of the hardest parts about these enhancements. Finding the right jump off point.
EDIT: That said, since this enhancement is at the end of battle it might be a great place to implement our little fix for your A.I. bug theory. I might borrow your jump off point there for that.
May 29, 2013 at 9:03 pm #40419ludmeister
ParticipantQuote:That said, since this enhancement is at the end of battle it might be a great place to implement our little fix for your A.I. bug theory. I might borrow your jump off point there for that.Wonderful idea! I'd love it if you'd publish the code for that if you get it written before the end of the night. My best guess is that zeroing out the Enemy Tactic lists would be the most important thing.
When all else fails... manipulate the source code.
May 29, 2013 at 10:46 pm #40420MiDKnighT
ModeratorI added a jump to a subroutine (20 20 A5) to the beginning of your code:
0x7A530:
Code:A200A9009D05629DAF60E8E006D0F560
00000000000000A90E2082C44C50A5EA
2082C400000000000000000000000000
2020A5A2021E0005387E0005CA10F6A5
AD65604A65AF6510297FC9083005A90E
4C40A565AE4A6561651165AD290F856E
AD3670AACA8A29070A0A0A0A656E856E
EAEAEAA5AE6552651165626563297FC9
153010A56EA8B9D0A5856EA900856F4C
37A5EAA56EA8B950A6856EA900856F4C
37A5EA00000000000000000000000000That clears 6205-620A and 60AF-60B3. We probably won't know if this fixed the bug or not for a while. If not I'll have to audit the A.I. code and fix my stack issues for good.
May 30, 2013 at 1:07 am #40421sonic.penguin
ModeratorAll this new stuff (and fragments of stuff) is making it hard to test the game cohesively >_>
Good stuff though and good ideas. All the new weapons and such might need some DOAEditor fix where you can modify weapon AP/armor AC via the editor. Its a pain in the behind to do it manually.
May 30, 2013 at 2:34 am #40422MiDKnighT
ModeratorQuote:All this new stuff (and fragments of stuff) is making it hard to test the game cohesively >_>Hang on…there will be more stuff coming. With lud active I'm inspired again. The tactic expansion thing is a beast. Probably the biggest enhancement I've attempted since duel.
Quote:Good stuff though and good ideas. All the new weapons and such might need some DOAEditor fix where you can modify weapon AP/armor AC via the editor. Its a pain in the behind to do it manually.Gotta find someone to work on DoaEditor it seems. Do you know C? :wink:
Actually I should really learn C. It would help with my job. (Mostly) learning 6502 assembly was hard enough though and I've still got more enhancements I want to get in.
Speaking of which. Lud would it be ok if I added another little subroutine to your latest thing? I'm itching to use the new attributes and was thinking I could use POL to help determine the drop rate. Currently you have "Default drop chance is 8/128, or 1 in 16.". What if we took POL of the party leader and LSR'd it 4-5x or so to come up with that number. Here's what the subroutine would do:
Is POL set?
If not use "8".
If yes take POL of the party leader and LSR it 4-5x and use that to determine the frequency of drops.
What say you? Then if your fishing for goodies you can put someone with high POL as your party leader.
If you are ok with the idea I can code it.
May 30, 2013 at 2:51 am #40423ludmeister
ParticipantQuote:Speaking of which. Lud would it be ok if I added another little subroutine to your latest thing?Nice! That's perfectly fine. I like your ideas for new attributes. I'm actually very interested to see what you have cooking. Just how much work are you looking at? 8O
When all else fails... manipulate the source code.
May 30, 2013 at 3:41 am #40424MiDKnighT
ModeratorQuote:Nice! That's perfectly fine. I like your ideas for new attributes.Done. Added the "20 50 A6" subroutine to pull the POL from the party leader and use it for determining drop frequency.
0x7A530:
Code:A200A9009D05629DAF60E8E006D0F560
00000000000000A90E2082C44C50A5EA
2082C400000000000000000000000000
2020A52050A6A2021E0005387E0005CA
10F6A5AD65604A65AF6510297FC56E30
05A90E4C40A565AE4A6561651165AD29
0F856EAD3670AACA8A29070A0A0A0A65
6E856EEAEAEAA5AE6552651165626563
297FC9153010A56EA8B9D0A5856EA900
856F4C37A5EAA56EA8B950A6856EA900
856F4C37A5EA00000000000000000000
31313131313131313132303030282B2C
313131313131323232303030282B2C38
323232323232323330303028282B2C38
323232333333303028282B2B2C2C3838
32333333333330302828282B2C2C3838
33333333333334303028282B2C2C3838
34343434343434303028282B2C2C3838
343434343434302128282B2B2C2C3838
AD9060AABD2064C900D005A908856E60
4A4A4A4A856E60000000000000000000The stuff to pull POL is in the last 2 lines.
Quote:I'm actually very interested to see what you have cooking. Just how much work are you looking at?I'm gonna take implementation of the new attributes slowly but if I see a good use for one of them (like this one) I'll throw it in. The other one of yours that looks interesting is base AC. I think you should use VIT instead of (or with) STR for helping to determine base AC.
May 30, 2013 at 4:55 am #40425ludmeister
ParticipantFixed a small bug… it's the notorious mysterious "Smite Guo Si" bug. You know the one… if you were to cancel the leader's move in battle, it overwrote $6312 with "00". This has the effect of killing Guo Si and removing him from the game.
Here's the fix:
0x3ae2b:
Code:"A678 A900 9D1362" -> "A91E 2082C4 EAEA"0x7ae2b:
Code:a90e 2082c4 a678 e0ff d002 a200 a900 9d1362 4c1baeEffectively, this subroutine was zeroing out something concerning officer orders. It is officer before the one that canceled that is affected by this subroutine. Of course, when we cancel the leader's orders, we zero out the value corresponding to the member who goes before him in battle… and that means "ff" gets added to the pointer where party orders get stored ($6213). So "00" is placed in $6312, which happens to be the status byte for poor old Guo Si. You just toasted him.
The new subroutine checks for the "ff" value, and puts a "00" in there instead, thus saving Guo Si's life. I'd say he owes me now :cactuar:
When all else fails... manipulate the source code.
May 30, 2013 at 5:36 am #40426ludmeister
ParticipantI also found where the Gemsword is found, in Wang Yun's safe. (19 is Gemsword's ID)
Code:0E:8BE4:A9 19 LDA #$19This instruction is found at 0x38bf4.
When all else fails... manipulate the source code.
May 30, 2013 at 11:58 am #40427MiDKnighT
ModeratorOh wow, I thought the Iron Ore fix fixed the Guo Si thing. I had no idea he was still getting wiped out.
May 30, 2013 at 12:06 pm #40428DragonAtma
ModeratorI could've sworn meteorstrike fixed the guo si bug.
Maybe it was unfixed and refixed; in any case, he's noi longer getting struck dead for trivial reasons, which is good.
May 30, 2013 at 1:03 pm #40429ludmeister
ParticipantHe may very well have. I may not have put in the proper fix in my mod. But I did apply the 2 IPS patches, and on a whim decided to check Guo Si's status, and to my surprise he was still dying.
When all else fails... manipulate the source code.
May 30, 2013 at 1:20 pm #40430MiDKnighT
ModeratorInteresting. Glad to have it finally fixed at least. Did you apply the latest IPS patch 1.3? If so you have the attributes available. Feel free to use them wherever you see fit. Descriptions:
Leadership = This is all about who's the strongest party leader. I envision it would affect things like negate and party level tactics/strategies. (stored in $6400-$640B) Use it just like you would when checking STR, INT, or AGI.
Vitality = Physical and tactic defense. (stored in $6410-$641B)
POL = You could also name this charm, charisma, or loyalty. I envision it being used for recruitment, collecting winnings after battle, etc… (stored in $6420-$642B)
The more we use the new attributes, the more powerful they become. Of course they have a long way to go to catch up with STR, INT, and AGI.
-
AuthorPosts
- You must be logged in to reply to this topic.

