It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

Hello there. I had a bit of fun doing some memory hacking, boosting stats up.

Anyways, findings. Dark Alliance stores the stats 3 times one after the other, all as 32bit values (though it seems only the lowest byte is used, though the upper ones can display large numbers in your status have no effect). From what i gather the first is the original starting stats (can affect mana and store prices), the unmodified stats (after boosting every 4th level), and lastly the working stats (which is calculated after equipment is taken into account).

Anyways, if you were to edit memory, you'd modify the second set (and first set too if you wanted the mana boost). If you modify the 3rd set, you'll see it in the status update, but the moment you do anything (go downstairs, kill a rat, sell an item) it resets to new calculated stats.

Curiously, wisdom has a major bug. After close to +60% boosted XP, if you go much higher, the game will crash. Reason? Not sure, though the debugger says it's a divide by zero event, so how its calculating experience is borked. So far Wisdom of 30 is safe as i can tell. This is too bad as i'd have wanted to boost wisdom to give like 5x experience gains and just play normally otherwise.

Then there's charisma. Every point in charisma above 10 gives you a 5% improvement in purchasing/selling power. At 30 you can buy anything for 0 and sell at full value. Go higher and you get paid to purchase items :P broken indeed.

You can give yourself experience, but the trigger to level up won't happen til the next kill. As the max level is 40ish well you'll probably get all your skills and perks if you go high enough,

Anyways that's some quick overview of my experience with the game and hacking it.
Post edited July 02, 2023 by rtcvb32
Good news. Made a quick C program which can extract lmp files, which are the main archives used in Dark Alliance.

Looks like it uses a combination wave files, textures, anmations, and then vif files (related to nif?).

Though class and other data doesn't seem present.


alth_rx1c.wav, offset 6144 length 19824
b_attacka.anm, offset 26624 length 7168
b_block.anm, offset 34816 length 2460
b_cast.anm, offset 38912 length 5236
elf_hairpony.tex, offset 602112 length 10296
elf_hairpony.vif, offset 614400 length 20452
l_attackseq.anm, offset 634880 length 13816
silent.vag, offset 1009664 length 96
sorc10.wav, offset 1011712 length 37846
sorc11.wav, offset 1050624 length 49766
sorc12.wav, offset 1101824 length 25748
sorc18.wav, offset 1128448 length 31188
sorc19.wav, offset 1161216 length 44352
sorc20.wav, offset 1206272 length 28014
sorc_b_death1.wav, offset 1234944 length 116692
sorc_b_death1a.wav, offset 1351680 length 14230
sorc_b_death2a.wav, offset 1366016 length 24844
sorc_b_death2b.wav, offset 1392640 length 19272
sorc_b_death2c.wav, offset 1413120 length 36928
sorc_b_hitreaction1.wav, offset 1452032 length 11708
sorc_b_hitreaction2.wav, offset 1464320 length 18448
sorc_b_jump4.wav, offset 1484800 length 11722
sorc_b_jump5.wav, offset 1497088 length 14300
sound.lst, offset 1511424 length 80
Post edited July 03, 2023 by rtcvb32