Kalas wrote: ↑Fri Oct 13, 2017 8:20 am
1) The issue with wrath energy is that If I move a float of 100 which is currently the max value for me and possibly for the rest of the game It just won't trigger the flag that allows you to freeze time (Pressing 5 in short), the option works great after you gain your wrath energy manually and just use the option to freeze the wrath from decreasing, I'll check for a flag that may be a nice way to activate the wrath power without gaining any.
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.