Thank you very much for taking time of your day to update the table. Everything working fine for me.StinVec wrote: ↑Wed Nov 22, 2023 4:00 am1.2.0.2.h2 x64 - Infinite Mana (temporary stand-in version)
1.2.0.2.h2 x64 - Super Spell Cast Speed
1.2.0.2.h2 x64 - Super Attack Speed
1.2.0.2.h2 x64 - Super Run Speed
1.2.0.2.h2 x64 - Set Pet Limit to 20 for all Pets
1.2.0.2.h2 x64 - Infinite Skill Points (999 locked) (re-wrote)
1.2.0.2.h2 x64 - Infinite Devotion Points (999 locked) (re-wrote)
1.2.0.2.h2 x64 - Infinite Attribute Points (999 locked)
Copy all of the code in the spoiler and paste it (CTRL+V) into your cheat table to add each option to your table.
Infinite Mana 1.2.0.2 x64 (temporary stand-in version)
Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>88045</ID> <Description>"Infinite Mana 1.2.0.2 x64"</Description> <LastState Activated="1"/> <Color>0000FF</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>//Grim Dawn 1.2.0.2 Updated //1.1.9.8 was F3 0F 10 81 A4 0D 00 00 //changed A4 to EC define(address,Game.GAME::Character::GetCurrentMana) define(bytes,F3 0F 10 81 EC 0D 00 00) [ENABLE] assert(address,bytes) alloc(newmem,$100,Game.GAME::Character::GetCurrentMana) label(code) label(return) newmem: cmp rbx,0 //enemies have common value 0x0 je code // movss xmm1,[rbx+000012C0] //1.1.9.8 maxMana 000012C0 // movss [rcx+00000DEC],xmm1 //1.2.0.2 temp disabled // movss xmm0,[rcx+00000DEC] //1.2.0.2 temp disabled mov [rcx+00000DEC],(float)250 //1.2.0.2 temp added movss xmm0,[rcx+00000DEC] jmp return code: movss xmm0,[rcx+00000DEC] jmp return address: jmp newmem nop nop nop return: [DISABLE] address: db bytes // movss xmm0,[rcx+00000DEC] dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Game.GAME::Character::GetCurrentMana Game.GAME::Character::ContributeMiscConversionAttributes+E6 - CC - int 3 Game.GAME::Character::ContributeMiscConversionAttributes+E7 - CC - int 3 Game.GAME::Character::ContributeMiscConversionAttributes+E8 - CC - int 3 Game.GAME::Character::ContributeMiscConversionAttributes+E9 - CC - int 3 Game.GAME::Character::ContributeMiscConversionAttributes+EA - CC - int 3 Game.GAME::Character::ContributeMiscConversionAttributes+EB - CC - int 3 Game.GAME::Character::ContributeMiscConversionAttributes+EC - CC - int 3 Game.GAME::Character::ContributeMiscConversionAttributes+ED - CC - int 3 Game.GAME::Character::ContributeMiscConversionAttributes+EE - CC - int 3 Game.GAME::Character::ContributeMiscConversionAttributes+EF - CC - int 3 // ---------- INJECTING HERE ---------- Game.GAME::Character::GetCurrentMana - F3 0F10 81 EC0D0000 - movss xmm0,[rcx+00000DEC] // ---------- DONE INJECTING ---------- Game.GAME::Character::GetCurrentMana+8 - 0F57 C9 - xorps xmm1,xmm1 Game.GAME::Character::GetCurrentMana+B - F3 0F5F C1 - maxss xmm0,xmm1 Game.GAME::Character::GetCurrentMana+F - C3 - ret Game.GAME::Character::SetCurrentMana - 40 53 - push rbx Game.GAME::Character::SetCurrentMana+2 - 48 83 EC 30 - sub rsp,30 Game.GAME::Character::SetCurrentMana+6 - 48 8B D9 - mov rbx,rcx Game.GAME::Character::SetCurrentMana+9 - 0F29 74 24 20 - movaps [rsp+20],xmm6 Game.GAME::Character::SetCurrentMana+E - 48 81 C1 480E0000 - add rcx,00000E48 Game.GAME::Character::SetCurrentMana+15 - BA 05000000 - mov edx,00000005 Game.GAME::Character::SetCurrentMana+1A - 0F28 F1 - movaps xmm6,xmm1 } </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
Info on temporary Infinite Mana version
Until I find a way to get the accumulated max mana value to be copied to your current mana and frozen, here is a temporary version.
This version has the updated Current Mana address and is altered to set your current mana to 250, which is what your starting max mana is.
What your current mana value is and how much mana a skill costs doesn't seem to matter as long as your mana is locked and doesn't decrease. So even if you have a max mana of 10,000, have 20 activated auras and buffs, and are casting a high energy skill, your mana is still always locked at 250.
The only potential issue is an aesthetic one. When you level up and you have a higher max mana, the locked 250 current mana will cause your bar to appear mostly empty. If this partially/mostly empty mana bar bothers you, you can just change the float value in the code to whatever your current max mana value is to have your bar appear as full.
If you raise the value to higher than your max mana, the blue/green mana bar background will not be contained within the mana bar and will stretch across your screen to the left.Super Spell Cast Speed 1.2.0.2 x64
Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>1175</ID> <Description>"Super Spell Cast Speed 1.2.0.2 x64"</Description> <LastState/> <Color>FFFFFF</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>//Grim Dawn 1.2.0.2 Updated //1.1.9.8 was GAME::Player::CapSpellCastSpeed+9F //changed +9F to +AF (the last address in the whole GAME::Player::CapSpellCastSpeed section for the range of the scan) //00004714 changed to 00004B6C //00004710 changed to 00004B68 [ENABLE] //GAME::Player::CapSpellCastSpeed+E aobscanregion(superSpellCastSpeed,GAME::Player::CapSpellCastSpeed,GAME::Player::CapSpellCastSpeed+AF,F30F10) alloc(newmem,$1000,superSpellCastSpeed) label(code) label(return) newmem: mov [rcx+00004B6C],(float)1000 //maxSpellCastSpeed movss xmm6,[rcx+00004B6C] jmp return code: movss xmm6,[rcx+00004B68] //currentSpellCastSpeed jmp return superSpellCastSpeed: jmp newmem nop 3 return: registersymbol(superSpellCastSpeed) [DISABLE] superSpellCastSpeed: db F3 0F 10 B1 68 4B 00 00 unregistersymbol(superSpellCastSpeed) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Game.GAME::Player::CapSpellCastSpeed+E Game.GAME::Player::CapRunSpeed+AA - CC - int 3 Game.GAME::Player::CapRunSpeed+AB - CC - int 3 Game.GAME::Player::CapRunSpeed+AC - CC - int 3 Game.GAME::Player::CapRunSpeed+AD - CC - int 3 Game.GAME::Player::CapRunSpeed+AE - CC - int 3 Game.GAME::Player::CapRunSpeed+AF - CC - int 3 Game.GAME::Player::CapSpellCastSpeed- 40 53 - push rbx Game.GAME::Player::CapSpellCastSpeed+2- 48 83 EC 50 - sub rsp,50 Game.GAME::Player::CapSpellCastSpeed+6- 0F29 74 24 40 - movaps [rsp+40],xmm6 Game.GAME::Player::CapSpellCastSpeed+B- 0F57 C0 - xorps xmm0,xmm0 // ---------- INJECTING HERE ---------- Game.GAME::Player::CapSpellCastSpeed+E- F3 0F10 B1 684B0000 - movss xmm6,[rcx+00004B68] // ---------- DONE INJECTING ---------- Game.GAME::Player::CapSpellCastSpeed+16- 48 8B D9 - mov rbx,rcx Game.GAME::Player::CapSpellCastSpeed+19- 0F2F F0 - comiss xmm6,xmm0 Game.GAME::Player::CapSpellCastSpeed+1C- 44 0F29 44 24 20 - movaps [rsp+20],xmm8 Game.GAME::Player::CapSpellCastSpeed+22- 44 0F28 C1 - movaps xmm8,xmm1 Game.GAME::Player::CapSpellCastSpeed+26- 76 6B - jna Game.GAME::Player::CapSpellCastSpeed+93 Game.GAME::Player::CapSpellCastSpeed+28- 0F29 7C 24 30 - movaps [rsp+30],xmm7 Game.GAME::Player::CapSpellCastSpeed+2D- F3 0F10 B9 6C4B0000 - movss xmm7,[rcx+00004B6C] Game.GAME::Player::CapSpellCastSpeed+35- 0F2F F8 - comiss xmm7,xmm0 Game.GAME::Player::CapSpellCastSpeed+38- 76 53 - jna Game.GAME::Player::CapSpellCastSpeed+8D Game.GAME::Player::CapSpellCastSpeed+3A- 48 81 C1 80110000 - add rcx,00001180 } </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
Super Attack Speed 1.2.0.2 x64
Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>1174</ID> <Description>"Super Attack Speed 1.2.0.2 x64"</Description> <LastState/> <Color>FFFFFF</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>//Grim Dawn 1.2.0.2 Updated //1.1.9.8 was Game.GAME::Player::CapAttackSpeed+9F //changed +9F to +AF (the last address in the whole Game.GAME::Player::CapAttackSpeed section for the range of the scan) //0000471C changed to 00004B74 //00004718 changed to 00004B70 [ENABLE] //Game.GAME::Player::CapAttackSpeed+E aobscanregion(superAttackSpeed,Game.GAME::Player::CapAttackSpeed,Game.GAME::Player::CapAttackSpeed+AF,F30F10) alloc(newmem,$1000,superAttackSpeed) label(code) label(return) newmem: mov [rcx+00004B74],(float)1000 movss xmm6,[rcx+00004B74] //0x4B74 - maxDefaultAttackSpeed { 200 } jmp return code: movss xmm6,[rcx+00004B70] //0x4B70 - currentDefaultAttackSpeed { 20 } jmp return superAttackSpeed: jmp newmem nop 3 return: registersymbol(superAttackSpeed) [DISABLE] superAttackSpeed: db F3 0F 10 B1 70 4B 00 00 unregistersymbol(superAttackSpeed) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Game.GAME::Player::CapAttackSpeed+E Game.GAME::Player::CapSpellCastSpeed+AA - CC - int 3 Game.GAME::Player::CapSpellCastSpeed+AB - CC - int 3 Game.GAME::Player::CapSpellCastSpeed+AC - CC - int 3 Game.GAME::Player::CapSpellCastSpeed+AD - CC - int 3 Game.GAME::Player::CapSpellCastSpeed+AE - CC - int 3 Game.GAME::Player::CapSpellCastSpeed+AF - CC - int 3 Game.GAME::Player::CapAttackSpeed - 40 53 - push rbx Game.GAME::Player::CapAttackSpeed+2 - 48 83 EC 50 - sub rsp,50 Game.GAME::Player::CapAttackSpeed+6 - 0F29 74 24 40 - movaps [rsp+40],xmm6 Game.GAME::Player::CapAttackSpeed+B - 0F57 C0 - xorps xmm0,xmm0 // ---------- INJECTING HERE ---------- Game.GAME::Player::CapAttackSpeed+E - F3 0F10 B1 704B0000 - movss xmm6,[rcx+00004B70] // ---------- DONE INJECTING ---------- Game.GAME::Player::CapAttackSpeed+16 - 48 8B D9 - mov rbx,rcx Game.GAME::Player::CapAttackSpeed+19 - 0F2F F0 - comiss xmm6,xmm0 Game.GAME::Player::CapAttackSpeed+1C - 44 0F29 44 24 20 - movaps [rsp+20],xmm8 Game.GAME::Player::CapAttackSpeed+22 - 44 0F28 C1 - movaps xmm8,xmm1 Game.GAME::Player::CapAttackSpeed+26 - 76 6B - jna Game.GAME::Player::CapAttackSpeed+93 Game.GAME::Player::CapAttackSpeed+28 - 0F29 7C 24 30 - movaps [rsp+30],xmm7 Game.GAME::Player::CapAttackSpeed+2D - F3 0F10 B9 744B0000 - movss xmm7,[rcx+00004B74] Game.GAME::Player::CapAttackSpeed+35 - 0F2F F8 - comiss xmm7,xmm0 Game.GAME::Player::CapAttackSpeed+38 - 76 53 - jna Game.GAME::Player::CapAttackSpeed+8D Game.GAME::Player::CapAttackSpeed+3A - 48 81 C1 80110000 - add rcx,00001180 } </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
Super Run Speed 1.2.0.2 x64
Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>88047</ID> <Description>"Super Run Speed 1.2.0.2 x64"</Description> <Options moHideChildren="1"/> <LastState/> <Color>FFFFFF</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>//Grim Dawn 1.2.0.2 Updated //1.1.9.8 was Game.GAME::Player::CapRunSpeed+9F //changed +9F to +AF (the last address in the whole Game.GAME::Player::CapRunSpeed section for the range of the scan) //0000470C changed to 00004B60 //00004708 changed to 00004B64 [ENABLE] //Game.GAME::Player::CapRunSpeed+E aobscanregion(superRunSpeed,Game.GAME::Player::CapRunSpeed,Game.GAME::Player::CapRunSpeed+AF,F30F10) alloc(newmem,$1000,superRunSpeed) alloc(runSpeed_ptr,8) registersymbol(runSpeed_ptr) label(code) label(return) newmem: mov [runSpeed_ptr],rcx mov [rcx+00004B64],(float)1000 //0x4B64 - maxSpeed code: movss xmm6,[rcx+00004B60] //0x4B60 - currentSpeed jmp return superRunSpeed: jmp newmem nop 3 return: registersymbol(superRunSpeed) [DISABLE] superRunSpeed: db F3 0F 10 B1 60 4B 00 00 unregistersymbol(superRunSpeed) unregistersymbol(runSpeed_ptr) dealloc(runSpeed_ptr) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Game.GAME::Player::CapRunSpeed+E Game.GAME::Player::GetReflectCap+A - CC - int 3 Game.GAME::Player::GetReflectCap+B - CC - int 3 Game.GAME::Player::GetReflectCap+C - CC - int 3 Game.GAME::Player::GetReflectCap+D - CC - int 3 Game.GAME::Player::GetReflectCap+E - CC - int 3 Game.GAME::Player::GetReflectCap+F - CC - int 3 Game.GAME::Player::CapRunSpeed - 40 53 - push rbx Game.GAME::Player::CapRunSpeed+2 - 48 83 EC 50 - sub rsp,50 Game.GAME::Player::CapRunSpeed+6 - 0F29 74 24 40 - movaps [rsp+40],xmm6 Game.GAME::Player::CapRunSpeed+B - 0F57 C0 - xorps xmm0,xmm0 // ---------- INJECTING HERE ---------- Game.GAME::Player::CapRunSpeed+E - F3 0F10 B1 604B0000 - movss xmm6,[rcx+00004B60] // ---------- DONE INJECTING ---------- Game.GAME::Player::CapRunSpeed+16 - 48 8B D9 - mov rbx,rcx Game.GAME::Player::CapRunSpeed+19 - 0F2F F0 - comiss xmm6,xmm0 Game.GAME::Player::CapRunSpeed+1C - 44 0F29 44 24 20 - movaps [rsp+20],xmm8 Game.GAME::Player::CapRunSpeed+22 - 44 0F28 C1 - movaps xmm8,xmm1 Game.GAME::Player::CapRunSpeed+26 - 76 6B - jna Game.GAME::Player::CapRunSpeed+93 Game.GAME::Player::CapRunSpeed+28 - 0F29 7C 24 30 - movaps [rsp+30],xmm7 Game.GAME::Player::CapRunSpeed+2D - F3 0F10 B9 644B0000 - movss xmm7,[rcx+00004B64] Game.GAME::Player::CapRunSpeed+35 - 0F2F F8 - comiss xmm7,xmm0 Game.GAME::Player::CapRunSpeed+38 - 76 53 - jna Game.GAME::Player::CapRunSpeed+8D Game.GAME::Player::CapRunSpeed+3A - 48 81 C1 80110000 - add rcx,00001180 } </AssemblerScript> <CheatEntries> <CheatEntry> <ID>88048</ID> <Description>"currentRunSpeed"</Description> <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">20:Default 135:Max Speed 250:Super Speed 500:Super Speed x2 750:Super Speed x3 1000:Super Speed x4 </DropDownList> <LastState Value="20" RealAddress="2576A4E0"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>Float</VariableType> <Address>[runSpeed_ptr]+4B60</Address> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> </CheatTable>
Set Pet Limit to 20 for all Pets 1.2.0.2 x64
Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>134845</ID> <Description>"Set Pet Limit to 20 for all Pets 1.2.0.2"</Description> <LastState/> <Color>FFFFFF</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>//Grim Dawn 1.2.0.0 Updated //1.1.9.8 was Game.GAME::Skill::GetPetLimit+BC //BC changed to BE //1.1.9.8 was FF 8B C3 4C 8D 9C 24 E0 00 00 00 //E0 change to F0 [ENABLE] //Game.GAME::Skill::GetPetLimit+BE aobscanmodule(PETPOP,Game.dll,FF 8B C3 4C 8D 9C 24 F0 00 00 00) // should be unique alloc(newmem,$1000,PETPOP) label(code) label(return) newmem: mov rbx,#20 mov rax,#20 code: lea r11,[rsp+000000F0] jmp return PETPOP+03: jmp newmem nop 3 return: registersymbol(PETPOP) [DISABLE] //code from here till the end of the code will be used to disable the cheat PETPOP+03: db 4C 8D 9C 24 F0 00 00 00 unregistersymbol(PETPOP) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Game.GAME::Skill::GetPetLimit+BE Game.GAME::Skill::GetPetLimit+97 - 74 23 - je Game.GAME::Skill::GetPetLimit+BC Game.GAME::Skill::GetPetLimit+99 - 48 8B 55 B7 - mov rdx,[rbp-49] Game.GAME::Skill::GetPetLimit+9D - E8 0EDDC7FF - call Game.GAME::ItemEquipment::GetRTTIClassInfo+10 Game.GAME::Skill::GetPetLimit+A2 - 48 8B 55 BF - mov rdx,[rbp-41] Game.GAME::Skill::GetPetLimit+A6 - 48 8B 4D AF - mov rcx,[rbp-51] Game.GAME::Skill::GetPetLimit+AA - 48 2B D1 - sub rdx,rcx Game.GAME::Skill::GetPetLimit+AD - 48 C1 FA 05 - sar rdx,05 Game.GAME::Skill::GetPetLimit+B1 - 41 B8 20000000 - mov r8d,00000020 Game.GAME::Skill::GetPetLimit+B7 - E8 C486C6FF - call Game.GAME::AuraContainer::~AuraContainer+50 Game.GAME::Skill::GetPetLimit+BC - 8B C3 - mov eax,ebx // ---------- INJECTING HERE ---------- Game.GAME::Skill::GetPetLimit+BE - 4C 8D 9C 24 F0000000 - lea r11,[rsp+000000F0] // ---------- DONE INJECTING ---------- Game.GAME::Skill::GetPetLimit+C6 - 49 8B 5B 10 - mov rbx,[r11+10] Game.GAME::Skill::GetPetLimit+CA - 49 8B 7B 18 - mov rdi,[r11+18] Game.GAME::Skill::GetPetLimit+CE - 49 8B E3 - mov rsp,r11 Game.GAME::Skill::GetPetLimit+D1 - 5D - pop rbp Game.GAME::Skill::GetPetLimit+D2 - C3 - ret Game.GAME::Skill::GetPetLimit+D3 - CC - int 3 Game.GAME::Skill::GetPetLimit+D4 - CC - int 3 Game.GAME::Skill::GetPetLimit+D5 - CC - int 3 Game.GAME::Skill::GetPetLimit+D6 - CC - int 3 Game.GAME::Skill::GetPetLimit+D7 - CC - int 3 } </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
Infinite Skill Points (999 locked) 1.2.0.2 x64 (re-wrote)
Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>134933</ID> <Description>"Infinite Skill Points (999 locked) 1.2.0.2"</Description> <LastState/> <Color>FFFFFF</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>//Grim Dawn 1.2.0.2 Re-wrote [ENABLE] //Game.GAME::Character::GetSkillPoints aobscanregion(infSkillPoints,Game.GAME::Character::GetSkillPoints,Game.GAME::Character::GetSkillPoints+F,8B) alloc(newmem,$1000,infSkillPoints) label(code) label(return) newmem: mov eax,#999 jmp return code: mov eax,[rcx+0000162C] jmp return infSkillPoints: jmp newmem nop return: registersymbol(infSkillPoints) [DISABLE] infSkillPoints: db 8B 81 2C 16 00 00 unregistersymbol(infSkillPoints) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Game.GAME::Character::GetSkillPoints Game.GAME::Character::ResetModifierPoints+4C: CC - int 3 Game.GAME::Character::ResetModifierPoints+4D: CC - int 3 Game.GAME::Character::ResetModifierPoints+4E: CC - int 3 Game.GAME::Character::ResetModifierPoints+4F: CC - int 3 Game.GAME::Character::HasModifierPointsInUse: 48 81 C1 B0 0D 00 00 - add rcx,00000DB0 Game.GAME::Character::HasModifierPointsInUse+7: E9 E4 7E 02 00 - jmp Game.GAME::CharacterBio::HasModifierPointsInUse Game.GAME::Character::HasModifierPointsInUse+C: CC - int 3 Game.GAME::Character::HasModifierPointsInUse+D: CC - int 3 Game.GAME::Character::HasModifierPointsInUse+E: CC - int 3 Game.GAME::Character::HasModifierPointsInUse+F: CC - int 3 // ---------- INJECTING HERE ---------- Game.GAME::Character::GetSkillPoints: 8B 81 2C 16 00 00 - mov eax,[rcx+0000162C] // ---------- DONE INJECTING ---------- Game.GAME::Character::GetSkillPoints+6: C3 - ret Game.GAME::Character::GetSkillPoints+7: CC - int 3 Game.GAME::Character::GetSkillPoints+8: CC - int 3 Game.GAME::Character::GetSkillPoints+9: CC - int 3 Game.GAME::Character::GetSkillPoints+A: CC - int 3 Game.GAME::Character::GetSkillPoints+B: CC - int 3 Game.GAME::Character::GetSkillPoints+C: CC - int 3 Game.GAME::Character::GetSkillPoints+D: CC - int 3 Game.GAME::Character::GetSkillPoints+E: CC - int 3 Game.GAME::Character::GetSkillPoints+F: CC - int 3 } </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
Infinite Devotion Points (999 locked) 1.2.0.2 x64 (re-wrote)
Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>134934</ID> <Description>"Infinite Devotion Points (999 locked) 1.2.0.2"</Description> <LastState/> <Color>FFFFFF</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>//Grim Dawn 1.2.0.2 Re-wrote [ENABLE] aobscanregion(infDevotionPoints,Game.GAME::Character::GetDevotionPoints,Game.GAME::Character::GetDevotionPoints+F,8B) alloc(newmem,$1000,infDevotionPoints) label(code) label(return) newmem: mov eax,#999 jmp return code: mov eax,[rcx+00001630] jmp return infDevotionPoints: jmp newmem nop return: registersymbol(infDevotionPoints) [DISABLE] infDevotionPoints: db 8B 81 30 16 00 00 unregistersymbol(infDevotionPoints) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Game.GAME::Character::GetDevotionPoints Game.GAME::Character::GetModifierPoints+6: C3 - ret Game.GAME::Character::GetModifierPoints+7: CC - int 3 Game.GAME::Character::GetModifierPoints+8: CC - int 3 Game.GAME::Character::GetModifierPoints+9: CC - int 3 Game.GAME::Character::GetModifierPoints+A: CC - int 3 Game.GAME::Character::GetModifierPoints+B: CC - int 3 Game.GAME::Character::GetModifierPoints+C: CC - int 3 Game.GAME::Character::GetModifierPoints+D: CC - int 3 Game.GAME::Character::GetModifierPoints+E: CC - int 3 Game.GAME::Character::GetModifierPoints+F: CC - int 3 // ---------- INJECTING HERE ---------- Game.GAME::Character::GetDevotionPoints: 8B 81 30 16 00 00 - mov eax,[rcx+00001630] // ---------- DONE INJECTING ---------- Game.GAME::Character::GetDevotionPoints+6: C3 - ret Game.GAME::Character::GetDevotionPoints+7: CC - int 3 Game.GAME::Character::GetDevotionPoints+8: CC - int 3 Game.GAME::Character::GetDevotionPoints+9: CC - int 3 Game.GAME::Character::GetDevotionPoints+A: CC - int 3 Game.GAME::Character::GetDevotionPoints+B: CC - int 3 Game.GAME::Character::GetDevotionPoints+C: CC - int 3 Game.GAME::Character::GetDevotionPoints+D: CC - int 3 Game.GAME::Character::GetDevotionPoints+E: CC - int 3 Game.GAME::Character::GetDevotionPoints+F: CC - int 3 } </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
Infinite Attribute Points (999 locked) 1.2.0.2 x64
Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>134936</ID> <Description>"Infinite Attribute Points (999 locked) 1.2.0.2"</Description> <LastState/> <Color>FFFFFF</Color> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>//Grim Dawn 1.2.0.2 Re-wrote [ENABLE] aobscanregion(infAttributePoints,Game.GAME::Character::GetModifierPoints,Game.GAME::Character::GetModifierPoints+F,8B) alloc(newmem,$1000,infAttributePoints) label(code) label(return) newmem: mov eax,#999 jmp return code: mov eax,[rcx+00001628] jmp return infAttributePoints: jmp newmem nop return: registersymbol(infAttributePoints) [DISABLE] infAttributePoints: db 8B 81 28 16 00 00 unregistersymbol(infAttributePoints) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: Game.GAME::Character::GetModifierPoints Game.GAME::Character::GetNextLevelExperience: 48 81 C1 A8 15 00 00 - add rcx,000015A8 Game.GAME::Character::GetNextLevelExperience+7: E9 C4 B0 19 00 - jmp Game.GAME::Item::SetIgnoreItemSkillCache+AB0 Game.GAME::Character::GetNextLevelExperience+C: CC - int 3 Game.GAME::Character::GetNextLevelExperience+D: CC - int 3 Game.GAME::Character::GetNextLevelExperience+E: CC - int 3 Game.GAME::Character::GetNextLevelExperience+F: CC - int 3 Game.GAME::Character::IsMaxLevel: 8B 81 1C 16 00 00 - mov eax,[rcx+0000161C] Game.GAME::Character::IsMaxLevel+6: 39 81 20 16 00 00 - cmp [rcx+00001620],eax Game.GAME::Character::IsMaxLevel+C: 0F 93 C0 - setae al Game.GAME::Character::IsMaxLevel+F: C3 - ret // ---------- INJECTING HERE ---------- Game.GAME::Character::GetModifierPoints: 8B 81 28 16 00 00 - mov eax,[rcx+00001628] // ---------- DONE INJECTING ---------- Game.GAME::Character::GetModifierPoints+6: C3 - ret Game.GAME::Character::GetModifierPoints+7: CC - int 3 Game.GAME::Character::GetModifierPoints+8: CC - int 3 Game.GAME::Character::GetModifierPoints+9: CC - int 3 Game.GAME::Character::GetModifierPoints+A: CC - int 3 Game.GAME::Character::GetModifierPoints+B: CC - int 3 Game.GAME::Character::GetModifierPoints+C: CC - int 3 Game.GAME::Character::GetModifierPoints+D: CC - int 3 Game.GAME::Character::GetModifierPoints+E: CC - int 3 Game.GAME::Character::GetModifierPoints+F: CC - int 3 } </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
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