Page 6 of 18

Re: Last Epoch

Posted: Wed Feb 28, 2024 8:16 pm
by Nailoh
"Max Affix Rolls for others" Doesn't it work for everyone or is it just my problem?

Re: Last Epoch

Posted: Wed Feb 28, 2024 9:31 pm
by DamSF
Nailoh wrote:
Wed Feb 28, 2024 8:16 pm
"Max Affix Rolls for others" Doesn't it work for everyone or is it just my problem?
Multiple people has reported it's not working, I tried it myself and it had no effect on normal drops.
All we can do now is wait until the author or someone else posts a fix.

Re: Last Epoch

Posted: Wed Feb 28, 2024 9:55 pm
by Impala
I don't have the game installed anymore and won't be updating it, there was a typo in that script, but it was fixed in the last 1 or 2 uploads

The very last upload should be working

I am done with the game though

Re: Last Epoch

Posted: Wed Feb 28, 2024 10:47 pm
by sanitka
Impala wrote:
Wed Feb 28, 2024 9:55 pm
I don't have the game installed anymore and won't be updating it, there was a typo in that script, but it was fixed in the last 1 or 2 uploads

The very last upload should be working

I am done with the game though
Great job. Looking forward for more of your tables ;).

As for affixes, it seems that hooked method is used randomly :(.

For curious ones, here is my take on Affixes:
Hooked: ItemAffix (constructor)

btw to know more about affixes, check Save Editor and verify in game what changed to understand the values :).

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>567</ID>
      <Description>"Max Affix Rolls for Others"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Last Epoch.exe
  Version:
  Date   : 2024-02-28
  Author : SanitKa

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(INJMAXAFFX,GameAssembly.dll,80 3D 8F 6B C4 04 00) // should be unique

INJMAXAFFX:
//  movzx ebx,r9b
  xor ebx,ebx
  dec bl
  cmp byte ptr [GameAssembly.dll+5B3C94A],00

registersymbol(INJMAXAFFX)

[DISABLE]

INJMAXAFFX:
  db 80 3D 8F 6B C4 04 00 41 0F B6 D9

unregistersymbol(*)

{
ItemAffix..ctor

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+EF5DB4

GameAssembly.dll+EF5D9B: CC                    - int 3 
GameAssembly.dll+EF5D9C: CC                    - int 3 
GameAssembly.dll+EF5D9D: CC                    - int 3 
GameAssembly.dll+EF5D9E: CC                    - int 3 
GameAssembly.dll+EF5D9F: CC                    - int 3 
ItemAffix..ctor: 48 89 5C 24 10        - mov [rsp+10],rbx
GameAssembly.dll+EF5DA5: 48 89 6C 24 18        - mov [rsp+18],rbp
GameAssembly.dll+EF5DAA: 48 89 74 24 20        - mov [rsp+20],rsi
GameAssembly.dll+EF5DAF: 57                    - push rdi
GameAssembly.dll+EF5DB0: 48 83 EC 30           - sub rsp,30
// ---------- INJECTING HERE ----------
GameAssembly.dll+EF5DB4: 80 3D 8F 6B C4 04 00  - cmp byte ptr [GameAssembly.dll+5B3C94A],00
// ---------- DONE INJECTING  ----------
GameAssembly.dll+EF5DBB: 41 0F B6 D9           - movzx ebx,r9b
GameAssembly.dll+EF5DBF: 41 0F B6 F0           - movzx esi,r8b
GameAssembly.dll+EF5DC3: 0F B7 EA              - movzx ebp,dx
GameAssembly.dll+EF5DC6: 48 8B F9              - mov rdi,rcx
GameAssembly.dll+EF5DC9: 75 12                 - jne GameAssembly.dll+EF5DDD
GameAssembly.dll+EF5DCB: 8B 0D 63 65 66 03     - mov ecx,[GameAssembly.dll+455C334]
GameAssembly.dll+EF5DD1: E8 4A C1 60 FF        - call GameAssembly.dll+501F20
GameAssembly.dll+EF5DD6: C6 05 6D 6B C4 04 01  - mov byte ptr [GameAssembly.dll+5B3C94A],01
GameAssembly.dll+EF5DDD: 33 D2                 - xor edx,edx
GameAssembly.dll+EF5DDF: 48 8B CF              - mov rcx,rdi
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Re: Last Epoch

Posted: Thu Feb 29, 2024 3:38 am
by DamSF
sanitka wrote:
Wed Feb 28, 2024 10:47 pm
Impala wrote:
Wed Feb 28, 2024 9:55 pm
I don't have the game installed anymore and won't be updating it, there was a typo in that script, but it was fixed in the last 1 or 2 uploads

The very last upload should be working

I am done with the game though
Great job. Looking forward for more of your tables ;).

As for affixes, it seems that hooked method is used randomly :(.

For curious ones, here is my take on Affixes:
Hooked: ItemAffix (constructor)

btw to know more about affixes, check Save Editor and verify in game what changed to understand the values :).

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>567</ID>
      <Description>"Max Affix Rolls for Others"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Last Epoch.exe
  Version:
  Date   : 2024-02-28
  Author : SanitKa

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(INJMAXAFFX,GameAssembly.dll,80 3D 8F 6B C4 04 00) // should be unique

INJMAXAFFX:
//  movzx ebx,r9b
  xor ebx,ebx
  dec bl
  cmp byte ptr [GameAssembly.dll+5B3C94A],00

registersymbol(INJMAXAFFX)

[DISABLE]

INJMAXAFFX:
  db 80 3D 8F 6B C4 04 00 41 0F B6 D9

unregistersymbol(*)

{
ItemAffix..ctor

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+EF5DB4

GameAssembly.dll+EF5D9B: CC                    - int 3 
GameAssembly.dll+EF5D9C: CC                    - int 3 
GameAssembly.dll+EF5D9D: CC                    - int 3 
GameAssembly.dll+EF5D9E: CC                    - int 3 
GameAssembly.dll+EF5D9F: CC                    - int 3 
ItemAffix..ctor: 48 89 5C 24 10        - mov [rsp+10],rbx
GameAssembly.dll+EF5DA5: 48 89 6C 24 18        - mov [rsp+18],rbp
GameAssembly.dll+EF5DAA: 48 89 74 24 20        - mov [rsp+20],rsi
GameAssembly.dll+EF5DAF: 57                    - push rdi
GameAssembly.dll+EF5DB0: 48 83 EC 30           - sub rsp,30
// ---------- INJECTING HERE ----------
GameAssembly.dll+EF5DB4: 80 3D 8F 6B C4 04 00  - cmp byte ptr [GameAssembly.dll+5B3C94A],00
// ---------- DONE INJECTING  ----------
GameAssembly.dll+EF5DBB: 41 0F B6 D9           - movzx ebx,r9b
GameAssembly.dll+EF5DBF: 41 0F B6 F0           - movzx esi,r8b
GameAssembly.dll+EF5DC3: 0F B7 EA              - movzx ebp,dx
GameAssembly.dll+EF5DC6: 48 8B F9              - mov rdi,rcx
GameAssembly.dll+EF5DC9: 75 12                 - jne GameAssembly.dll+EF5DDD
GameAssembly.dll+EF5DCB: 8B 0D 63 65 66 03     - mov ecx,[GameAssembly.dll+455C334]
GameAssembly.dll+EF5DD1: E8 4A C1 60 FF        - call GameAssembly.dll+501F20
GameAssembly.dll+EF5DD6: C6 05 6D 6B C4 04 01  - mov byte ptr [GameAssembly.dll+5B3C94A],01
GameAssembly.dll+EF5DDD: 33 D2                 - xor edx,edx
GameAssembly.dll+EF5DDF: 48 8B CF              - mov rcx,rdi
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Thank you very much, your code worked for me.
If you don't mind me making a request, could you take a look at Max Implicits Rolls for regular items too?

Re: Last Epoch

Posted: Thu Feb 29, 2024 10:38 am
by Messy6666
sanitka wrote:
Wed Feb 28, 2024 10:47 pm
As for affixes, it seems that hooked method is used randomly :(.
think i used

Code: Select all

ItemData.RebuildID
that one is always used to generate items for anything ( shops, drops, chests, gambler )
as far as i can remember tho

regards

-edit- yes looked it up from a 0.9l snapshot:
Image

also handy maybe:
Image

Re: Last Epoch

Posted: Thu Feb 29, 2024 1:35 pm
by NidasBot
Messy6666 wrote:
Thu Feb 29, 2024 10:38 am
Hey, I had a look at your table you had made for 0.9, great work, would you mind me using the scripts there as a reference and updating a couple thing? The scripts I've looked through seem to mostly work in 1.0, and it would save me the hassle of trial and error. :)

Also, would you mind telling me what program you're using in the images you shared? Thanks in advance.

Re: Last Epoch

Posted: Thu Feb 29, 2024 1:41 pm
by Messy6666
^ i don't mind if
a general rule here is indeed ask and make sure to give credits to those who earned them.

ehm snapshots from IDA pro with Il2CppDumper.
you can do it with the free IDA except not running py scripts for the dumper ( i believe )

-edit- the extra ; ; etc comming from BinDiff for IDA
google it.. awesome plugin

Re: Last Epoch

Posted: Thu Feb 29, 2024 5:55 pm
by sanitka
DamSF wrote:
Thu Feb 29, 2024 3:38 am
sanitka wrote:
Wed Feb 28, 2024 10:47 pm
Thank you very much, your code worked for me.
If you don't mind me making a request, could you take a look at Max Implicits Rolls for regular items too?

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>568</ID>
      <Description>"Max Unique, Sets and Implicit Rolls"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Last Epoch.exe
  Version: 
  Date   : 2024-02-29
  Author : SanitKa

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJMAXROLL1,GameAssembly.dll,E8 D6 08 67 FE) // should be unique
aobscanmodule(INJMAXROLL2,GameAssembly.dll,E8 16 08 67 FE) // should be unique

INJMAXROLL1:
  // call Fun.randomByte
  xor eax,eax
  dec al
  nop

registersymbol(INJMAXROLL1)

INJMAXROLL2:
  // call Fun.randomByte
  xor eax,eax
  dec al
  nop

registersymbol(INJMAXROLL2)

[DISABLE]

INJMAXROLL1:
  db E8 D6 08 67 FE

INJMAXROLL2:
  db E8 16 08 67 FE

unregistersymbol(INJMAXROLL1)
unregistersymbol(INJMAXROLL2)

{
ItemData.randomiseImplicitRolls

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+23C7215

GameAssembly.dll+23C71ED: 0F 1F 00              - nop dword ptr [rax]
GameAssembly.dll+23C71F0: 3B 50 18              - cmp edx,[rax+18]
GameAssembly.dll+23C71F3: 7D 48                 - jnl GameAssembly.dll+23C723D
GameAssembly.dll+23C71F5: 48 8B 0D E4 2B AA 03  - mov rcx,[GameAssembly.dll+5E69DE0]
GameAssembly.dll+23C71FC: F6 81 2F 01 00 00 02  - test byte ptr [rcx+0000012F],02
GameAssembly.dll+23C7203: 74 0E                 - je GameAssembly.dll+23C7213
GameAssembly.dll+23C7205: 83 B9 E0 00 00 00 00  - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+23C720C: 75 05                 - jne GameAssembly.dll+23C7213
GameAssembly.dll+23C720E: E8 9D 09 0C FE        - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+23C7213: 33 C9                 - xor ecx,ecx
// ---------- INJECTING HERE ----------
GameAssembly.dll+23C7215: E8 D6 08 67 FE        - call Fun.randomByte
// ---------- DONE INJECTING  ----------
GameAssembly.dll+23C721A: 48 85 FF              - test rdi,rdi
GameAssembly.dll+23C721D: 74 2E                 - je GameAssembly.dll+23C724D
GameAssembly.dll+23C721F: 3B 5F 18              - cmp ebx,[rdi+18]
GameAssembly.dll+23C7222: 73 2F                 - jae GameAssembly.dll+23C7253
GameAssembly.dll+23C7224: 48 63 CB              - movsxd  rcx,ebx
GameAssembly.dll+23C7227: FF C3                 - inc ebx
GameAssembly.dll+23C7229: 8B D3                 - mov edx,ebx
GameAssembly.dll+23C722B: 88 44 39 20           - mov [rcx+rdi+20],al
GameAssembly.dll+23C722F: 48 8B 46 28           - mov rax,[rsi+28]
GameAssembly.dll+23C7233: 48 8B F8              - mov rdi,rax
}

{
ItemData.randomiseUniqueRolls

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+23C72D5

GameAssembly.dll+23C72AD: 0F 1F 00              - nop dword ptr [rax]
GameAssembly.dll+23C72B0: 3B 50 18              - cmp edx,[rax+18]
GameAssembly.dll+23C72B3: 7D 48                 - jnl GameAssembly.dll+23C72FD
GameAssembly.dll+23C72B5: 48 8B 0D 24 2B AA 03  - mov rcx,[GameAssembly.dll+5E69DE0]
GameAssembly.dll+23C72BC: F6 81 2F 01 00 00 02  - test byte ptr [rcx+0000012F],02
GameAssembly.dll+23C72C3: 74 0E                 - je GameAssembly.dll+23C72D3
GameAssembly.dll+23C72C5: 83 B9 E0 00 00 00 00  - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+23C72CC: 75 05                 - jne GameAssembly.dll+23C72D3
GameAssembly.dll+23C72CE: E8 DD 08 0C FE        - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+23C72D3: 33 C9                 - xor ecx,ecx
// ---------- INJECTING HERE ----------
GameAssembly.dll+23C72D5: E8 16 08 67 FE        - call Fun.randomByte
// ---------- DONE INJECTING  ----------
GameAssembly.dll+23C72DA: 48 85 FF              - test rdi,rdi
GameAssembly.dll+23C72DD: 74 2E                 - je GameAssembly.dll+23C730D
GameAssembly.dll+23C72DF: 3B 5F 18              - cmp ebx,[rdi+18]
GameAssembly.dll+23C72E2: 73 2F                 - jae GameAssembly.dll+23C7313
GameAssembly.dll+23C72E4: 48 63 CB              - movsxd  rcx,ebx
GameAssembly.dll+23C72E7: FF C3                 - inc ebx
GameAssembly.dll+23C72E9: 8B D3                 - mov edx,ebx
GameAssembly.dll+23C72EB: E9 10 8D BF FD        - jmp 7FFB800B0000
GameAssembly.dll+23C72F0: 0F 1F 00              - nop dword ptr [rax]
GameAssembly.dll+23C72F3: 48 8B F8              - mov rdi,rax
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Re: Last Epoch

Posted: Thu Feb 29, 2024 9:16 pm
by Zadkielsan
new update made the table not working for the infinite runes

Re: Last Epoch

Posted: Thu Feb 29, 2024 9:50 pm
by chronix_
Could anyone create or share a script to add Legendary Potential to uniques items/drops (in inventory) like we had with the previous viewtopic.php?t=14585?
And to enable drops with all T7 mods as well if possible.

eg. "Max Item Tier" options & "Max forge and legendary potential for items that are in your inventory")

Greatly appreciated.

Re: Last Epoch

Posted: Thu Feb 29, 2024 10:56 pm
by DamSF
sanitka wrote:
Thu Feb 29, 2024 5:55 pm
DamSF wrote:
Thu Feb 29, 2024 3:38 am
sanitka wrote:
Wed Feb 28, 2024 10:47 pm
Thank you very much, your code worked for me.
If you don't mind me making a request, could you take a look at Max Implicits Rolls for regular items too?

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>568</ID>
      <Description>"Max Unique, Sets and Implicit Rolls"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Last Epoch.exe
  Version: 
  Date   : 2024-02-29
  Author : SanitKa

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJMAXROLL1,GameAssembly.dll,E8 D6 08 67 FE) // should be unique
aobscanmodule(INJMAXROLL2,GameAssembly.dll,E8 16 08 67 FE) // should be unique

INJMAXROLL1:
  // call Fun.randomByte
  xor eax,eax
  dec al
  nop

registersymbol(INJMAXROLL1)

INJMAXROLL2:
  // call Fun.randomByte
  xor eax,eax
  dec al
  nop

registersymbol(INJMAXROLL2)

[DISABLE]

INJMAXROLL1:
  db E8 D6 08 67 FE

INJMAXROLL2:
  db E8 16 08 67 FE

unregistersymbol(INJMAXROLL1)
unregistersymbol(INJMAXROLL2)

{
ItemData.randomiseImplicitRolls

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+23C7215

GameAssembly.dll+23C71ED: 0F 1F 00              - nop dword ptr [rax]
GameAssembly.dll+23C71F0: 3B 50 18              - cmp edx,[rax+18]
GameAssembly.dll+23C71F3: 7D 48                 - jnl GameAssembly.dll+23C723D
GameAssembly.dll+23C71F5: 48 8B 0D E4 2B AA 03  - mov rcx,[GameAssembly.dll+5E69DE0]
GameAssembly.dll+23C71FC: F6 81 2F 01 00 00 02  - test byte ptr [rcx+0000012F],02
GameAssembly.dll+23C7203: 74 0E                 - je GameAssembly.dll+23C7213
GameAssembly.dll+23C7205: 83 B9 E0 00 00 00 00  - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+23C720C: 75 05                 - jne GameAssembly.dll+23C7213
GameAssembly.dll+23C720E: E8 9D 09 0C FE        - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+23C7213: 33 C9                 - xor ecx,ecx
// ---------- INJECTING HERE ----------
GameAssembly.dll+23C7215: E8 D6 08 67 FE        - call Fun.randomByte
// ---------- DONE INJECTING  ----------
GameAssembly.dll+23C721A: 48 85 FF              - test rdi,rdi
GameAssembly.dll+23C721D: 74 2E                 - je GameAssembly.dll+23C724D
GameAssembly.dll+23C721F: 3B 5F 18              - cmp ebx,[rdi+18]
GameAssembly.dll+23C7222: 73 2F                 - jae GameAssembly.dll+23C7253
GameAssembly.dll+23C7224: 48 63 CB              - movsxd  rcx,ebx
GameAssembly.dll+23C7227: FF C3                 - inc ebx
GameAssembly.dll+23C7229: 8B D3                 - mov edx,ebx
GameAssembly.dll+23C722B: 88 44 39 20           - mov [rcx+rdi+20],al
GameAssembly.dll+23C722F: 48 8B 46 28           - mov rax,[rsi+28]
GameAssembly.dll+23C7233: 48 8B F8              - mov rdi,rax
}

{
ItemData.randomiseUniqueRolls

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+23C72D5

GameAssembly.dll+23C72AD: 0F 1F 00              - nop dword ptr [rax]
GameAssembly.dll+23C72B0: 3B 50 18              - cmp edx,[rax+18]
GameAssembly.dll+23C72B3: 7D 48                 - jnl GameAssembly.dll+23C72FD
GameAssembly.dll+23C72B5: 48 8B 0D 24 2B AA 03  - mov rcx,[GameAssembly.dll+5E69DE0]
GameAssembly.dll+23C72BC: F6 81 2F 01 00 00 02  - test byte ptr [rcx+0000012F],02
GameAssembly.dll+23C72C3: 74 0E                 - je GameAssembly.dll+23C72D3
GameAssembly.dll+23C72C5: 83 B9 E0 00 00 00 00  - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+23C72CC: 75 05                 - jne GameAssembly.dll+23C72D3
GameAssembly.dll+23C72CE: E8 DD 08 0C FE        - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+23C72D3: 33 C9                 - xor ecx,ecx
// ---------- INJECTING HERE ----------
GameAssembly.dll+23C72D5: E8 16 08 67 FE        - call Fun.randomByte
// ---------- DONE INJECTING  ----------
GameAssembly.dll+23C72DA: 48 85 FF              - test rdi,rdi
GameAssembly.dll+23C72DD: 74 2E                 - je GameAssembly.dll+23C730D
GameAssembly.dll+23C72DF: 3B 5F 18              - cmp ebx,[rdi+18]
GameAssembly.dll+23C72E2: 73 2F                 - jae GameAssembly.dll+23C7313
GameAssembly.dll+23C72E4: 48 63 CB              - movsxd  rcx,ebx
GameAssembly.dll+23C72E7: FF C3                 - inc ebx
GameAssembly.dll+23C72E9: 8B D3                 - mov edx,ebx
GameAssembly.dll+23C72EB: E9 10 8D BF FD        - jmp 7FFB800B0000
GameAssembly.dll+23C72F0: 0F 1F 00              - nop dword ptr [rax]
GameAssembly.dll+23C72F3: 48 8B F8              - mov rdi,rax
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Thank you, it works.

Re: Last Epoch

Posted: Fri Mar 01, 2024 3:44 am
by Silk
chronix_ wrote:
Thu Feb 29, 2024 9:50 pm
Could anyone create or share a script to add Legendary Potential to uniques items/drops (in inventory) like we had with the previous viewtopic.php?t=14585?
And to enable drops with all T7 mods as well if possible.

eg. "Max Item Tier" options & "Max forge and legendary potential for items that are in your inventory")

Greatly appreciated.
First thanks to all peeps for making this table for 1.0.

I have to second this quote here it would be neat to be able to test stuff with at least 2LP with T7 affixes... I ma having lots of trouble to get T& to drop on exalted items for the affixes I am looking for.

Re: Last Epoch

Posted: Fri Mar 01, 2024 8:35 am
by Vaaco
Any chance of updating to 1.0.1 for steam please? (Great table before the update started regular crashes during multiple combat actions)

Re: Last Epoch

Posted: Fri Mar 01, 2024 12:07 pm
by Impala
Vaaco wrote:
Fri Mar 01, 2024 8:35 am
Any chance of updating to 1.0.1 for steam please? (Great table before the update started regular crashes during multiple combat actions)
I updated it for 1.1, won't update again until I play again, but all but 2 options worked, and none of them would have made you crash