great job StinVec for updating and sharing the updated table!! much appreciated!
You're welcome, Machine! I'm glad working to keep it updated and expanding it is still so useful and appreciated by you and so many others. Still hoping to fill in some of the areas that don't really have any options, like the 999 Affinity Points option I added, and to have some success with others like an Epic/Legendary loot drop rate option, and enemy spawn volume option I'm still working at. Hopefully it doesn't take me so long that Asterkarn releases before I find out how to do those.
_____
EDIT:
Since this comment is in a new page, anyone looking for the current table for v1.2.1.1, the post for it is here on the previous page.
_____
EDIT: Mod Mastery Pointers
Started putting in the pointers for the DoM mod masteries, but there is a problem.
Doing the Titan Quest masteries and half of them are fine.
The other half all use the same address/offset when they are the only mastery active, but then use a different address/offset when they are the 2nd mastery active.
And when there are two masteries active, if both are of these TQ masteries that use the same addresses/offsets, it depends on whether the mastery is on the first tab or the second tab as to which address the mastery will use.
So the same address will be used for different masteries depending on which tab the mastery is active on and whether it is the only mastery active or two masteries are active.
I expect the same trouble going through the other sets of masteries in the mod.
Considering how barely useful having such mastery pointers could be without encountering this issue with them, I think this issue makes adding mod mastery pointers pretty pointless now. I'll keep the pointers listed for the Base Masteries as that might be useful for some, but the Mastery Control option should be used for reliably altering points in both base game and mod masteries.
Set Mini Pet Limit
- Functions similar to "Set Pet Limit", but controls total max mini pets spawned at once instead of individual pet types
- Dropdown select max number or enter your own (0 = Unlimited)
- Default option value is 12 (normally 3 max) and can set option default value in code
How to use this cheat table?
Install Cheat Engine
Double-click the .CT file in order to open it.
Click the PC icon in Cheat Engine in order to select the game process.
Keep the list.
Activate the trainer options by checking boxes or setting values from 0 to 1
This table is awesome! Thanks for the work, StinVec.
I have a question about the loot control addition. When I attempt to check the box it doesn't do anything. Upon right clicking on it it says <<Error in line 7 (assert(Game.GAME::LootItemTableRandomizer_Dyn::SetWeightModifiers+DC,41 89 93A8 00 00 00)) :The bytes at Game.GAME::LootItemTableRandomizer_Dyn::SetWeightModifiers+DC are not what was expected>>
Did I somehow screw this up or is something incorrect? I'm on version 1.2.1.1 any assistance you could provide would be greatly appreciated. Thank you again.
This table is awesome! Thanks for the work, StinVec.
I have a question about the loot control addition. When I attempt to check the box it doesn't do anything. Upon right clicking on it it says <<Error in line 7 (assert(Game.GAME::LootItemTableRandomizer_Dyn::SetWeightModifiers+DC,41 89 93A8 00 00 00)) :The bytes at Game.GAME::LootItemTableRandomizer_Dyn::SetWeightModifiers+DC are not what was expected>>
Did I somehow screw this up or is something incorrect? I'm on version 1.2.1.1 any assistance you could provide would be greatly appreciated. Thank you again.
You're very welcome! The Loot Control option is working properly for me on 1.2.1.1 x64.
I would ask if you are certain you are using the x64 executable for the game and not the 32bit executable, but if all of the other options are working for you, then that is a sure sign that you are using the x64 and that is not the problem.
Are you using any other options that you've added into the table that deal with loot that could be affecting that address and changing its bytes?
Or perhaps also running a trainer alongside the table for options the trainer offers you? If so, perhaps there is a loot option in that trainer that is altering these bytes for that address and that is why the table cannot find the bytes it is looking for at that address.
All seem to work on gog version too! (At least what I use.)
Thank you very much for again taking the time to let me know that options (or at least those you use) are working in GoG for this game version! I'm glad to know things are still configured well enough to not need adjusting again to account for the GoG version of the game.
This table is awesome! Thanks for the work, StinVec.
I have a question about the loot control addition. When I attempt to check the box it doesn't do anything. Upon right clicking on it it says <<Error in line 7 (assert(Game.GAME::LootItemTableRandomizer_Dyn::SetWeightModifiers+DC,41 89 93A8 00 00 00)) :The bytes at Game.GAME::LootItemTableRandomizer_Dyn::SetWeightModifiers+DC are not what was expected>>
Did I somehow screw this up or is something incorrect? I'm on version 1.2.1.1 any assistance you could provide would be greatly appreciated. Thank you again.
You're very welcome! The Loot Control option is working properly for me on 1.2.1.1 x64.
I would ask if you are certain you are using the x64 executable for the game and not the 32bit executable, but if all of the other options are working for you, then that is a sure sign that you are using the x64 and that is not the problem.
Are you using any other options that you've added into the table that deal with loot that could be affecting that address and changing its bytes?
Or perhaps also running a trainer alongside the table for options the trainer offers you? If so, perhaps there is a loot option in that trainer that is altering these bytes for that address and that is why the table cannot find the bytes it is looking for at that address.
I think you may be on to something with the x64 exe. I'm going to reinstall the game and see if I can get it to work properly because the x64 isn't working, just crashing. Thank you for the quick reply!
This table is awesome! Thanks for the work, StinVec.
I have a question about the loot control addition. When I attempt to check the box it doesn't do anything. Upon right clicking on it it says <<Error in line 7 (assert(Game.GAME::LootItemTableRandomizer_Dyn::SetWeightModifiers+DC,41 89 93A8 00 00 00)) :The bytes at Game.GAME::LootItemTableRandomizer_Dyn::SetWeightModifiers+DC are not what was expected>>
Did I somehow screw this up or is something incorrect? I'm on version 1.2.1.1 any assistance you could provide would be greatly appreciated. Thank you again.
You're very welcome! The Loot Control option is working properly for me on 1.2.1.1 x64.
I would ask if you are certain you are using the x64 executable for the game and not the 32bit executable, but if all of the other options are working for you, then that is a sure sign that you are using the x64 and that is not the problem.
Are you using any other options that you've added into the table that deal with loot that could be affecting that address and changing its bytes?
Or perhaps also running a trainer alongside the table for options the trainer offers you? If so, perhaps there is a loot option in that trainer that is altering these bytes for that address and that is why the table cannot find the bytes it is looking for at that address.
I think you may be on to something with the x64 exe. I'm going to reinstall the game and see if I can get it to work properly because the x64 isn't working, just crashing. Thank you for the quick reply!
You're welcome! I hope a reinstall helps. I've seen reports on Grim Dawn's steam forums and official forums at times of people discussing their x64 executable not launching/crashing. Perhaps there is some information on there that might help if yours continues to crash.
All Learned Exclusive Skills Active At Once
> Removes limit of 1 active at a time and activates all known/learned exclusive skills
> To reinstate limit of 1, disable option and reload character from main menu
I would ask if you are certain you are using the x64 executable for the game and not the 32bit executable, but if all of the other options are working for you, then that is a sure sign that you are using the x64 and that is not the problem.
Are you using any other options that you've added into the table that deal with loot that could be affecting that address and changing its bytes?
Or perhaps also running a trainer alongside the table for options the trainer offers you? If so, perhaps there is a loot option in that trainer that is altering these bytes for that address and that is why the table cannot find the bytes it is looking for at that address.
I think you may be on to something with the x64 exe. I'm going to reinstall the game and see if I can get it to work properly because the x64 isn't working, just crashing. Thank you for the quick reply!
You're welcome! I hope a reinstall helps. I've seen reports on Grim Dawn's steam forums and official forums at times of people discussing their x64 executable not launching/crashing. Perhaps there is some information on there that might help if yours continues to crash.
Reddit knew how to fix it. Apparently you need to create and run a .bat file to launch the x64 version. It's all working perfectly now and thank you for the information allowing me to get it sorted.
Hello #StinVec,
I registered here today just to say thank you for your excellent work. I play Grim Dawn and I love the cheat "Invincible (Player, Pets and Allies)", it's wonderful. How did you manage that? And all the work you put into it, thank you so much, <3 .
Hello #StinVec,
I registered here today just to say thank you for your excellent work. I play Grim Dawn and I love the cheat "Invincible (Player, Pets and Allies)", it's wonderful. How did you manage that? And all the work you put into it, thank you so much, <3 .
Hi. You're welcome! I'm glad you're finding it to be useful for enjoying the game more.
There are easily a dozen different ways of achieving invincibility for the character/pets in this game.
That first version of the Invincible option in the table disables the actual subtraction of life from the character due to taking damage. As disabling the function of health subtraction entirely would normally affect all things in the game so that everything would be immune to damage, I have it look for a commonality between a byte on the player, the pet/allies, and enemies. I then have it set so that it would only disable the subtraction of health from the player and pets/allies, but enemies and anything else with a health bar would have health subtracted normally.
Others (like the alternate options in the cheat table) activate the Invinicibility flag on the character that is present in the game, but I've altered one of those alternates to also apply the flag to pets/allies using the same byte commonality check so enemies don't also get the flag.
Some other invincibility options achieve it by copying your maximum health value to your current health value so that you still take damage, but your health will always be full as it will immediately have your max health copied over to your current health to counter any reduction in life.
v1.2.1.1 table post updated to V9 with options/fixes and is compatible with both v1.2.1.1 and v1.2.1.2 x64
Options Updated: "SPEED -|- SKILLS" section
Freeze Buff Timers > "Skill Primary & Potions"
> Renamed to "Skill Primary, Oils / Elixirs / Potions"
> Updated "Burrwitch Brew" potion check as it was also catching "Elixir of the Void", which now properly freezes.
Options Added: "SPEED -|- SKILLS" section
No Item Cooldown - Oils / Elixirs / Tinctures
> Since 1.2.1.0, Oil, Elixir and Tincture items have shared cooldowns for each type and this option removes their cooldowns.
Freeze Buff Timers > "Tinctures"
> Affects Tinctures, such as "Slithblood Tincture" (def: 10s)
"Remove 1 Active limit - Oils & Elixirs"
> v1.2.1.0 had also made it so only one Elixir and one Oil could be active at a time.
> Allows all elixirs and oils to be active at the same time again.
> To revert to a single oil/elixir again, disable the option and reload, or reapply each buff to restore the limit flag on them
Last edited by StinVec on Wed Jul 03, 2024 2:00 am, edited 1 time in total.
Hello #StinVec,
I registered here today just to say thank you for your excellent work. I play Grim Dawn and I love the cheat "Invincible (Player, Pets and Allies)", it's wonderful. How did you manage that? And all the work you put into it, thank you so much, <3 .
Hi. You're welcome! I'm glad you're finding it to be useful for enjoying the game more.
There are easily a dozen different ways of achieving invincibility for the character/pets in this game.
That first version of the Invincible option in the table disables the actual subtraction of life from the character due to taking damage. As disabling the function of health subtraction entirely would normally affect all things in the game so that everything would be immune to damage, I have it look for a commonality between a byte on the player, the pet/allies, and enemies. I then have it set so that it would only disable the subtraction of health from the player and pets/allies, but enemies and anything else with a health bar would have health subtracted normally.
Others (like the alternate options in the cheat table) activate the Invinicibility flag on the character that is present in the game, but I've altered one of those alternates to also apply the flag to pets/allies using the same byte commonality check so enemies don't also get the flag.
Some other invincibility options achieve it by copying your maximum health value to your current health value so that you still take damage, but your health will always be full as it will immediately have your max health copied over to your current health to counter any reduction in life.
StinVec, You are a master, MASTER StinVec, Thank you very much, .
All "Freeze Buff Timers" options now reset the frozen buffs back to their starting durations when it freezes them instead of only freezing the buffs at their remaining durations.
> This will allow someone to bind a hotkey to toggle the option on and off again as a way to reset active buffs back to their full durations instead of only being able to freeze buffs at their remaining durations.
Freeze Buff Timers > "Skill Primary, Oils / Elixirs / Potions"
> Further altered "Burrwitch Brew" exclusion check as another buff was still being caught.
> I don't know if anyone even uses that potion, but this should be the last update needed on its check for this build.
Freeze Buff Timers > "Skill Passive On Hit"
> "Ancestral Ward" (from "Seal of Ancestry" component) invincibility-causing buff check removed from the option code.
> This buff is no longer controlled by the address that this option uses and no longer needs an exclusion check.
Moved "Character Light Radius" into new "Ambiance Control" option group
Options Added: "OTHER" section
"Ambiance Control" > "Time Of Day" option added
> Can change number in code to set default value
> Dropdown select value or enter manually (24 hour clock 0-24)
0 = 12 AM (Midnight)6 = 6 AM (Dawn)12 = 12 PM (Day)20 = 8 PM (Dusk)
"Ambiance Control" > "Time Of Day" > Alternate "Custom Ambient Lighting Color" option added (overrides Time of Day)
> Can change number in code to set default value
> Can change color values in code to customize hue / intensity
> Dropdown select value
0 = DARKNESS1 = RED2 = BLUE3 = GREEN4 = AQUA5 = ORANGE
Will continue work on also adding selectable weather (rainy, windy, foggy, etc.) for the Ambiance Control option group.
Updated for/tested on Steam-based v1.2.1.0 x64
(should all work for GoG version as well, if any are not then please me know)
.....
Thanks for updated table!
I've tried to make "mastery control" separate for each mastery, but when I'm trying to find pointers to add to "[_masteryBase]" using "what's accesses..." or "...writes to this address", game crashes.
Maybe I'm doing something wrong?
After my last reply, I've spent some time getting the 32bit Masteries option you used to use updated for 64bit as it still seems to be of use to you and likely others.
I'm updating updated the 1.2.1.1 table with the Player Info Pointers options updated to have the mastery pointers added to them.
I only looked to find the x64 offsets for the base game masteries. I sometimes use DoM mod with all those added masteries, but I haven't updated/loaded it in a long time and need to do that before I can get the offsets for those masteries. If you use DoM or other mods, the offsets should just be about ~100 or so higher in the middle offset for each mastery (about 30-32 bytes higher).
Example:
Demolitionist's middle offset is 148
Occultist's middle offset is 258
Nightlblade's middle offset is 350
Arcanist's middle offset is 450
Shaman 548
Inquisitor 640
etc.
Should be able to continue on after Oathkeeper to keep getting the middle offsets for the other mod masteries.
Wow Thanks! I hadn't got time to get into it myself but thanks a lot!
Thanks for updated table!
I've tried to make "mastery control" separate for each mastery, but when I'm trying to find pointers to add to "[_masteryBase]" using "what's accesses..." or "...writes to this address", game crashes.
Maybe I'm doing something wrong?
After my last reply, I've spent some time getting the 32bit Masteries option you used to use updated for 64bit as it still seems to be of use to you and likely others.
I'm updating updated the 1.2.1.1 table with the Player Info Pointers options updated to have the mastery pointers added to them.
I only looked to find the x64 offsets for the base game masteries. I sometimes use DoM mod with all those added masteries, but I haven't updated/loaded it in a long time and need to do that before I can get the offsets for those masteries. If you use DoM or other mods, the offsets should just be about ~100 or so higher in the middle offset for each mastery (about 30-32 bytes higher).
Example:
Demolitionist's middle offset is 148
Occultist's middle offset is 258
Nightlblade's middle offset is 350
Arcanist's middle offset is 450
Shaman 548
Inquisitor 640
etc.
Should be able to continue on after Oathkeeper to keep getting the middle offsets for the other mod masteries.
Wow Thanks! I hadn't got time to get into it myself but thanks a lot!
You're welcome! I had added more information about the mod masteries at the top of this page in an edit to a comment of mine that you might want to read if you haven't seen it yet: viewtopic.php?p=359651#p359651
"Enable Dual Wield - Melee & Ranged"
> Removes the need to train certain skills in specific masteries to be able to wield two melee or two ranged weapons
"Spawn Nemesis On Demand (of killed enemy's faction)"
1) Enable and kill an enemy
> Sets kills of that faction to 1 below random # needed to spawn a nemesis
2) Disable option and kill one more enemy of that faction to spawn a nemesis
> Kill will trigger amount needed to spawn that faction's nemesis
NOTE: Each nemesis of a faction can only spawn once per game load
NOTE: Can disable subtraction line in code to cause first kill to trigger nemesis
V13b Fixed
> Corrected code to prevent nemesis from immediately spawning even with the kill count reduction
V13c Fixed the fix
- Fixed the trouble still present in V13b of the nemesis still spawning on the first kill even with the corrected code to prevent it from immediately spawning until you want it to spawn. There was a problem with the register still that conflicted with other instructions. Using a few instructions later and utilizing "rbx" as a buffer to reduce the needed count by 1 before inserting it into "eax".
Working properly now so you can kill as many of an enemy as you want, but the nemesis will not spawn until the first kill of the faction after you disable the option so you can choose exactly when you want to battle the nemesis.
Note: May want to re-enable the option again after you spawn the nemesis so you don't accidentally kill an adjacent enemy of a different faction and trigger its nemesis as well, unless you want to potentially fight multiple nemesis (nemesises?) at the same time.