Home › Forums › Destiny of an Emperor › DoaE game-editing question!
- This topic has 47 replies, 7 voices, and was last updated 14 years, 5 months ago by
Jiang Wei.
-
AuthorPosts
-
November 16, 2011 at 2:42 pm #38610
DragonAtma
ModeratorOkay, let's see if I can explain this properly. We have this info:
80 – Huang Zhong leveling (0x37560-0x37564) (starts with 100 soldiers)
85 – Ma Chao leveling (0x37565-0x37569) (starts with 100 soldiers)
8A – Guan Yu leveling (starts with 100 soldiers)
8F – Zhao Yun leveling (starts with 100 soldiers)
94 – Zhang Fei leveling (starts with 100 soldiers)
So, if possible, I'd like it to set Huang Zhong to start with 128 (80 hex) soldiers at level 1, Ma Chao with 133 (85 hex) soldiers, Guan Yu with 138 (8A hex) soldiers, Zhao Yun with 143 (8F hex) soldiers, Zhang Fei with 148 (94 hex) soldiers, and so on.
November 16, 2011 at 2:50 pm #38611MiDKnighT
ModeratorOh ok… easy as pie. That actually simplifies the code… Let me test it out.
November 16, 2011 at 2:59 pm #38612ludmeister
ParticipantI think I understand… if I'm not mistaken, at 00:B525, we have the soldier progression ID in Register Y (since we're comparing Y with various values). The accumulator still has the ROM page we just switched to, so that is obsolete data. We could do this, then:
00:B525:98 TYA (Transfer value in Register Y to Accumulator)
00:B526:85 10 STA $0010 = #$00
00:B528:4C 13 B5 JMP $B513
And be done, since the Soldier Progression ID determines how many Soldiers the officer begins with.
When all else fails... manipulate the source code.
November 16, 2011 at 3:01 pm #38613MiDKnighT
ModeratorYes lud… But Y is actually reduced by 80 before that so we'd have to add the 80 back.
November 16, 2011 at 3:04 pm #38614ludmeister
ParticipantOoops… yeessss, we definitely would. Good catch. Too much hex is addlin' me brain :drunk:
When all else fails... manipulate the source code.
November 16, 2011 at 3:17 pm #38615MiDKnighT
ModeratorHere you go Atma, I'm actually leaving the jumps and all that in the same place as before for simplicity:
0x3B4BB: 4C20B500
0x3B4E6: 4C0BB5
0x3B51B: A90D2082C48AA6254CD9B40000A5104CAFB4000000A90D2082C4
0x37510:
8625B950B5AA4C0BB50000A90E2082C44C00B5A90E2082C40000000000000000000000000098697F85104C13B500000000000000000000000000000000000000000000004C13B5
Now put all your level growths at 0x37560. Example:
0x37560: 24241F1F1A222222221A2424241F1A1F2226261A2626241F1A0A…continued…
All I did was replace all the logic that says "if this then 100, this then 150, etc…" with "hey just transfer Y to A, add 80 to it, store it, and wala…"
November 16, 2011 at 4:00 pm #38616DragonAtma
ModeratorThanks; early HP diversity will more than make up for having to redo all the HP progressions!
November 17, 2011 at 3:17 pm #38617DragonAtma
ModeratorOkay, one last (pair of) questions…
We have all of 80~FF available for soldier progressions. What changes do we make to open at least some of the earlier spots to it?
Alternately, what changes do we make if we only want to re-add 40 hex (64 decimal) not 80 (128 decimal)?
November 17, 2011 at 3:25 pm #38618MiDKnighT
ModeratorQuote:We have all of 80~FF available for soldier progressions. What changes do we make to open at least some of the earlier spots to it?It's possible but a bit more difficult. The problem with this though is that the enemies you fight don't use soldier progressions when you fight them so you're taking away enemy soldier counts if you use < 80 for soldier progressions. One idea that lud has used is to have guys share progressions. Example:
80=Huang Zhong leveling (24 24 1F 1F 1A)
85=Ma Chao leveling (22 22 22 22 1A)
If you assigned someone to say…82 they would have "1F 1F 1A 22 22" so that way you can open up more progressions by going in between. If you did this fully you could have around 120 different soldier progressions.
Quote:Alternately, what changes do we make if we only want to re-add 40 hex (64 decimal) not 80 (128 decimal)?So you want less soldiers? In my change before:
8625B950B5AA4C0BB50000A90E2082C44C00B5A90E2082C40000000000000000000000000098697F85104C13B500000000000000000000000000000000000000000000004C13B5
Change the "7F" to some lower number and they will start with less soldiers.
November 17, 2011 at 3:46 pm #38619DragonAtma
ModeratorHmm…. the idea was to give EVERYONE (including enemies) soldier progressions, but have enemy officers gain soldiers slowly (so, say, if the party goes from 1000 soldiers to 2000 soldiers in a chapter, enemies would go from 1200-1400 to 1800-2000). I'll have to redo my plans if even setting them to gain soldiers doesn't do such a thing.
And thanks; I did a search for 80, but didn't find it (because they used 7F instead). Maybe I shouldn't post when I'm so distracted…?
November 17, 2011 at 3:54 pm #38620MiDKnighT
ModeratorQuote:I'll have to redo my plans if even setting them to gain soldiers doesn't do such a thing.Soldier counts for soldier progressions are based on level. Enemies don't really have a 'level' when you fight them so a soldier progression wouldn't work right. Actually I'm not sure what it would do…it might actually depend on YOUR level. If that's the case then leveling up might make things worse for you as you're increasing enemy soldier counts. With all that said I think it is simply better and more stable to give enemies fixed soldier counts for when you fight them.
Quote:because they used 7F insteadActually the 7F was from my code where I'm adding back the 80 (it's 7F because it starts counting with 00 instead of 01).
November 17, 2011 at 10:25 pm #38621sonic.penguin
ModeratorMidknight, just a little favor to ask that is helpful when editing the hex, when you mention an address such as 0x37560 which is level progressions, add the last address that will be edited in the array. IE: 0x37560 – XXXXXXX
I think Ludmeister has done this in some posts and really helps when someone wants to edit something at the END of the array without having to count from the beginning. This was actually really helpful with tactic editing…
November 18, 2011 at 4:29 am #38622DragonAtma
ModeratorHmm… in the vanilla version, Cheng Yuanzhi (set to Huang Zhong leveling) stays at 100 soldiers even as the party levels up. I need to apply the patch, though; hopefully that should fix things.
November 18, 2011 at 1:38 pm #38623MiDKnighT
ModeratorSo soldier growths for bad guys doesn't really work. I didn't think it would. Either that or it would grow every time you leveled up which is also bad. I think it's best to give bad guys fixed soldier counts when you fight them and soldier progressions if they are recruited.
November 18, 2011 at 3:40 pm #38624DragonAtma
ModeratorUnfortunately, I'm afraid I'll have to do that; I've already taken enough of your time examining stuff for the Jin Xuan mod.
-
AuthorPosts
- You must be logged in to reply to this topic.

