Daemonjax Posted April 9, 2015 Posted April 9, 2015 (edited) For version 1.03.530: I found the hexcode change for modifying the experience requirement per level formula. 1. Go to your game folder: ...\Pillars of Eternity\PillarsOfEternity_Data\Managed 2. make a backup copy of Assembly-CSharp.dll 3. open the original Assembly-CSharp.dll in your favorite hex editor (I like HxD found here: http://mh-nexus.de/e...hp?product=HxD) 4. Search for the following hex code: 07 6F F2 02 00 0A 26 38 0D 00 00 00 02 7B 0C 05 00 04 07 09 6F F3 02 00 0A 12 02 28 F4 02 00 0A 3A B1 FF FF FF DD 0C 00 00 00 08 8C 7F 00 00 1B 6F 1A 00 00 0A DC 2A 00 41 1C 00 00 02 00 00 00 29 00 00 00 59 00 00 00 82 00 00 00 0C 00 00 00 00 00 00 00 32 02 02 17 58 5A 20 F4 01 00 00 5A 2A 00 00 00 32 02 17 59 02 5A 20 5. The hex code immediately following the above should look like: F4 01 00 00 5A 2A 00 00 00 13 30 07 00 14 00 00 00 48 00 00 11 02 6F 12 00 00 2B 0A 06 6F 58 07 00 06 03 28 08 00 00 0A 2A 13 30 07 00 27 00 00 00 00 00 00 00 02 28 04 00 00 0A 39 0C 00 00 00 02 6F 0C 00 00 0A 28 DC 06 00 06 2A 72 B9 1F 00 70 28 42 00 00 0A 72 A1 1F 00 70 2A 00 13 30 0D 00 45 00 00 00 Note1: You're only interested in changing the underlined hex code above. Note2: Alternatively, you can search for and find the FOURTH instance of F4 01 00 00 (starting from the top of the file). Note3: This is at hex location 2D88B for me. 6. Change the F4 01 00 00 (which is a little-endian 32-bit integer for 500) to whatever you want (use a programming calculator -- the one that comes with windows works fine for this) For example, changing it to E8 03 00 00 (which is the little-endian integer 1000) will double the xp required per level. 7. Save your changes (obviously). Notes: 1) I use IE mod, which replaces Assembly-CSharp.dll, so this may or may not work for you if not using the IE mod. 2) I'm on Windows, so this may or may not work for you on linux and/or mac. 3) The change isn't retro-active -- it only affects experience needed for your next level. A full restart would be required if you want to see how this affects gameplay. 4) XP formula is: ((currentLevel * (currentLevel + 1)) * 500) Edited April 9, 2015 by Daemonjax 4
Matt516 Posted April 9, 2015 Posted April 9, 2015 At all possible to change the formula, or just that modifier?
Daemonjax Posted April 9, 2015 Author Posted April 9, 2015 (edited) Anything is possible, it's just a lot more work to change the formula drastically. That one modifier is a multiplier, so it's pretty powerful: For example, if you wanted to decrease exp gain by 25%, you would use the integer value 666 (9A 02 00 00). Then, instead of needing 1000 exp for level 2, you'd need 1332. While that's a 33.2% increase in the amount needed, it's the same as a 24.9% decrease in experience received. Edited April 9, 2015 by Daemonjax 1
Bersercker Posted April 9, 2015 Posted April 9, 2015 (edited) Hm so i changed 07 6F F2 02 00 0A 26 38 0D 00 00 00 02 7B 0C 05 00 04 07 09 6F F3 02 00 0A 12 02 28 F4 02 00 0A 3A B1 FF FF FF DD 0C 00 00 00 08 8C 7F 00 00 1B 6F 1A 00 00 0A DC 2A 00 41 1C 00 00 02 00 00 00 29 00 00 00 59 00 00 00 82 00 00 00 0C 00 00 00 00 00 00 00 32 02 02 17 58 5A 20 F4 01 00 00 5A 2A 00 00 00 32 02 17 59 02 5A 20 F4 01 00 00 5A 2A 00 00 00 13 30 07 00 14 00 00 00 48 00 00 11 02 6F 12 00 00 2B 0A 06 6F 58 07 00 06 03 28 08 00 00 0A 2A 13 30 07 00 27 00 00 00 00 00 00 00 02 28 04 00 00 0A 39 0C 00 00 00 02 6F 0C 00 00 0A 28 DC 06 00 06 2A 72 B9 1F 00 70 28 42 00 00 0A 72 A1 1F 00 70 2A 00 13 30 0D 00 45 00 00 00 into 07 6F F2 02 00 0A 26 38 0D 00 00 00 02 7B 0C 05 00 04 07 09 6F F3 02 00 0A 12 02 28 F4 02 00 0A 3A B1 FF FF FF DD 0C 00 00 00 08 8C 7F 00 00 1B 6F 1A 00 00 0A DC 2A 00 41 1C 00 00 02 00 00 00 29 00 00 00 59 00 00 00 82 00 00 00 0C 00 00 00 00 00 00 00 32 02 02 17 58 5A 20 F4 01 00 00 5A 2A 00 00 00 32 02 17 59 02 5A 20 E8 03 00 00 5A 2A 00 00 00 13 30 07 00 14 00 00 00 48 00 00 11 02 6F 12 00 00 2B 0A 06 6F 58 07 00 06 03 28 08 00 00 0A 2A 13 30 07 00 27 00 00 00 00 00 00 00 02 28 04 00 00 0A 39 0C 00 00 00 02 6F 0C 00 00 0A 28 DC 06 00 06 2A 72 B9 1F 00 70 28 42 00 00 0A 72 A1 1F 00 70 2A 00 13 30 0D 00 45 00 00 00 Tested it with a save just before "old levelup", and it changed the number in the UI. But when i got enough xp for an "old lvlup" it gave me new level. Was like 14907/30000 (old level 6, requires 15000, new level 6 requires 30000) and after i leveld up it became 15100/42000(new level 7 requires 42000). I thought might as well change the previous F4 01 00 00 (dunno where i got that idea). Strangely enough after i did it and loaded the same save it didn't give me a levelup at 15100 xp. So i had: 07 6F F2 02 00 0A 26 38 0D 00 00 00 02 7B 0C 05 00 04 07 09 6F F3 02 00 0A 12 02 28 F4 02 00 0A 3A B1 FF FF FF DD 0C 00 00 00 08 8C 7F 00 00 1B 6F 1A 00 00 0A DC 2A 00 41 1C 00 00 02 00 00 00 29 00 00 00 59 00 00 00 82 00 00 00 0C 00 00 00 00 00 00 00 32 02 02 17 58 5A 20 E8 03 00 00 5A 2A 00 00 00 32 02 17 59 02 5A 20 E8 03 00 00 5A 2A 00 00 00 13 30 07 00 14 00 00 00 48 00 00 11 02 6F 12 00 00 2B 0A 06 6F 58 07 00 06 03 28 08 00 00 0A 2A 13 30 07 00 27 00 00 00 00 00 00 00 02 28 04 00 00 0A 39 0C 00 00 00 02 6F 0C 00 00 0A 28 DC 06 00 06 2A 72 B9 1F 00 70 28 42 00 00 0A 72 A1 1F 00 70 2A 00 13 30 0D 00 45 00 00 00 Decided to test it further and changed the second E8 03 00 00 back into F4 01 00 00: 07 6F F2 02 00 0A 26 38 0D 00 00 00 02 7B 0C 05 00 04 07 09 6F F3 02 00 0A 12 02 28 F4 02 00 0A 3A B1 FF FF FF DD 0C 00 00 00 08 8C 7F 00 00 1B 6F 1A 00 00 0A DC 2A 00 41 1C 00 00 02 00 00 00 29 00 00 00 59 00 00 00 82 00 00 00 0C 00 00 00 00 00 00 00 32 02 02 17 58 5A 20 E8 03 00 00 5A 2A 00 00 00 32 02 17 59 02 5A 20 F4 01 00 00 5A 2A 00 00 00 13 30 07 00 14 00 00 00 48 00 00 11 02 6F 12 00 00 2B 0A 06 6F 58 07 00 06 03 28 08 00 00 0A 2A 13 30 07 00 27 00 00 00 00 00 00 00 02 28 04 00 00 0A 39 0C 00 00 00 02 6F 0C 00 00 0A 28 DC 06 00 06 2A 72 B9 1F 00 70 28 42 00 00 0A 72 A1 1F 00 70 2A 00 13 30 0D 00 45 00 00 00 Loaded the save. UI displayed 14907/15000 before i've got some exp, and 15100/15000 after without giving me the levelup. So it appears that first F4 01 00 00 is for actual levelups and second is for the UI. Which imo would be kinda strange... Can you doublecheck? Maybe there are two similar methods in there? Might as well be third somewhere (unlikely but still). There are only two "F4 01 00 00 5A" though (i think 5A has something to do with closing bracket for some reason xD). Edited April 9, 2015 by Bersercker
Daemonjax Posted April 10, 2015 Author Posted April 10, 2015 (edited) Can you doublecheck? Yeah, I was just about to start a new playthrough. I'll verify. 5A should be an edx register pop in assembly. EDIT: You're right, both instances near to each other need to match: 07 6F F2 02 00 0A 26 38 0D 00 00 00 02 7B 0C 05 00 04 07 09 6F F3 02 00 0A 12 02 28 F4 02 00 0A 3A B1 FF FF FF DD 0C 00 00 00 08 8C 7F 00 00 1B 6F 1A 00 00 0A DC 2A 00 41 1C 00 00 02 00 00 00 29 00 00 00 59 00 00 00 82 00 00 00 0C 00 00 00 00 00 00 00 32 02 02 17 58 5A 20 F4 01 00 00 5A 2A 00 00 00 32 02 17 59 02 5A 20 F4 01 00 00 5A 2A 00 00 00 13 30 07 00 14 00 00 00 48 00 00 11 02 6F 12 00 00 2B 0A 06 6F 58 07 00 06 03 28 08 00 00 0A 2A 13 30 07 00 27 00 00 00 00 00 00 00 02 28 04 00 00 0A 39 0C 00 00 00 02 6F 0C 00 00 0A 28 DC 06 00 06 2A 72 B9 1F 00 70 28 42 00 00 0A 72 A1 1F 00 70 2A 00 13 30 0D 00 45 00 00 00 One's for the GUI and the other is the actual game logic. That is odd. Well, maybe not too odd. I can imagine a function that contains both the code for gui and game logic and updates them separately because reasons. Whatever you write in a high level language can look kinda odd in assembly because the compiler just does whatever the hell it wants. Hand-written assembly code usually looks very different from machine compiled code. I haven't disassembled the dll or anything to look at the assembly code. I'm not good enough at assembly to make much sense of it in hex, so I can't really say why it is the way it is. While I can dissassemble it and look at the asm and its machine code in hex side-by-side, I'd rather not because I'd have to install visual studio and that takes forever and a day. Too bad I can't edit the original post in these forums. Edited April 10, 2015 by Daemonjax
Valsuelm Posted April 10, 2015 Posted April 10, 2015 (edited) Notes: 1) I use IE mod, which replaces Assembly-CSharp.dll, so this may or may not work for you if not using the IE mod. Yea... the string you suggest looking for is not in the unadulterated Assembly-CSharp.dll file. Alas. How did you go about finding this value so perhaps I can find it in the unadulterated Assembly-CSharp.dll file? Thanks for your efforts. Edited April 10, 2015 by Valsuelm
Daemonjax Posted April 11, 2015 Author Posted April 11, 2015 Notes: 1) I use IE mod, which replaces Assembly-CSharp.dll, so this may or may not work for you if not using the IE mod. Yea... the string you suggest looking for is not in the unadulterated Assembly-CSharp.dll file. Alas. How did you go about finding this value so perhaps I can find it in the unadulterated Assembly-CSharp.dll file? Thanks for your efforts. You can just search for instances of F4 01 00 00 in a hex editor, and change them until it works. I'd really just suggest using the ie mod. Not using it would be similar to playing skyrim without the ui mod.
Daemonjax Posted April 11, 2015 Author Posted April 11, 2015 Hex changes in ie mod 4.10 underlined: 0A 12 02 28 F4 02 00 0A 3A B1 FF FF FF DD 0C 00 00 00 08 8C 7F 00 00 1B 6F 1A 00 00 0A DC 2A 00 41 1C 00 00 02 00 00 00 29 00 00 00 59 00 00 00 82 00 00 00 0C 00 00 00 00 00 00 00 32 02 02 17 58 5A 20 F4 01 00 00 5A 2A 00 00 00 32 02 17 59 02 5A 20 F4 01 00 00 5A 2A 00 00 00 13 30 07 00 14 00 00 00 48 00 00 11 02 6F 12 00 00 2B 0A 06 6F 58 07 00 06 03 28 08 00 00 0A 2A 13 30 07 00 27 00 00 00 00 00 00 00 02 28 04 00 00 0A 39 0C 00 00 00 02 6F 0C 00 00 0A 28 DC 06 00 06 2A 72 ... at hex locations 2D873 and 2D883.
Bersercker Posted April 11, 2015 Posted April 11, 2015 Notes: 1) I use IE mod, which replaces Assembly-CSharp.dll, so this may or may not work for you if not using the IE mod. Yea... the string you suggest looking for is not in the unadulterated Assembly-CSharp.dll file. Alas. How did you go about finding this value so perhaps I can find it in the unadulterated Assembly-CSharp.dll file? Thanks for your efforts. I just searched for F4 01 00 00 in original file and compared a bit of symbols around them. It was 3rd and 4th instance like Daemonjax said. Or search for F4 01 00 00 5A 2A, there is only two of them afaik, the ones that need changed. Uploaded it here for use in other forum: http://www.multiupfile.com/f/31ec184f (v1.0.3.0530 without ie mod double xp requirements) 1
Valsuelm Posted April 11, 2015 Posted April 11, 2015 (edited) Notes: 1) I use IE mod, which replaces Assembly-CSharp.dll, so this may or may not work for you if not using the IE mod. Yea... the string you suggest looking for is not in the unadulterated Assembly-CSharp.dll file. Alas. How did you go about finding this value so perhaps I can find it in the unadulterated Assembly-CSharp.dll file? Thanks for your efforts. I just searched for F4 01 00 00 in original file and compared a bit of symbols around them. It was 3rd and 4th instance like Daemonjax said. Or search for F4 01 00 00 5A 2A, there is only two of them afaik, the ones that need changed. Uploaded it here for use in other forum: http://www.multiupfile.com/f/31ec184f (v1.0.3.0530 without ie mod double xp requirements) Thanks. I'm thinking double might be a bit much, though maybe not? Are we even sure there's that much XP in the game? Ideally imo we'd hit 12th level not long before the last boss. I wouldn't want to make the requirements so high I'd never see max level. Perhaps +50% XP requirements? Anyone have a good guess based on experience how much the XP requirement can be buffed without making it so high one would never achieve 12th level before the end of the game? Edited April 11, 2015 by Valsuelm
Daemonjax Posted April 11, 2015 Author Posted April 11, 2015 (edited) Perhaps +50% XP requirements? Anyone have a good guess based on experience how much the XP requirement can be buffed without making it so high one would never achieve 12th level before the end of the game? +50% XP requirements would be: EE 02 00 00 and is what I use personally. Edited April 11, 2015 by Daemonjax 1
BRMK Posted April 11, 2015 Posted April 11, 2015 Notes: 1) I use IE mod, which replaces Assembly-CSharp.dll, so this may or may not work for you if not using the IE mod. Yea... the string you suggest looking for is not in the unadulterated Assembly-CSharp.dll file. Alas. How did you go about finding this value so perhaps I can find it in the unadulterated Assembly-CSharp.dll file? Thanks for your efforts. I just searched for F4 01 00 00 in original file and compared a bit of symbols around them. It was 3rd and 4th instance like Daemonjax said. Or search for F4 01 00 00 5A 2A, there is only two of them afaik, the ones that need changed. Uploaded it here for use in other forum: http://www.multiupfile.com/f/31ec184f (v1.0.3.0530 without ie mod double xp requirements) why is the file a exe ?
BRMK Posted April 11, 2015 Posted April 11, 2015 (edited) forget it i just used a other link Edited April 11, 2015 by BRMK
Bersercker Posted April 11, 2015 Posted April 11, 2015 Thanks. I'm thinking double might be a bit much, though maybe not? Are we even sure there's that much XP in the game? Ideally imo we'd hit 12th level not long before the last boss. I wouldn't want to make the requirements so high I'd never see max level. Perhaps +50% XP requirements? Anyone have a good guess based on experience how much the XP requirement can be buffed without making it so high one would never achieve 12th level before the end of the game? Yea, double xp may be too much. Certainly too much for the 1st act. But i don't mind if i finish the game at 10-11th level, at least the battles are more challenging. Even had to use summoning artifacts and potions a couple of times. why is the file a exe ? Hm, i guess better not use the sites that give exe instead of dll.
AlphaMagnum Posted April 12, 2015 Posted April 12, 2015 Modded my dll to increase required exp by 50%. Now I can be a completionist guilt-free. This had the added bonus of making the early game somewhat more challenging, since my party is still level 2 and now heading to take care of The Smith's Shipment and A Mother's Plea. I'll be just level 3 as I begin the more challenging sidequests of Act 1 (Lord of a Barren Land and Buried Secrets), which will hopefully be fun as well. The ultimate goal, of course, is making Act II a bit tougher since many players seem to arrive at that point quite overleveled. 1
Daemonjax Posted April 12, 2015 Author Posted April 12, 2015 (edited) Modded my dll to increase required exp by 50%. Now I can be a completionist guilt-free. This had the added bonus of making the early game somewhat more challenging, since my party is still level 2 and now heading to take care of The Smith's Shipment and A Mother's Plea. I'll be just level 3 as I begin the more challenging sidequests of Act 1 (Lord of a Barren Land and Buried Secrets), which will hopefully be fun as well. The ultimate goal, of course, is making Act II a bit tougher since many players seem to arrive at that point quite overleveled. Yeah, +50% exp requirement is feeling about right to me so far as well. It makes rushing through caed nua significantly harder... dropped my win ratio for some of the harder battles to like 33%, so I reloaded a previous save and I'm doing some side-quests first ::shock:: -- WHICH IS HOW IT SHOULD BE. Edited April 12, 2015 by Daemonjax 2
AlphaMagnum Posted April 13, 2015 Posted April 13, 2015 Yup. I'm getting absolutely slaughtered in Lord of a Barren Land at lv3 with 5 party members. I basically have to get some cheesy trap setup if I want to stand any chance at victory.
Atheosis Posted April 13, 2015 Posted April 13, 2015 Someone should just upload a +50% xp required mod to nexus. I don't feel like messing with files and hex code myself.
Daemonjax Posted April 13, 2015 Author Posted April 13, 2015 Someone should just upload a +50% xp required mod to nexus. I don't feel like messing with files and hex code myself. Here's mine for +50% exp req if using IE mod 4.10 (windows): https://dl.dropboxusercontent.com/u/32777109/Games/Pillars%20of%20Eternity/Assembly-CSharp.dll 1
View619 Posted April 13, 2015 Posted April 13, 2015 Modded my dll to increase required exp by 50%. Now I can be a completionist guilt-free. This had the added bonus of making the early game somewhat more challenging, since my party is still level 2 and now heading to take care of The Smith's Shipment and A Mother's Plea. I'll be just level 3 as I begin the more challenging sidequests of Act 1 (Lord of a Barren Land and Buried Secrets), which will hopefully be fun as well. The ultimate goal, of course, is making Act II a bit tougher since many players seem to arrive at that point quite overleveled. Yeah, +50% exp requirement is feeling about right to me so far as well. It makes rushing through caed nua significantly harder... dropped my win ratio for some of the harder battles to like 33%, so I reloaded a previous save and I'm doing some side-quests first ::shock:: -- WHICH IS HOW IT SHOULD BE. Great news, happy to see it's making such a huge difference. I'll probably try it out myself. Are you playing on Hard or POTD?
Daemonjax Posted April 13, 2015 Author Posted April 13, 2015 (edited) Modded my dll to increase required exp by 50%. Now I can be a completionist guilt-free. This had the added bonus of making the early game somewhat more challenging, since my party is still level 2 and now heading to take care of The Smith's Shipment and A Mother's Plea. I'll be just level 3 as I begin the more challenging sidequests of Act 1 (Lord of a Barren Land and Buried Secrets), which will hopefully be fun as well. The ultimate goal, of course, is making Act II a bit tougher since many players seem to arrive at that point quite overleveled. Yeah, +50% exp requirement is feeling about right to me so far as well. It makes rushing through caed nua significantly harder... dropped my win ratio for some of the harder battles to like 33%, so I reloaded a previous save and I'm doing some side-quests first ::shock:: -- WHICH IS HOW IT SHOULD BE. Great news, happy to see it's making such a huge difference. I'll probably try it out myself. Are you playing on Hard or POTD? Hard. I don't feel like potd is balanced for normal people like me. I usually don't play difficulty modes that just increase the numbers. Edited April 13, 2015 by Daemonjax
View619 Posted April 13, 2015 Posted April 13, 2015 Modded my dll to increase required exp by 50%. Now I can be a completionist guilt-free. This had the added bonus of making the early game somewhat more challenging, since my party is still level 2 and now heading to take care of The Smith's Shipment and A Mother's Plea. I'll be just level 3 as I begin the more challenging sidequests of Act 1 (Lord of a Barren Land and Buried Secrets), which will hopefully be fun as well. The ultimate goal, of course, is making Act II a bit tougher since many players seem to arrive at that point quite overleveled. Yeah, +50% exp requirement is feeling about right to me so far as well. It makes rushing through caed nua significantly harder... dropped my win ratio for some of the harder battles to like 33%, so I reloaded a previous save and I'm doing some side-quests first ::shock:: -- WHICH IS HOW IT SHOULD BE. Great news, happy to see it's making such a huge difference. I'll probably try it out myself. Are you playing on Hard or POTD? Hard. I don't feel like potd is balanced for normal people like me. I usually don't play difficulty modes that just increase the numbers. Cool, let us hear how Act II goes when you get there. 1
Atheosis Posted April 13, 2015 Posted April 13, 2015 Someone should just upload a +50% xp required mod to nexus. I don't feel like messing with files and hex code myself. Here's mine for +50% exp req if using IE mod 4.10 (windows): https://dl.dropboxusercontent.com/u/32777109/Games/Pillars%20of%20Eternity/Assembly-CSharp.dll Awesome, thanks! Now I just need to go download the IE mod...
Daemonjax Posted April 15, 2015 Author Posted April 15, 2015 (edited) Cool, let us hear how Act II goes when you get there. Just completed Act I (completionist style) on hard, modded with +50% exp per level requirement: Main character has 10380 experience. I'd need 15000 exp for 5th level. So, currently, I'm one level behind where I'd normally be. That'll be 2 levels behind when I reach level 10 (would normally be 12). On hard I'd normally just rush through to pick up all the companions early, ignoring all side quests, but I didn't do that this playthrough because it felt wrong trying to clear caed nua at level 2. I needed to save/reload too much for my liking (the fight in the great hall required some luck and I only won 1/3 of the time). Normally I'd hit level 3 in the courtyard, even without sidequests, which made caed nua a breeze. So far, I'd say it's a better game modded this way. Edited April 15, 2015 by Daemonjax 2
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now