Some more hex offsets... - 14/01/05 06:45 PM
Well, having finished DD, i decided to have some more fun... Poked around with savegame editor, item editor, but still they offer quite little possibilities... So i decided to find the interesting stuff myself... Hope this might be usefull to someone, couldn't find topics on this subject on the forum... I assume you're quite comfortable with basic hex-editing, understand what a relative offset and reverse byte order is and ofcourse your favourite hex-editing application supports relative offsets... I understand this's not very newbie-friendly and stuff compared to masterpieces in this aspect like that threads on hex-editing coordinates. One more note on relative offsets... When i say offset +0x123 from letter a in word save this means you have to click in such a way so cursor blinks right before a... So if you press insert now(enable overwrite mode) and type a character - it will replace a. And ofcourse we are speaking of editing data.000 of savegames. 2 relative indicators are used, SkillsV and AgentsV - just search for them. All offsets found in version 1.0034, dunno whether valid for other versions. So here it goes:
Unlock Path of the Divine anytime:
SkillsV0.935 25-02-2002.`
offset(from first S in skills) +0x24
change 00 to 01
Edit resistances to magic:
AgentsV0.935 25-02-2002 offset +0x6A5 from A in agents.
Consequently 4 4-byte values are innate resistances(formed by magic barrier skill and drug-potions) to lighting, fire, poison, spirit respectively in order. Reverse order if value more than FF. To clear up what a 4-byte value is, 4-byte 1 is 00000001. Offset valid while not necroshifted, polymorphed, transformed by statuette or spirit-form power.
Class change:
Appearance & special move:
AgentsV0.935 25-02-2002 then search for Hero idle
After that what's after 000C and before new npc defines look & special move
Strings are:
000000010000000000000000000000000000000000000008000000 - wizard male
00000004000000000000000000000000000000A032000008000000 - wizard female
000000000000000000000008000000 - warrior male
000000030000000000000008000000 - warrior female
00000002000000000000000000000008000000 - survivor male
00000005000000000000000000000008000000 - survivor female
Valid while not necroshifted, polymorphed, transformed by statuette or spirit-form power.
Yes, they are of different length and you must consider that - delete everything between 000c and new npc and just paste the new string entirely.
Actual class value:
AgentsV0.935 25-02-2002
Offset +0x6EC from "A" in Agents
Values:
00 - warrior
01 - mage
02 - survivor
Defines damage, offense, defense, vitality and mana bonuses and ofcourse displayed class in stats screen... People will still call you wizard even if you change class here and change appearance to appropriate but started the game as wizard, since probably more values are still stored somewhere else, but this is of little consequence... It's perfectly fine to have appearance&special move of one class and actual class & bonuses of other one.
Move speed :
AgentsV0.935 25-02-2002
Offset +0x247
Reverse byte order current form move speed 2 bytes.
0401 - normal speed
0801 - frog walk
Very high values make you walk through walls or whatever(often, but still random... Obviously game obstacle calculation algorithm is quite buggy and undesigned with that speeds in mind). Really high values make it really uncontrollable. Polymorphing, using statuettes, spirit form power etc reset the speed. Other than that can be used to just enable frog-walk for any class easily or give even faster speed than frog walk. Teleport pyramids really highly recommended if used for fun with semi-noclip.
Sight value
AgentsV0.935 25-02-2002
Offset +0x6A0 from A in Agents
Base innate starting sight value = 12(0C)
Gets changed with elven/ranger sight or can become permanently penalised by having max elven sight and equipping an item with + 1 elven sight bonus, in which case editing this is the easiest way to restore.
Hearing
AgentsV0.935 25-02-2002
Offset +0x6A4 from A in Agents
Base innate starting hearing value = 12(0C)
Never gets changed by normal means ingame, but sure you're free to edit.
Diplomacy:
After AgentsV0.935 25-02-2002 searh for Hero
If you find Hero0 - that's your current "side". If you find just Hero - that means you're polymorphed, necroshifted, spirit-formed, transformed using a statuette or something like that. Just before that you can read your current diplomatic side in plain text. You can find a list of sides by searching for AlerothHealers. Side determines whom you can attack and whom can attack you. So you could for example put yourself on side of orcs - castle guards will attack you on sight, orcs won't touch you, you can directly target and attack guards but can't do that with orcs.
Current level value:
AgentsV0.935 25-02-2002
Offset +0x668 from A in agents
Ofcourse affects available skill & exp level requirement to reach next level...
DISPLAYED Reputation value:
AgentsV0.935 25-02-2002
Offset +0x240 from A in agents, 1 byte value
Doesn't matter since real reputation value is stored elsewhere, not in AgentSV section.
Unlock Path of the Divine anytime:
SkillsV0.935 25-02-2002.`
offset(from first S in skills) +0x24
change 00 to 01
Edit resistances to magic:
AgentsV0.935 25-02-2002 offset +0x6A5 from A in agents.
Consequently 4 4-byte values are innate resistances(formed by magic barrier skill and drug-potions) to lighting, fire, poison, spirit respectively in order. Reverse order if value more than FF. To clear up what a 4-byte value is, 4-byte 1 is 00000001. Offset valid while not necroshifted, polymorphed, transformed by statuette or spirit-form power.
Class change:
Appearance & special move:
AgentsV0.935 25-02-2002 then search for Hero idle
After that what's after 000C and before new npc defines look & special move
Strings are:
000000010000000000000000000000000000000000000008000000 - wizard male
00000004000000000000000000000000000000A032000008000000 - wizard female
000000000000000000000008000000 - warrior male
000000030000000000000008000000 - warrior female
00000002000000000000000000000008000000 - survivor male
00000005000000000000000000000008000000 - survivor female
Valid while not necroshifted, polymorphed, transformed by statuette or spirit-form power.
Yes, they are of different length and you must consider that - delete everything between 000c and new npc and just paste the new string entirely.
Actual class value:
AgentsV0.935 25-02-2002
Offset +0x6EC from "A" in Agents
Values:
00 - warrior
01 - mage
02 - survivor
Defines damage, offense, defense, vitality and mana bonuses and ofcourse displayed class in stats screen... People will still call you wizard even if you change class here and change appearance to appropriate but started the game as wizard, since probably more values are still stored somewhere else, but this is of little consequence... It's perfectly fine to have appearance&special move of one class and actual class & bonuses of other one.
Move speed :
AgentsV0.935 25-02-2002
Offset +0x247
Reverse byte order current form move speed 2 bytes.
0401 - normal speed
0801 - frog walk
Very high values make you walk through walls or whatever(often, but still random... Obviously game obstacle calculation algorithm is quite buggy and undesigned with that speeds in mind). Really high values make it really uncontrollable. Polymorphing, using statuettes, spirit form power etc reset the speed. Other than that can be used to just enable frog-walk for any class easily or give even faster speed than frog walk. Teleport pyramids really highly recommended if used for fun with semi-noclip.
Sight value
AgentsV0.935 25-02-2002
Offset +0x6A0 from A in Agents
Base innate starting sight value = 12(0C)
Gets changed with elven/ranger sight or can become permanently penalised by having max elven sight and equipping an item with + 1 elven sight bonus, in which case editing this is the easiest way to restore.
Hearing
AgentsV0.935 25-02-2002
Offset +0x6A4 from A in Agents
Base innate starting hearing value = 12(0C)
Never gets changed by normal means ingame, but sure you're free to edit.
Diplomacy:
After AgentsV0.935 25-02-2002 searh for Hero
If you find Hero0 - that's your current "side". If you find just Hero - that means you're polymorphed, necroshifted, spirit-formed, transformed using a statuette or something like that. Just before that you can read your current diplomatic side in plain text. You can find a list of sides by searching for AlerothHealers. Side determines whom you can attack and whom can attack you. So you could for example put yourself on side of orcs - castle guards will attack you on sight, orcs won't touch you, you can directly target and attack guards but can't do that with orcs.
Current level value:
AgentsV0.935 25-02-2002
Offset +0x668 from A in agents
Ofcourse affects available skill & exp level requirement to reach next level...
DISPLAYED Reputation value:
AgentsV0.935 25-02-2002
Offset +0x240 from A in agents, 1 byte value
Doesn't matter since real reputation value is stored elsewhere, not in AgentSV section.