Home › Forums › Destiny of an Emperor › DoaE Artificial Intelligence Enhancements + New Tactics
Tagged: Destiny of an Emperor, Destiny of an Emperor hack, Destiny of an Emperor hacking, Destiny of an Emperor Rom, DoaE artificial intelligence, NES AI, NES Artificial Intelligence, NES hacking, ROM Hacking, Yuan Shu
- This topic has 645 replies, 10 voices, and was last updated 4 years, 9 months ago by
MiDKnighT.
-
AuthorPosts
-
July 30, 2012 at 4:41 am #44140
MiDKnighT
ModeratorNo my code is nowhere near the text banks. I think you might be running into Lud's agility based attacks code. We might have to move that to make more room for text.
I'll work on that tomorrow.
July 30, 2012 at 4:41 am #44141MiDKnighT
ModeratorNo my code is nowhere near the text banks. I think you might be running into Lud's agility based attacks code. We might have to move that to make more room for text.
July 30, 2012 at 3:16 pm #44142MiDKnighT
ModeratorOK sonic, I moved Lud's agility based code to give more room for new text:
@ 0x3a1d2-0x3a1f9:
—- a91e 2082 c400 0000 0000 0000 0000
0000 0000 0000 0000 0000 d006 208d ab4c
5aa1 0000 0000 0000 a678 …..
@ 0x7a1d0-0x7a1f9:
0000 0000 0000 004c fb94 0000 0000 0000
0000 0000 00a9 0e20 82c4 0000 0000 0000
0000 00a9 0e20 82c4 0000
@ 0x79500-0x7950f:
0000 0000 0000 0000 0000 00a9 0120 82c4
@ 0x79600-0x7960f:
0000 0000 004c e3a1 0000 0000 004c d5a1
@ 0x5510-0x560f (0x100, or 256 bytes)
BDD061D02AA9409DD061980A0A0AA8B9
00618412A000D9D0B2F010C8C007D0F6
A412C8982907D0E74C2F954C9D95EA4C
0096EAEAEAEAA9008511BDD061A8C040
F017888412A900A03CC61088C510F02D
C000D0F5A4124C3E95A9008512A5AD65
AE6510EA85AD290FA8B9E0B28515205B
C1384C4096EAEA4C8A95EAEAEA4CD795
A44AFED061A9004CF895A8A900C61188
C511F0E9C000D0F54C80950000A5AD65
AE651085AD4CF8950000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
C7CBFFFFFFFFFFEAEAA900A44A4CF095
192633404C5966738099A6B3C0CCE6FF
A91E2082C4000000A91E2082C4000000
A44AB9B4618510A54BC907B007A8AD2D
624C1A96E907A8AD2C62C000F005884A
4C1A962901C901F0034C369546104C36
95000000000000000000000000000000
A44BB9B4618512A54AC907B007A8AD2D
624C5A96E907A8AD2C62C000F005884A
4C5A962901C901F0034C6E964612A512
A00084124C8A95
0x55e0-0x55e6 – Item ID table, these items grant a guaranteed bonus strike
0x55f0-0x55ff – Random % of attacker's AGI
I think that will fix your problem.
July 30, 2012 at 3:42 pm #44143sonic.penguin
ModeratorGreat, I'll try it out asap
July 30, 2012 at 3:58 pm #44144sonic.penguin
Moderatorsomehow it is still messing up attacks
July 30, 2012 at 4:01 pm #44145sonic.penguin
Moderatorgrr, just patch me >_>
July 30, 2012 at 4:06 pm #44146MiDKnighT
ModeratorOK, apply this:
https://www.box.com/s/8c9f476b97231401518a
Then copy and paste this:
0x4010:
A91E2082C4A9019DD061A678BDAA61C9
B4B0034C0080BD0062AC2562C000D003
4C50808AE9050A0A0AAAA008BDD865E8
88C919D008A6789D00624C0080C000D0
EBA678BD00624C008000000000000000
C910B0034C0080C913D00AAC2462C000
F0034CA883C914D00AAC2662C000F003
4CA883C910D00EA8AD22622901C900F0
034CA88398C911D022A8AD22622902C9
00F0034CA883AD2462C900F0034CA883
AD2662C900F0034CA88398C912D0034C
E082C91AD0034C20844C408100000000
A91E2082C4A5F39DE461BDAA61C9B4B0
034CC080BD0062C916D00FA8AD28623D
3081C900F0034CA88398C917D00FA8AD
2A623D3081C900F0034CA88398C918D0
0FA8AD2C623D3081C900F0034CA88398
C91BD00FA8AD2E623D3081C900F0034C
A883984CC08000000000000000000000
01020408100102040810000000000000
C919D017A007A200A9007D2362E8E888
10F8C900F0034CA883A0194C00800000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
E858A80001031B61020202040602080A
01020401010801010102040810010204
08100000000000000000000000000000
A91E2082C4C015D0074C348D00000000
EAEAEAEAEAEAEAEAEAC010D011A9019D
2062A900E8E89D2062E8E89D2062C013
D00EA900CACA9D2062E8E8E8E89D2062
C014D00EA900CACACACA9D2062E8E89D
2062C011D047BD20622901C901D005A9
014CB782E8E8BD2062C900F0034CB582
E8E8BD2062C900F0034CB582CACACACA
A012BD206219D0819D2062A015BD2062
19D0819D2062A011A9604CB0864CD082
A91E2082C4A44DC015D0034C348DEAEA
EAC01AD0034CB083A5AD65AE290FC5F3
90034C95834C9083A9009D20624C9583
C012D0062090904C00854C0082000000
A67820D0888AA8B9A860A01FD9C084F0
0D8810F8EAEABDA861C9DC901C200087
E001D0034CA883C93290034C00804CA8
83A67820D088BDA861C996901C200087
E000D007C91490034C0080E001D007C9
0F90034CA88320E088A67820D088BD9C
6185B020E088C5B0B0034C00804CA883
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
A91E2082C4A91E2082C4000000000000
0000000000000000E6ADA91E2082C400
A44BB9A860A01FD9E084F00E8810F820
A087E001D00BC9149005A01A4C958369
EBE000D00CC97F9002A97E85B0A97FE5
B085B0E000D00FA44BBDA861C9A09006
A5B065B085B020C086C5B09009A00084
B0A01A4C9083A00084B0A01A4C958300
00000000000000000000000000000000
20A087E000D007A91AA6784C0080C90F
90F74CA8830000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
A44BB9A860A01FD9C084F0748810F8EA
A678E005B005A64B4C2385BDE461AABD
9760AABDA861C996B025A678E005B005
A64B4C3D85BDE461AABD9760AABD9C61
85B020E088C5B0B0034C00894C1086C9
DC90034C8085200087E001D007C91490
034C0089E000D007C90F90034C108685
B020E088C5B0B0034C00894C10860000
A000A678E005B002A00598AA20008885
B1BDA860C900F013BD9C60C900F00CA5
B1C5B4900686B284B385B4C8A678E005
B004C00AD0D4E0059004C005D0CCA678
BDE46185B5A54B85B6A5B39DE461A5B2
854B200087E001D0034CEE85A5B59DE4
61A5B6854B4CFB85A5B5C5B3F00AA5B3
857920908E4C00894C1086200087E001
D0F6C93290034C00894C108600000000
20A088C9DC90034C9086A44BB9A860A0
1FD9C084F06A8810F8C905B0034C9086
20EA88C980B0034C9086A96220188FA6
78BDE46185BCA90085BDA57885BEEAEA
18A201A4BCC0059002A200BD2C625930
819D2C62BD2E625930819D2E62A201A4
BEC0059002A200A4BCBD28621930819D
2862EAA96AA6BDE0009002A96B4CB086
20F08720C08F4CB08600000000000000
85B920F38FA200A5B986B960EAEAEAEA
20A0868514A9038515EAEAA91E2082C4
AD7360A00B79A8608810FAA00B79A861
8810FAA44A79A860A44B79A860A47879
A860A00779F8618810FAA00D79226288
10FAA00B799C608810FA600000000000
A678E005B005A64A4C1087E8E8EAEAEA
BD9C618528A678E005B005A64B4C3087
BDE461AABD9760AAEAEAEAEAEAEAEAEA
BD9C618529A528C5299007A200E5294C
4887A201A529E528A000842884296000
A678E005B005A64A4C6087E8E8EAEAEA
BDB4618528A678E005B005A64B4C8087
BDE461AABD9760AAEAEAEAEAEAEAEAEA
BDB4618529A528C5299007A200E5294C
9887A201A529E528A000842884296000
A678E005B005A64A4CB087E8E8EAEAEA
BDA8618528A678E005B005A64B4CD087
BDE461AABD9760AAEAEAEAEAEAEAEAEA
BDA8618529A528C5299007A200E5294C
E887A201A529E528A000842884296000
A900A20E95B0CA10FB60000000000000
E0059005E8E84C1188EAEAEAEABD9760
AABD9C61600000000000000000000000
E0059005E8E84C3188EAEAEAEABD9760
AABDB461600000000000000000000000
E0059005E8E84C5188EAEAEAEABD9760
AABDA861600000000000000000000000
A64BBD9C616000000000000000000000
20408C4CE28900000000000000000000
A64BBDB4616000000000000000000020
508CA678BDE461AA20D088864A4C3B8A
A64BBDA86160000000000000000020D0
88E007B001AA6020D088E00790018A60
4A4A4A60000000000000000000000000
E0059003E8E860BD9760600000000000
20CB86C99BB00269646020608885B020
C386C9649002E964C5B0B002694F6000
20F08720E08F20D08E20908B206091EA
A67820008820C18885BA65BA85BAA678
20208820C08865BA85BAA200A478C005
9002A20520008820C08865BA85BA20C0
8620C08865BA85BAEAEAEAEAEAEAEAEA
A678BDE46185B1AA20008820C18885BB
65BB85BBA6B120208820C08865BB85BB
A200A4B1C0059002A20520008820C088
65BB85BB20C38620C08865BB85BB2091
92EAEAA5BA20308EE000F0034CF08920
008DE5BBC90AB0034C608AC93A90034C
B08D20F08720CB86C955B0044C7088EA
A96C20608F20408DE03DD0034CA58D20
408BA47820A18A20C386A478C955B008
20CE8AA9704CB08620BC8AA96E4CB086
A5BBE5BAC90AB0034C608AC93A90034C
D08D20F08720CB86C955B0054C8F88EA
EAA96D20508FA678A478BDE46185BEAA
20AE88864A98AA857920B788854B2040
8DE03DD0034CA58D20408BA4BE20A18A
20C386A4BEC955B00A20F08720CE8AA9
704CB08620F08720BC8AA96E4CB08600
20C086C9AAB005A9724CB08620F38F20
408DA678A478BDE461AA20D088E03DD0
034CA58D864A98AA857920D088E03DD0
034CA58D854B20F08720408DA9734CB0
86A201C0059002A200BD28623D3A819D
2862BD2A623D3A8A8D2A6260A201C005
9002A200BD2C621930819D2C6260A201
C0059002A200BD2E621930819D2C6260
A5438D4F62A901854320D5C460000000
AD4F628543A9008D4F62600000000000
20E08A200DD1600320F08A6000000000
20E08A200DD1610320F08A20A08E6000
20E08A200DD1620320F08A20A08E6000
20E08A200DD1630320F08A20F38F6000
20E08A200DD1640320F08A20F38F6000
20E08A200DD1650320F08A6000000000
20E08A200DD1660320F08A6000000000
20E08A200DD1670320F08A20C08E6000
20E08A200DD1680320F08A6000000000
20E08A200DD1690320F08A6000000000
20E08A200DD16A0320F08A20A08E6000
20E08A200DD16B0320F08A6000000000
20E08A200DD16C0320F08A6000000000
20E08A200DD16D0320F08A20A08E6000
20E08A200DD16E0320F08A6000000000
20E08A200DD16F0320F08A20A08E6000
20E08A200DD1700320F08A6000000000
20E08A200DD1710320F08A20A08E6000
20E08A200DD1720320F08A6000000000
20E08A200DD1730320F08A6000000000
20E08A200DD1740320F08A6000000000
20E08A200DD1750320F08A6000000000
20E08A200DD1760320F08A20A08E6000
20E08A200DD1770320F08A20A08E6000
20E08A200DD1780320F08A6000000000
20E08A200DD1790320F08A6000000000
20E08A200DD17A0320F08A6000000000
20E08A200DD17B0320F08A6000000000
20E08A200DD17C0320F08A6000000000
20E08A200DD17D0320F08A6000000000
20E08A200DD17E0320F08A6000000000
20E08A200DD17F0320F08A6000000000
85B8A678BDE4618579A5B86000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000A900A6789DD061A90E2082C4
A01A844DA44BA900999C60980A0AAAA9
009DD0609DD1602057E32057E2A679BD
0605297F9D0605A90485792036DFB99C
60300BC67910F4A901857A4C37A3A004
B9A36030138810F8A900857AA675E03D
D0034CA08D60EAEA203BDFA012844D60
A91E2082C4A91E2082C4000000000000
20C386C955B0034CC089C9AAB0034C00
8E20608BA67986BCA67886BE4C508600
20C386C955B0034C118AC9AAB0034C50
8E20508BA67886BC20B788854BA67986
BE4C5086EAEAEAEAEA00000000000000
A96C20608F20408DE03DD0034CA58DA5
7985B1A54B85B220B0904CDA89000000
00000000000000000000000000000000
A20086BDA5BAC5BBB009A20186BDA5BB
E5BA60E5BB6000000000000000000000
A96D20508FA678A478BDE46185BEAA20
AE88864A98AA857920B788854B20408D
E03DD0034CA58DA57885B1A54B85B220
B0904C3B8A0000000000000000000000
A5B6854A20AC8E20708B600000000000
A54B85B3A54A854BA5B3854AA54385B6
A901854320B08F2096CFA5B685436000
A67820D088E007B003854A60864A6000
A5AD65AE20D386C933B00920A08E2010
8B4C118FC966B00920A08E20A08B4C11
8FC999B00920A08E20D08B4C118FC9CC
B00920A08E20F08B4C118F20A08E2010
8C60000000000000A5AD65AE20D38685
B0C955B017200087E000D00920A08E20
208B4C4F8FA5B0EAEAEAEAEAC9AAB009
20A08E20608C4C4F8F20A08E20708C60
20A08E20608F20A08E20F38F60000000
A5AD20CB86C92AB00620C08B4C9A8FC9
54B00620808C4C9A8FC97EB00620908C
4C9A8FC9A8B00620A08C4C9A8FC9D2B0
0620B08C4C9A8F20C08C600000000000
00000000000000000000000000000000
A200A54AC9079002A201867A60000000
20A08EA5AD65AE20D386C955B005A962
4CDE8FC9AAB005A9764CDE8FA9776060
A97085BCA57885B5201090A57985B520
109060A57330FBA94085BFA57885B520
2990A57985B520299060EAEAEAEAEA60
A57330FBA4BCA902A6B5E005901E84F3
A9F0E5F3A8A9FED013A4BFA9FEA6B5E0
05900984F3A9F0E5F3A8A902A6B58512
86138414BD060529FB9D0605A613BD56
05C514F0181865129D5605BDA6056909
9DA605A573300320E2C04C4C90A57330
08BD060509049D060560000000000000
00000000000000000000000000000000
A5AD65AE20CB86C955B00620D08C4CAE
90C9AAB00620E08C4CAE9020F08C6000
A5B4C9DDF036A4B2B9A860A03FD98084
F00D8810F8A6B1200088C9DC90034C48
91A6B1202088C9DC90034C4891A6B120
4088C9DC90034C4891EAEAEA20F38FEA
EAEAEA20808BA6B2BDA860AAA9009D00
63A200BD9060C5B2F006E8E007D0F48A
86B0A906E5B0A8A6B2E007B01DA8A6B0
E8BD9060CA9D9060E88810F4A9FFA206
9D9060A6B1A9A39D9760A6B2E0079005
A9009DA860600000A5B2854B20408B60
00000000000000000000000000000000
A91FA64ABDA860D94084D012A64BBDA8
60D96084D0034C8491A64ABDA8608810
E14C9091A9DD85B44C008E0000000000
A01FA64BBDA860D94084D012A64ABDA8
60D96084D0034CB491A64BBDA8608810
E160EAEAA9DD85B44C508E0000000000
0x5290:
A678BDE4618579600000000000000000
60A57330FB20809420308EE000F00320
D093E000D00320A99320909420F38F60
0000000000000000000020A094A000A6
B8B92A623D3081D00BBD0062D006B926
62F00160A6B8EAEAEAEAEA2036DF844B
B99C603006EAEAEA4CD492A6B8BDD061
C901D004A900857CEAA4B9B905948D45
05B92994A280300AB90F94C4B8D003B9
33948D5505A9008512A67CA900A000F0
02A902E0E19002690020D5C4A5124AB0
12A4B9B906054980990605AD05054980
8D0505ADA50569098DA505A900F032A5
124AB02DA28030034AB0262903A8B919
9485FCB91D9485FDA20FBD4005187921
AD9D4005BD5005187925AD9D5005CA10
E92057E3E612A512A2803006C920D09C
F004C910D096A9008D05052057E3EAEA
EAA900D00820C09460C93A900720BA92
20BA9260C90A900A20409420BA9220BA
92602040942040942040942040946000
A67886B9A67986B8C93A900720BA9220
BA9260C90A900A20BA9220609420BA92
60206094206094206094206094600000
00000000600F273F576F0F273F576F40
40404040B0B0B0B0B000EDED00030300
00000300FDFD00030074747474748080
8080805050505050A0A0A0A0A0000000
20BA92A67886B9A67986B820BA92A679
86B9A67886B860000000000000000000
20BA92A67986B9A67886B820BA92A678
86B9A67986B860000000000000000000
A67886B886B6A67986B986B760000000
A6B68678A6B786796000000000000000
A97485BCA97085BFA57885B5201090A5
7985B520109060000000000000000000
A57885B520D094A57985B520D0946000
A57330FB202990A97085BF6000000000
July 30, 2012 at 4:09 pm #44147MiDKnighT
ModeratorOh and don't forget to back up your lists if you are using them:
4450-446F (mismatch list – winner)
4470-448F (mismatch list – loser)
4490-44CF = no kill list
44D0-44EF = rare duel list (for rulers mainly)
44F0-450F = bigger no an sha list
July 30, 2012 at 4:09 pm #44148MiDKnighT
ModeratorOh and don't forget to back up your lists if you are using them:
4450-446F (mismatch list – winner)
4470-448F (mismatch list – loser)
4490-44CF = no kill list
44D0-44EF = rare duel list (for rulers mainly)
44F0-450F = bigger no an sha list
July 30, 2012 at 6:31 pm #44149sonic.penguin
ModeratorIm still getting a bunch of garbled stuff in the first text box below "Shall I record
the result of today's Battles?[END]". Should I erase it still? I might just leave your text there and just move on editing until I discover the problem. I might just be how DOAEditor is writing it.
July 30, 2012 at 6:44 pm #44150MiDKnighT
ModeratorDid you do this?
To get it to work with DoaEditor:
1. Open your ROM with DoaEditor and painful click through all the key errors.
2. Go to the text tab and go to the bottom.
3. Look for text above and below the "Duel" text and fix it. In mine the one above the duel text had a bazillion lines. Simply change it to say:
open slot[END]
4. Save your ROM with DoaEditor.
July 30, 2012 at 7:30 pm #44151sonic.penguin
ModeratorYeah, did that, still getting issues whenever I edit the text though, so I'm just gonna shelve my adjustments for now and wait on the Guard fix!
July 30, 2012 at 7:54 pm #44152MiDKnighT
ModeratorI've got level based tactic damage working! Here's Lian Huo at level 48:


I'm using current party level at $6073 to figure out current level for allies. For enemies their "highest tactic potential" isn't stored in memory so I'm taking their AC and making it a number close to AC divided by 4. That means AC 200 = level 50 enemy. AC 20 = level 5 enemy, AC 45 = level 11 enemy. Etc…
I haven't tested the other damage tactics that much yet but here's what my formula is doing to Lian Huo by level. There are some levels where it will jump up a bit.
Level Final Damage Potential
0 60
1 64
2 68
3 72
4 76
5 80
6 84
7 88
8 92
9 96
10 100
11 104
12 108
13 112
14 116
15 120
16 380
17 384
18 388
19 392
20 396
21 400
22 404
23 408
24 412
25 416
26 420
27 424
28 428
29 432
30 436
31 440
32 700
33 704
34 708
35 712
36 716
37 720
38 724
39 728
40 732
41 736
42 740
43 744
44 748
45 752
46 756
47 760
48 1020
49 1220
50 1224
51 1228
July 30, 2012 at 8:19 pm #44153MiDKnighT
ModeratorA quick test with Huo Shen showed it going from its normal damage potential of 2000 to 2960 at level 48 so it doesn't get too crazy with the higher powered tactics. Essentially the formula is…
Take the two values for damage potential… (For Huo Shen it is: 07 d0 ). For the last (small) number I take the current level and ASL ASL it which essentially multiplies the current level by 4. I then add that to the "small value". If the small value goes over FF, I add one more to the big value. For the big value I take the current level and LSR LSR LSR LSR it which basically divides it by 16 then add it to the existing number.
If anyone has a better formula (in assembly) let me know.
July 30, 2012 at 9:18 pm #44154DragonAtma
ModeratorDude. Use Lud's refined soldiers-based formula.
Take the formula's number (1.03 at 1 soldier, 4.13 at 100 soldiers, 14.81 at 1000 soldiers, 48.77 at 10,000 soldiers, and 103 at 65,535 soldiers), multiply by the skill power (my recommendation? 10, 15, 30, 60, 120), and multiply THAT by (Int/256).
As a bonus, it's affected by current HP (how can you light an apocalyptic fire if your army of 10,000 is down to 200 soldiers?), and enemy HP is built in automatically instead of guessing their level.
-
AuthorPosts
- You must be logged in to reply to this topic.

