Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>1881</ID>
<Description>"Instant Wrath Energy Charge"</Description>
<LastState/>
<Color>FF8000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(aob_TalionWrathEnergy,ShadowOfWar.exe,F3 0F 10 B9 10 03 00 00 45)
registersymbol(aob_TalionWrathEnergy)
alloc(newmem_TalionWrathEnergy,1024,ShadowOfWar.exe)
label(return_TalionWrathEnergy)
newmem_TalionWrathEnergy:
comiss xmm4,xmm15 //xmm15 = 0
jg @f
cmp [rcx+00000310],(float)100
jae @f
mov [rcx+00000310],(float)99
@@:
movss xmm7,[rcx+00000310]
jmp return_TalionWrathEnergy
aob_TalionWrathEnergy:
jmp newmem_TalionWrathEnergy
nop
nop
nop
return_TalionWrathEnergy:
[DISABLE]
aob_TalionWrathEnergy:
db F3 0F 10 B9 10 03 00 00
unregistersymbol(aob_TalionWrathEnergy)
dealloc(newmem_TalionWrathEnergy)
{
// ORIGINAL CODE - INJECTION POINT: ShadowOfWar.AK::SoundEngine::RegisterGlobalCallback+9DBB9
"ShadowOfWar.exe"+4E8A3F: 48 8B 51 38 - mov rdx,[rcx+38]
"ShadowOfWar.exe"+4E8A43: 0F 57 C0 - xorps xmm0,xmm0
"ShadowOfWar.exe"+4E8A46: 48 2B 51 30 - sub rdx,[rcx+30]
"ShadowOfWar.exe"+4E8A4A: 0F 28 D8 - movaps xmm3,xmm0
"ShadowOfWar.exe"+4E8A4D: 0F 57 C0 - xorps xmm0,xmm0
"ShadowOfWar.exe"+4E8A50: 0F 29 70 E8 - movaps [rax-18],xmm6
"ShadowOfWar.exe"+4E8A54: 0F 29 78 D8 - movaps [rax-28],xmm7
"ShadowOfWar.exe"+4E8A58: 0F 28 E1 - movaps xmm4,xmm1
"ShadowOfWar.exe"+4E8A5B: F3 0F 10 89 68 03 00 00 - movss xmm1,[rcx+00000368]
"ShadowOfWar.exe"+4E8A63: 48 B8 67 66 66 66 66 66 66 66 - mov rax,6666666666666667
// ---------- INJECTING HERE ----------
"ShadowOfWar.exe"+4E8A6D: F3 0F 10 B9 10 03 00 00 - movss xmm7,[rcx+00000310]
// ---------- DONE INJECTING ----------
"ShadowOfWar.exe"+4E8A75: 45 8A F0 - mov r14l,r8l
"ShadowOfWar.exe"+4E8A78: 48 F7 EA - imul rdx
"ShadowOfWar.exe"+4E8A7B: 48 8B D9 - mov rbx,rcx
"ShadowOfWar.exe"+4E8A7E: 48 C1 FA 04 - sar rdx,04
"ShadowOfWar.exe"+4E8A82: 48 8B C2 - mov rax,rdx
"ShadowOfWar.exe"+4E8A85: 48 C1 E8 3F - shr rax,3F
"ShadowOfWar.exe"+4E8A89: 48 03 C2 - add rax,rdx
"ShadowOfWar.exe"+4E8A8C: 8B C0 - mov eax,eax
"ShadowOfWar.exe"+4E8A8E: F3 48 0F 2A C0 - cvtsi2ss xmm0,rax
"ShadowOfWar.exe"+4E8A93: F3 0F 59 81 C8 03 00 00 - mulss xmm0,[rcx+000003C8]
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>1882</ID>
<Description>"Unlimited Wrath/Elven Rage"</Description>
<LastState/>
<Color>FF8000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(aob_TalionWrathEnergy,ShadowOfWar.exe,F3 0F 10 B9 10 03 00 00 45)
registersymbol(aob_TalionWrathEnergy)
alloc(newmem_TalionWrathEnergy,1024,ShadowOfWar.exe)
label(return_TalionWrathEnergy)
newmem_TalionWrathEnergy:
cmp [rcx+00000310],(float)100
jae @f
mov [rcx+00000310],(float)99
@@:
movss xmm7,[rcx+00000310]
jmp return_TalionWrathEnergy
aob_TalionWrathEnergy:
jmp newmem_TalionWrathEnergy
nop
nop
nop
return_TalionWrathEnergy:
[DISABLE]
aob_TalionWrathEnergy:
db F3 0F 10 B9 10 03 00 00
unregistersymbol(aob_TalionWrathEnergy)
dealloc(newmem_TalionWrathEnergy)
{
// ORIGINAL CODE - INJECTION POINT: ShadowOfWar.AK::SoundEngine::RegisterGlobalCallback+9DBB9
"ShadowOfWar.exe"+4E8A3F: 48 8B 51 38 - mov rdx,[rcx+38]
"ShadowOfWar.exe"+4E8A43: 0F 57 C0 - xorps xmm0,xmm0
"ShadowOfWar.exe"+4E8A46: 48 2B 51 30 - sub rdx,[rcx+30]
"ShadowOfWar.exe"+4E8A4A: 0F 28 D8 - movaps xmm3,xmm0
"ShadowOfWar.exe"+4E8A4D: 0F 57 C0 - xorps xmm0,xmm0
"ShadowOfWar.exe"+4E8A50: 0F 29 70 E8 - movaps [rax-18],xmm6
"ShadowOfWar.exe"+4E8A54: 0F 29 78 D8 - movaps [rax-28],xmm7
"ShadowOfWar.exe"+4E8A58: 0F 28 E1 - movaps xmm4,xmm1
"ShadowOfWar.exe"+4E8A5B: F3 0F 10 89 68 03 00 00 - movss xmm1,[rcx+00000368]
"ShadowOfWar.exe"+4E8A63: 48 B8 67 66 66 66 66 66 66 66 - mov rax,6666666666666667
// ---------- INJECTING HERE ----------
"ShadowOfWar.exe"+4E8A6D: F3 0F 10 B9 10 03 00 00 - movss xmm7,[rcx+00000310]
// ---------- DONE INJECTING ----------
"ShadowOfWar.exe"+4E8A75: 45 8A F0 - mov r14l,r8l
"ShadowOfWar.exe"+4E8A78: 48 F7 EA - imul rdx
"ShadowOfWar.exe"+4E8A7B: 48 8B D9 - mov rbx,rcx
"ShadowOfWar.exe"+4E8A7E: 48 C1 FA 04 - sar rdx,04
"ShadowOfWar.exe"+4E8A82: 48 8B C2 - mov rax,rdx
"ShadowOfWar.exe"+4E8A85: 48 C1 E8 3F - shr rax,3F
"ShadowOfWar.exe"+4E8A89: 48 03 C2 - add rax,rdx
"ShadowOfWar.exe"+4E8A8C: 8B C0 - mov eax,eax
"ShadowOfWar.exe"+4E8A8E: F3 48 0F 2A C0 - cvtsi2ss xmm0,rax
"ShadowOfWar.exe"+4E8A93: F3 0F 59 81 C8 03 00 00 - mulss xmm0,[rcx+000003C8]
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Modified your wrath script to 2 versions. Should be able to set the elven rage flag correctly when charging up from empty gauge now.
Ver 1. Elven gauge decreases normally, every successful hit resets gauge to full again.
Ver 2. Elven gauge freezes at near max.