Created
December 21, 2023 19:08
-
-
Save sthalik/1888b1abef2bd3475bae6dc225dfe3fc to your computer and use it in GitHub Desktop.
underrail merchant refresh table
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<CheatTable CheatEngineTableVersion="45"> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2039</ID> | |
<Description>"UnderRail AOB script; CharGen only"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript Async="1">// Game : underrail.exe | |
// Version: | |
// Date : | |
// Author : Cs | |
[ENABLE] | |
aobscan(aobStatPtsChecker,83 BF ?? ?? 00 00 00 0F 9F C0 0F B6 C0) | |
aobscan(aobSkillPtsChecker,83 BA ?? ?? 00 00 00 7E ?? 8B 86 ?? ?? 00 00) | |
aobscan(aobFeatPtsChecker,83 B9 ?? ?? 00 00 00 7F ?? C7 86 ?? ?? 00 00 ?? ?? 00 00) | |
alloc(newmemStatPtsChecker,4096,aobStatPtsChecker) | |
label(aobStatPtsChecker_r) | |
label(aobStatPtsChecker_i) | |
registersymbol(aobStatPtsChecker_r) | |
registersymbol(aobStatPtsChecker_i) | |
label(lblStatPtsChecker) | |
label(lblStatPtsCheckerSkip) | |
label(lblStatPtsCheckerRet) | |
label(pBase) | |
label(iBaseStatOffset) | |
registersymbol(pBase) | |
registersymbol(iBaseStatOffset) | |
label(aobSkillPtsChecker_r) | |
label(aobSkillPtsChecker_i) | |
registersymbol(aobSkillPtsChecker_r) | |
registersymbol(aobSkillPtsChecker_i) | |
label(lblSkillPtsChecker) | |
label(lblSkillPtsCheckerSkip) | |
label(lblSkillPtsCheckerRet) | |
label(iBaseSkillOffset) | |
registersymbol(iBaseSkillOffset) | |
label(aobFeatPtsChecker_r) | |
label(aobFeatPtsChecker_i) | |
registersymbol(aobFeatPtsChecker_r) | |
registersymbol(aobFeatPtsChecker_i) | |
label(lblFeatPtsChecker) | |
label(lblFeatPtsCheckerSkip) | |
label(lblFeatPtsCheckerRet) | |
label(iBaseFeatOffset) | |
registersymbol(iBaseFeatOffset) | |
newmemStatPtsChecker: | |
lblStatPtsChecker: | |
mov dword ptr [pBase],edi | |
lblStatPtsCheckerSkip: | |
readmem(aobStatPtsChecker,7) | |
jmp lblStatPtsCheckerRet | |
aobStatPtsChecker_i: | |
readmem(aobStatPtsChecker,7) | |
pBase: | |
dd 0 | |
iBaseStatOffset: | |
readmem(aobStatPtsChecker+2,4) | |
lblSkillPtsChecker: | |
mov dword ptr [pBase],edx | |
lblSkillPtsCheckerSkip: | |
readmem(aobSkillPtsChecker,7) | |
jmp lblSkillPtsCheckerRet | |
aobSkillPtsChecker_i: | |
readmem(aobSkillPtsChecker,7) | |
iBaseSkillOffset: | |
readmem(aobSkillPtsChecker+2,4) | |
lblFeatPtsChecker: | |
mov dword ptr [pBase],ecx | |
lblFeatPtsCheckerSkip: | |
readmem(aobFeatPtsChecker,7) | |
jmp lblFeatPtsCheckerRet | |
aobFeatPtsChecker_i: | |
readmem(aobFeatPtsChecker,7) | |
iBaseFeatOffset: | |
readmem(aobFeatPtsChecker+2,4) | |
aobFeatPtsChecker: | |
aobFeatPtsChecker_r: | |
jmp lblFeatPtsChecker | |
nop | |
nop | |
lblFeatPtsCheckerRet: | |
aobSkillPtsChecker: | |
aobSkillPtsChecker_r: | |
jmp lblSkillPtsChecker | |
nop | |
nop | |
lblSkillPtsCheckerRet: | |
aobStatPtsChecker: | |
aobStatPtsChecker_r: | |
jmp lblStatPtsChecker | |
nop | |
nop | |
lblStatPtsCheckerRet: | |
[DISABLE] | |
aobStatPtsChecker_r: | |
readmem(aobStatPtsChecker_i,7) | |
unregistersymbol(aobStatPtsChecker_r) | |
unregistersymbol(aobStatPtsChecker_i) | |
unregistersymbol(bEnableStatPtsChecker) | |
aobSkillPtsChecker_r: | |
readmem(aobSkillPtsChecker_i,7) | |
unregistersymbol(aobSkillPtsChecker_r) | |
unregistersymbol(aobSkillPtsChecker_i) | |
unregistersymbol(iBaseSkillOffset) | |
aobFeatPtsChecker_r: | |
readmem(aobFeatPtsChecker_i,7) | |
unregistersymbol(aobFeatPtsChecker_r) | |
unregistersymbol(aobFeatPtsChecker_i) | |
unregistersymbol(iBaseFeatOffset) | |
dealloc(newmemStatPtsChecker) | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2040</ID> | |
<Description>"iRemainingStatPoints"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>[pBase]+[iBaseStatOffset]</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2041</ID> | |
<Description>"iRemainingSkillPoints"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>[pBase]+[iBaseSkillOffset]</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2042</ID> | |
<Description>"iRemainingSkillPoints"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>[pBase]+[iBaseFeatOffset]</Address> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>783</ID> | |
<Description>"UnderRail AOB script; force merchant refresh"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript>// Game : underrail.exe | |
// Version: | |
// Date : | |
// Author : Cs | |
[ENABLE] | |
aobscan(aobMerchantRefresh,8B B5 ?? ?? FF FF 83 C6 ?? F3 0F 7E 06 66 0F D6 07 8B 85 ?? ?? FF FF 8B 95 ?? ?? FF FF) | |
alloc(newmemMerchantRefresh,4096,aobMerchantRefresh) | |
label(aobMerchantRefresh_r) | |
label(aobMerchantRefresh_i) | |
registersymbol(aobMerchantRefresh_r) | |
registersymbol(aobMerchantRefresh_i) | |
label(lblMerchantRefresh) | |
label(lblMerchantRefreshSkip) | |
label(lblMerchantRefreshRet) | |
label(bEnableMerchantRefresh) | |
registersymbol(bEnableMerchantRefresh) | |
newmemMerchantRefresh: | |
bEnableMerchantRefresh: | |
dd 1 | |
lblMerchantRefresh: | |
readmem(aobMerchantRefresh,9) | |
cmp dword ptr [bEnableMerchantRefresh],1 | |
jne short lblMerchantRefreshSkip | |
mov dword ptr [esi+04],0 | |
lblMerchantRefreshSkip: | |
jmp lblMerchantRefreshRet | |
aobMerchantRefresh_i: | |
readmem(aobMerchantRefresh,9) | |
aobMerchantRefresh: | |
aobMerchantRefresh_r: | |
jmp lblMerchantRefresh | |
nop | |
nop | |
nop | |
nop | |
lblMerchantRefreshRet: | |
[DISABLE] | |
aobMerchantRefresh_r: | |
readmem(aobMerchantRefresh_i,9) | |
unregistersymbol(aobMerchantRefresh_r) | |
unregistersymbol(aobMerchantRefresh_i) | |
unregistersymbol(bEnableMerchantRefresh) | |
dealloc(newmemMerchantRefresh) | |
</AssemblerScript> | |
<Hotkeys> | |
<Hotkey> | |
<Action>Toggle Activation</Action> | |
<Keys> | |
<Key>122</Key> | |
</Keys> | |
<ID>1</ID> | |
<ActivateSound>Activate</ActivateSound> | |
<DeactivateSound>Deactivate</DeactivateSound> | |
</Hotkey> | |
</Hotkeys> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>784</ID> | |
<Description>"bEnableMerchantRefresh"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled | |
1:Enabled | |
</DropDownList> | |
<Color>008000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>bEnableMerchantRefresh</Address> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1885</ID> | |
<Description>"UnderRail AOB script; main"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript Async="1">// Game Executable : underrail.exe | |
// Author : Cs | |
// Executable Version: 0.1.0.0 | |
// Module Version : | |
// Script Date : 2021-04-19 | |
// Created with : customAOBInjectionTemplates version: 1.3.8 | |
[ENABLE] | |
aobscan(aobCheckCoordsBlock,83 B8 ?? ?? 00 00 00 74 ?? 8B 43 ?? 8B 40) | |
aobscan(aobHealthOffset,8B 80 ?? ?? 00 00 8B 48 ?? FF 15 ?? ?? ?? ?? D9) | |
aobscan(aobPsiOffset,D9 ?? ?? 8B 8E ?? ?? 00 00 FF 15 ?? ?? ?? ?? 8B 8E ?? ?? ?? ?? D9) | |
aobscan(aobPsiRsrvOffset, 8B BE ?? ?? 00 00 8B 8E ?? ?? 00 00 FF 15 ?? ?? ?? ?? DD 5D ?? DD 45 ?? DD 5D ??) | |
alloc(newmemCheckCoordsBlock,4096,aobCheckCoordsBlock) | |
label(aobCheckCoordsBlock_r) | |
label(aobCheckCoordsBlock_i) | |
registersymbol(aobCheckCoordsBlock_r) | |
registersymbol(aobCheckCoordsBlock_i) | |
label(lblCheckCoordsBlock) | |
label(lblCheckCoordsBlockSkipGod) | |
label(lblCheckCoordsBlockSkip) | |
label(lblCheckCoordsBlockRet) | |
label(bEnableGodMode) | |
label(bInfinitePsi) | |
registersymbol(bEnableGodMode) | |
registersymbol(bInfinitePsi) | |
label(pPlayerBase) | |
label(pPlayerCoords) | |
registersymbol(pPlayerBase) | |
registersymbol(pPlayerCoords) | |
label(iPlayerDefensiveOffset) | |
label(iPlayerHealthOffset) | |
label(iPlayerPsiOffset) | |
label(iPlayerPsiRsrvOffset) | |
registersymbol(iPlayerDefensiveOffset) | |
registersymbol(iPlayerHealthOffset) | |
registersymbol(iPlayerPsiOffset) | |
registersymbol(iPlayerPsiRsrvOffset) | |
newmemCheckCoordsBlock: | |
////////////////////////////////////////////// | |
// Set your preferred default values below. // | |
////////////////////////////////////////////// | |
bEnableGodMode: | |
dd 0 | |
bInfinitePsi: | |
dd 0 | |
////////////////////////////////////////////// | |
// Set your preferred default values above. // | |
////////////////////////////////////////////// | |
lblCheckCoordsBlock: | |
mov dword ptr [pPlayerBase],eax | |
mov ecx,[aobCheckCoordsBlock_i+2] | |
mov ecx,[eax+ecx] | |
mov dword ptr [pPlayerCoords],ecx | |
cmp dword ptr [bEnableGodMode],1 | |
jne short lblCheckCoordsBlockSkipGod | |
mov ecx,[iPlayerDefensiveOffset] | |
mov ecx,[eax+ecx] | |
add ecx,[iPlayerHealthOffset] | |
{$try} | |
mov ecx,[ecx] | |
cmp dword ptr [ecx+18],0 | |
jle short lblCheckCoordsBlockSkipGod | |
mov edi,[ecx+10] | |
mov dword ptr [ecx+18],edi | |
{$except} | |
lblCheckCoordsBlockSkipGod: | |
cmp dword ptr [bInfinitePsi],1 | |
jne short lblCheckCoordsBlockSkip | |
mov ecx,[iPlayerDefensiveOffset] | |
mov ecx,[eax+ecx+04] | |
add ecx,[iPlayerPsiOffset] | |
{$try} | |
mov ecx,[ecx] | |
cmp dword ptr [ecx+18],0 | |
jle short lblCheckCoordsBlockSkip | |
mov edi,[ecx+10] | |
mov dword ptr [ecx+18],edi | |
{$except} | |
lblCheckCoordsBlockSkip: | |
xor edi,edi | |
readmem(aobCheckCoordsBlock,7) | |
jmp lblCheckCoordsBlockRet | |
aobCheckCoordsBlock_i: | |
readmem(aobCheckCoordsBlock,7) | |
align 4 | |
pPlayerBase: | |
dd 0 | |
pPlayerCoords: | |
dd 0 | |
iPlayerDefensiveOffset: | |
readmem(aobHealthOffset+02,4) | |
align 4 | |
iPlayerHealthOffset: | |
readmem(aobHealthOffset+08,1) | |
db 00 00 00 | |
align 4 | |
iPlayerPsiOffset: | |
readmem(aobPsiOffset+03+02,4) | |
align 4 | |
iPlayerPsiRsrvOffset: | |
readmem(aobPsiRsrvOffset+06+02,4) | |
align 4 | |
aobCheckCoordsBlock: | |
aobCheckCoordsBlock_r: | |
jmp lblCheckCoordsBlock | |
nop 2 | |
lblCheckCoordsBlockRet: | |
[DISABLE] | |
aobCheckCoordsBlock_r: | |
readmem(aobCheckCoordsBlock_i,7) | |
unregistersymbol(*) | |
dealloc(*) | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1886</ID> | |
<Description>"bEnableGodMode"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled | |
1:Enabled | |
</DropDownList> | |
<Color>008000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>bEnableGodMode</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1887</ID> | |
<Description>"bInfinitePsi"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled | |
1:Enabled | |
</DropDownList> | |
<Color>008000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>bInfinitePsi</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1888</ID> | |
<Description>"sPlayerName"</Description> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>50</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1889</ID> | |
<Description>"fPlayerCoords[x]"</Description> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pPlayerCoords</Address> | |
<Offsets> | |
<Offset>8c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1890</ID> | |
<Description>"fPlayerCoords[y]"</Description> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pPlayerCoords</Address> | |
<Offsets> | |
<Offset>90</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1891</ID> | |
<Description>"fPlayerCoords[z] (?)"</Description> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pPlayerCoords</Address> | |
<Offsets> | |
<Offset>94</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1892</ID> | |
<Description>"iXPLevel"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>d8</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1893</ID> | |
<Description>"iXP"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1894</ID> | |
<Description>"dCarryWeight"</Description> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>44</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1895</ID> | |
<Description>"iMaxCarryWeight"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>104</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1896</ID> | |
<Description>"LevelingPts"</Description> | |
<Options moHideChildren="1"/> | |
<Color>0080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1897</ID> | |
<Description>"iRemainingStatPoints"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>154</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1898</ID> | |
<Description>"iRemainingSkillPoints"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>158</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1899</ID> | |
<Description>"iRemainingFeatPoints"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>15C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1900</ID> | |
<Description>"iRemainingSpecPoints"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>160</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1901</ID> | |
<Description>"Abilities"</Description> | |
<Options moHideChildren="1"/> | |
<Color>0080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1902</ID> | |
<Description>"iStrengthBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>8</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1903</ID> | |
<Description>"iStrengthEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>8</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1904</ID> | |
<Description>"iDexterityBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>C</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1905</ID> | |
<Description>"iDexterityEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>C</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1906</ID> | |
<Description>"iAgilityBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>10</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1907</ID> | |
<Description>"iAgilityEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>10</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1908</ID> | |
<Description>"iConstitutionBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>14</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1909</ID> | |
<Description>"iConstitutionEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>14</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1910</ID> | |
<Description>"iPerceptionBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>18</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1911</ID> | |
<Description>"iPerceptionEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>18</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1912</ID> | |
<Description>"iWillBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>1C</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1913</ID> | |
<Description>"iWillEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>1C</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1914</ID> | |
<Description>"iIntelligenceBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>20</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1915</ID> | |
<Description>"iIntelligenceEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>20</Offset> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>5c</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1916</ID> | |
<Description>"Skills"</Description> | |
<Options moHideChildren="1"/> | |
<Color>0080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1917</ID> | |
<Description>"iGunsBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>8</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1918</ID> | |
<Description>"iGunsEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>8</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1919</ID> | |
<Description>"iThrowingBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1920</ID> | |
<Description>"iThrowingEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1921</ID> | |
<Description>"iCrossbowsBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>10</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1922</ID> | |
<Description>"iCrossbowsEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>10</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1923</ID> | |
<Description>"iMeleeBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>14</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1924</ID> | |
<Description>"iMeleeEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>14</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1925</ID> | |
<Description>"iDodgeBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>18</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1926</ID> | |
<Description>"iDodgeEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>18</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1927</ID> | |
<Description>"iEvasionBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>1C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1928</ID> | |
<Description>"iEvasionEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>1C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1929</ID> | |
<Description>"iStealthBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>20</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1930</ID> | |
<Description>"iStealthEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>20</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1931</ID> | |
<Description>"iHackingBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>24</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1932</ID> | |
<Description>"iHackingEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>24</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1933</ID> | |
<Description>"iLockpickingBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>28</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1934</ID> | |
<Description>"iLockpickingEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>28</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1935</ID> | |
<Description>"iPickpocketingBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>2C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1936</ID> | |
<Description>"iPickpocketingEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>2C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1937</ID> | |
<Description>"iTrapsBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>30</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1938</ID> | |
<Description>"iTrapsEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>30</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1939</ID> | |
<Description>"iMechanicsBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>34</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1940</ID> | |
<Description>"iMechanicsEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>34</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1941</ID> | |
<Description>"iElectronicsBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>38</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1942</ID> | |
<Description>"iElectronicsEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>38</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1943</ID> | |
<Description>"iChemistryBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>3C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1944</ID> | |
<Description>"iChemistryEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>3C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1945</ID> | |
<Description>"iBiologyBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>40</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1946</ID> | |
<Description>"iBiologyEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>40</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1947</ID> | |
<Description>"iTailoringBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>44</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1948</ID> | |
<Description>"iTailoringEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>44</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1949</ID> | |
<Description>"iThoughtControlBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>48</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1950</ID> | |
<Description>"iThoughtControlEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>48</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1951</ID> | |
<Description>"iPhychokinesisBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>4C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1952</ID> | |
<Description>"iPhychokinesisEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>4C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1953</ID> | |
<Description>"iMetathermicsBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>50</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1954</ID> | |
<Description>"iMetathermicsEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>50</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1955</ID> | |
<Description>"iUnknownBase"</Description> | |
<Color>800080</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>54</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1956</ID> | |
<Description>"iUnknownEffective"</Description> | |
<Color>800080</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>54</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1957</ID> | |
<Description>"iPersuasionBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>58</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1958</ID> | |
<Description>"iPersuasionEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>58</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1959</ID> | |
<Description>"iIntimidationBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>5C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1960</ID> | |
<Description>"iIntimidationEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>5C</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1961</ID> | |
<Description>"iMerchantileBase"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1962</ID> | |
<Description>"iMerchantileEffective"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>14</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>8</Offset> | |
<Offset>60</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1963</ID> | |
<Description>"DefensiveAbilities"</Description> | |
<Options moHideChildren="1"/> | |
<Color>0080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1964</ID> | |
<Description>"dArmourPenalty"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>08</Offset> | |
<Offset>[iPlayerDefensiveOffset]</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2080</ID> | |
<Description>"dWeaponCritChance"</Description> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>20</Offset> | |
<Offset>[iPlayerDefensiveOffset]</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1965</ID> | |
<Description>"dHealingEff."</Description> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>30</Offset> | |
<Offset>[iPlayerDefensiveOffset]</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1966</ID> | |
<Description>"fMaxHealth"</Description> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>[iPlayerHealthOffset]</Offset> | |
<Offset>[iPlayerDefensiveOffset]</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1967</ID> | |
<Description>"fHealth"</Description> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>18</Offset> | |
<Offset>[iPlayerHealthOffset]</Offset> | |
<Offset>[iPlayerDefensiveOffset]</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1968</ID> | |
<Description>"iDodge"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>A4</Offset> | |
<Offset>[iPlayerDefensiveOffset]</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1969</ID> | |
<Description>"iEvasion"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>A8</Offset> | |
<Offset>[iPlayerDefensiveOffset]</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1970</ID> | |
<Description>"iFortitude"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>AC</Offset> | |
<Offset>[iPlayerDefensiveOffset]</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1971</ID> | |
<Description>"iResolve"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>B0</Offset> | |
<Offset>[iPlayerDefensiveOffset]</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1972</ID> | |
<Description>"OffensiveAbilities"</Description> | |
<Options moHideChildren="1"/> | |
<Color>0080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1973</ID> | |
<Description>"dCritBonus"</Description> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>[iPlayerDefensiveOffset]+4</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1974</ID> | |
<Description>"dCritChance"</Description> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>[iPlayerDefensiveOffset]+4</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1975</ID> | |
<Description>"dSpecialAttackBonus"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>70</Offset> | |
<Offset>[iPlayerDefensiveOffset]+4</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1976</ID> | |
<Description>"pEquippedWeapon"</Description> | |
<ShowAsHex>1</ShowAsHex> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>78</Offset> | |
<Offset>[iPlayerDefensiveOffset]+4</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1977</ID> | |
<Description>"fMaxPsi"</Description> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>[iPlayerPsiOffset]</Offset> | |
<Offset>[iPlayerDefensiveOffset]+4</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1978</ID> | |
<Description>"fPsi"</Description> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>18</Offset> | |
<Offset>[iPlayerPsiOffset]</Offset> | |
<Offset>[iPlayerDefensiveOffset]+4</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1979</ID> | |
<Description>"iMaxActionPoints"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>B4</Offset> | |
<Offset>[iPlayerDefensiveOffset]+4</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1980</ID> | |
<Description>"iMaxMovementPoints"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>B8</Offset> | |
<Offset>[iPlayerDefensiveOffset]+4</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1981</ID> | |
<Description>"iInitiative"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pPlayerBase</Address> | |
<Offsets> | |
<Offset>D0</Offset> | |
<Offset>[iPlayerDefensiveOffset]+4</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1982</ID> | |
<Description>"Script: Max Carry Weight Mod"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript Async="1">// Game : underrail.exe | |
// Version: | |
// Date : | |
// Author : Cs | |
[ENABLE] | |
aobscan(aobMaxCarryWeightCalc,89 82 ?? ?? 00 00 8B 8A ?? ?? 00 00 39 09 FF 15 ?? ?? ?? ?? 8B ?? ?? DD) | |
alloc(newmemMaxCarryWeightCalc,4096,aobMaxCarryWeightCalc) | |
label(aobMaxCarryWeightCalc_r) | |
label(aobMaxCarryWeightCalc_i) | |
registersymbol(aobMaxCarryWeightCalc_r) | |
registersymbol(aobMaxCarryWeightCalc_i) | |
label(lblMaxCarryWeightCalc) | |
label(lblMaxCarryWeightCalcSkip) | |
label(lblMaxCarryWeightCalcRet) | |
label(bEnableMaxCarryWeightMod) | |
label(fMaxCarryWeightMod) | |
registersymbol(bEnableMaxCarryWeightMod) | |
registersymbol(fMaxCarryWeightMod) | |
newmemMaxCarryWeightCalc: | |
bEnableMaxCarryWeightMod: | |
dd 1 | |
fMaxCarryWeightMod: | |
dd (float)100.0 | |
lblMaxCarryWeightCalc: | |
cmp dword ptr [bEnableMaxCarryWeightMod],1 | |
jne short lblMaxCarryWeightCalcSkip | |
push eax | |
fild dword ptr [esp] | |
fmul dword ptr [fMaxCarryWeightMod] | |
fistp dword ptr [esp] | |
pop eax | |
lblMaxCarryWeightCalcSkip: | |
readmem(aobMaxCarryWeightCalc,6) | |
jmp lblMaxCarryWeightCalcRet | |
aobMaxCarryWeightCalc_i: | |
readmem(aobMaxCarryWeightCalc,6) | |
aobMaxCarryWeightCalc: | |
aobMaxCarryWeightCalc_r: | |
jmp lblMaxCarryWeightCalc | |
nop | |
lblMaxCarryWeightCalcRet: | |
[DISABLE] | |
aobMaxCarryWeightCalc_r: | |
readmem(aobMaxCarryWeightCalc_i,6) | |
unregistersymbol(aobMaxCarryWeightCalc_r) | |
unregistersymbol(aobMaxCarryWeightCalc_i) | |
unregistersymbol(bEnableMaxCarryWeightMod) | |
dealloc(newmemMaxCarryWeightCalc) | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1983</ID> | |
<Description>"bEnableMaxCarryWeightMod"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled | |
1:Enabled | |
</DropDownList> | |
<Color>008000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>bEnableMaxCarryWeightMod</Address> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1984</ID> | |
<Description>"fMaxCarryWeightMod"</Description> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>fMaxCarryWeightMod</Address> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1985</ID> | |
<Description>"Script: JetSki Weight Calc (WORKING ???)"</Description> | |
<Options moHideChildren="1"/> | |
<Color>C0C0C0</Color> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript Async="1">// Game : underrail.exe | |
// Version: | |
// Date : | |
// Author : Cs | |
[ENABLE] | |
aobscan(aobJetSkiWeightCalc,DD 42 ?? DC 40 ?? DD 58 ?? 8B 45 ?? DD) | |
alloc(newmemJetSkiWeightCalc,4096,aobJetSkiWeightCalc) | |
label(aobJetSkiWeightCalc_r) | |
label(aobJetSkiWeightCalc_i) | |
registersymbol(aobJetSkiWeightCalc_r) | |
registersymbol(aobJetSkiWeightCalc_i) | |
label(lblJetSkiWeightCalc) | |
label(lblJetSkiWeightCalcSkip) | |
label(lblJetSkiWeightCalcRet) | |
label(bEnableJetSkiIgnoresPlayerWeight) | |
registersymbol(bEnableJetSkiIgnoresPlayerWeight) | |
newmemJetSkiWeightCalc: | |
bEnableJetSkiIgnoresPlayerWeight: | |
dd 1 | |
lblJetSkiWeightCalc: | |
readmem(aobJetSkiWeightCalc,3) | |
cmp dword ptr [bEnableJetSkiIgnoresPlayerWeight],1 | |
jne short lblJetSkiWeightCalcSkip | |
fstp st(0) | |
fldz | |
lblJetSkiWeightCalcSkip: | |
readmem(aobJetSkiWeightCalc+3,3) | |
jmp lblJetSkiWeightCalcRet | |
aobJetSkiWeightCalc_i: | |
readmem(aobJetSkiWeightCalc,6) | |
aobJetSkiWeightCalc: | |
aobJetSkiWeightCalc_r: | |
jmp lblJetSkiWeightCalc | |
nop | |
lblJetSkiWeightCalcRet: | |
[DISABLE] | |
aobJetSkiWeightCalc_r: | |
readmem(aobJetSkiWeightCalc_i,6) | |
unregistersymbol(aobJetSkiWeightCalc_r) | |
unregistersymbol(aobJetSkiWeightCalc_i) | |
unregistersymbol(bEnableJetSkiIgnoresPlayerWeight) | |
dealloc(newmemJetSkiWeightCalc) | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1986</ID> | |
<Description>"bEnableJetSkiIgnoresPlayerWeight"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled | |
1:Enabled | |
</DropDownList> | |
<Color>008000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>bEnableJetSkiIgnoresPlayerWeight</Address> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1987</ID> | |
<Description>"Script: XP Gain Mod"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript Async="1">// Game : underrail.exe | |
// Version: | |
// Date : | |
// Author : Cs | |
[ENABLE] | |
aobscan(aobXPGainCalc,8B 45 ?? 01 86 ?? ?? 00 00 85 D2 75) | |
alloc(newmemXPGainCalc,4096,aobXPGainCalc) | |
label(aobXPGainCalc_r) | |
label(aobXPGainCalc_i) | |
registersymbol(aobXPGainCalc_r) | |
registersymbol(aobXPGainCalc_i) | |
label(lblXPGainCalc) | |
label(lblXPGainCalcSkip) | |
label(lblXPGainCalcRet) | |
label(bEnableXPGainMod) | |
label(fXPGainMod) | |
registersymbol(bEnableXPGainMod) | |
registersymbol(fXPGainMod) | |
newmemXPGainCalc: | |
bEnableXPGainMod: | |
dd 1 | |
fXPGainMod: | |
dd (float)2.0 | |
lblXPGainCalc: | |
cmp dword ptr [bEnableXPGainMod],1 | |
jne short lblXPGainCalcSkip | |
movsx eax,[aobXPGainCalc_i+02] | |
fild dword ptr [ebp+eax] | |
fmul dword ptr [fXPGainMod] | |
fistp dword ptr [ebp+eax] | |
lblXPGainCalcSkip: | |
readmem(aobXPGainCalc,9) | |
jmp lblXPGainCalcRet | |
aobXPGainCalc_i: | |
readmem(aobXPGainCalc,9) | |
aobXPGainCalc: | |
aobXPGainCalc_r: | |
jmp lblXPGainCalc | |
nop | |
nop | |
nop | |
nop | |
lblXPGainCalcRet: | |
[DISABLE] | |
aobXPGainCalc_r: | |
readmem(aobXPGainCalc_i,9) | |
unregistersymbol(aobXPGainCalc_r) | |
unregistersymbol(aobXPGainCalc_i) | |
unregistersymbol(bEnableXPGainMod) | |
unregistersymbol(fXPGainMod) | |
dealloc(newmemXPGainCalc) | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1988</ID> | |
<Description>"bEnableXPGainMod"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled | |
1:Enabled | |
</DropDownList> | |
<Color>008000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>bEnableXPGainMod</Address> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1989</ID> | |
<Description>"fXPGainMod"</Description> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>fXPGainMod</Address> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2132</ID> | |
<Description>"Script: Combat Movement Tracker"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript>{ Game : underrail.exe | |
Version: | |
Date : 2021-12-29 | |
Author : User | |
This script does blah blah blah | |
} | |
[ENABLE] | |
aobscan(fnCombatMoveUpdate,8B F1 DD 46 04) // should be unique | |
alloc(newmem,$1000) | |
label(code) | |
label(return) | |
label(pCombatMoveTracker) | |
newmem: | |
pCombatMoveTracker: | |
dd 0 | |
align 4 | |
code: | |
mov [pCombatMoveTracker], ecx | |
mov esi,ecx | |
fld qword ptr [esi+04] | |
jmp return | |
fnCombatMoveUpdate: | |
jmp code | |
return: | |
registersymbol(fnCombatMoveUpdate) | |
registersymbol(pCombatMoveTracker) | |
[DISABLE] | |
fnCombatMoveUpdate: | |
db 8B F1 DD 46 04 | |
unregistersymbol(fnCombatMoveUpdate) | |
unregistersymbol(pCombatMoveTracker) | |
dealloc(newmem) | |
{ | |
// ORIGINAL CODE - INJECTION POINT: 0168E935 | |
// ---------- INJECTING HERE ---------- | |
0168E935: 8B F1 - mov esi,ecx | |
0168E937: DD 46 04 - fld qword ptr [esi+04] | |
// ---------- DONE INJECTING ---------- | |
0168E93A: 83 EC 08 - sub esp,08 | |
0168E93D: DD 1C 24 - fstp qword ptr [esp] | |
0168E940: E8 D3 E2 90 69 - call System.Convert::ToInt32 | |
0168E945: 89 45 F8 - mov [ebp-08],eax | |
0168E948: DB 45 F8 - fild dword ptr [ebp-08] | |
0168E94B: DD 5E 04 - fstp qword ptr [esi+04] | |
0168E94E: DD 46 0C - fld qword ptr [esi+0C] | |
0168E951: 83 EC 08 - sub esp,08 | |
0168E954: DD 1C 24 - fstp qword ptr [esp] | |
} | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2138</ID> | |
<Description>"Note: Be careful about freezing values. This will show values for enemies on their turn"</Description> | |
<Color>FF00FF</Color> | |
<GroupHeader>1</GroupHeader> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2143</ID> | |
<Description>"Override Initial Player Movement Points"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript>{ Game : underrail.exe | |
Version: | |
Date : 2021-12-29 | |
Author : User | |
This script does blah blah blah | |
} | |
[ENABLE] | |
aobscan(fnCombatStart,8B F1 8B 46 28 8B 48 4C FF 15 ?? ?? ?? ?? 8B 80 9C 00 00 00) // should be unique | |
assert(fnCombatStart+38, D9 EE DD 5E 14 D9 EE DD 5E 1C) | |
assert(fnCombatStart+42, 5E 5D C3) | |
alloc(newmem,$1000) | |
label(fnCombatStartInjCode) | |
label(fnCombatAlterInitCode) | |
label(fnCombatStartReturn) | |
label(fnCombatStartReturnSkip) | |
label(pCombatMoveBaseObj) | |
label(iPlayerMovementOverride) | |
label(iPlayerActionOverride) | |
newmem: | |
pCombatMoveBaseObj: | |
dd 0 | |
iPlayerMovementOverride: | |
dd #0 | |
iPlayerActionOverride: | |
dd #0 | |
align 4 | |
fnCombatStartInjCode: | |
// EAX will have player/enemy pointer | |
mov [pCombatMoveBaseObj], eax | |
reassemble(fnCombatStart+2+3+3+6) // mov eax,[eax+0000009C] | |
jmp fnCombatStartReturn | |
// it appears .net is tracking what should be called from where and crashes | |
// if skipped so we track the pointer and replace later as needed | |
align 4 | |
fnCombatAlterInitCode: | |
// esi has the class pointer | |
// eax need not be preserved | |
fldz | |
fstp qword ptr [esi+14] | |
fldz | |
fstp qword ptr [esi+1C] | |
mov eax, [pCombatMoveBaseObj] | |
cmp eax, [pPlayerBase] // verify if player or not | |
jne fnCombatStartReturnSkip // normal initialization if not player | |
cmp [iPlayerActionOverride], 0 | |
jne @f | |
// [[[pPlayerBase]+[iPlayerDefensiveOffset]+4]+B4] | |
mov eax, [pPlayerBase] | |
add eax, [iPlayerDefensiveOffset] | |
add eax, 4 | |
mov eax, [eax] | |
add eax, B4 | |
mov eax, [eax] | |
mov [iPlayerActionOverride], eax | |
@@: | |
cmp [iPlayerMovementOverride], 0 | |
jne @f | |
// [[[pPlayerBase]+[iPlayerDefensiveOffset]+4]+B8] | |
mov eax, [pPlayerBase] | |
add eax, [iPlayerDefensiveOffset] | |
add eax, 4 | |
mov eax, [eax] | |
add eax, B8 | |
mov eax, [eax] | |
mov [iPlayerMovementOverride], eax | |
@@: | |
fild dword ptr [iPlayerActionOverride] | |
fstp qword ptr [esi+4] | |
fild dword ptr [iPlayerMovementOverride] | |
fstp qword ptr [esi+C] | |
@@: | |
jmp fnCombatStartReturnSkip // skip whole routine | |
fnCombatStart+E: | |
jmp fnCombatStartInjCode | |
nop | |
fnCombatStartReturn: | |
fnCombatStart+38: | |
jmp fnCombatAlterInitCode | |
nop 5 | |
fnCombatStart+42: | |
fnCombatStartReturnSkip: | |
registersymbol(fnCombatStart) | |
registersymbol(fnCombatStartInjCode) | |
registersymbol(fnCombatAlterInitCode) | |
registersymbol(fnCombatStartReturn) | |
registersymbol(fnCombatStartReturnSkip) | |
registersymbol(pCombatMoveBaseObj) | |
registersymbol(iPlayerMovementOverride) | |
registersymbol(iPlayerActionOverride) | |
[DISABLE] | |
fnCombatStart+E: | |
// db 8B 80 9C 00 00 00 | |
reassemble(fnCombatStartInjCode+6) // mov eax,[eax+0000009C] | |
fnCombatStart+38: | |
db D9 EE DD 5E 14 D9 EE DD 5E 1C | |
unregistersymbol(fnCombatStart) | |
unregistersymbol(fnCombatStartInjCode) | |
unregistersymbol(fnCombatAlterInitCode) | |
unregistersymbol(fnCombatStartReturn) | |
unregistersymbol(fnCombatStartReturnSkip) | |
unregistersymbol(pCombatMoveBaseObj) | |
unregistersymbol(iPlayerMovementOverride) | |
unregistersymbol(iPlayerActionOverride) | |
dealloc(newmem) | |
{ | |
// ORIGINAL CODE - INJECTION POINT: 0168E48C | |
0168E48C - 8B F1 - mov esi,ecx | |
0168E48E - 8B 46 28 - mov eax,[esi+28] | |
0168E491 - 8B 48 4C - mov ecx,[eax+4C] | |
0168E494 - FF 15 B41E0937 - call dword ptr [37091EB4] | |
// ---------- INJECTING HERE ---------- | |
0168E49A - 8B 80 9C000000 - mov eax,[eax+0000009C] | |
// ---------- DONE INJECTING ---------- | |
0168E4A0 - DB 80 B4000000 - fild dword ptr [eax+000000B4] | |
0168E4A6 - DD 5E 04 - fstp qword ptr [esi+04] | |
0168E4A9 - 8B 46 28 - mov eax,[esi+28] | |
0168E4AC - 8B 48 4C - mov ecx,[eax+4C] | |
0168E4AF - FF 15 B81E0937 - call dword ptr [37091EB8] | |
0168E4B5 - 8B 80 9C000000 - mov eax,[eax+0000009C] | |
0168E4BB - DB 80 B8000000 - fild dword ptr [eax+000000B8] | |
0168E4C1 - DD 5E 0C - fstp qword ptr [esi+0C] | |
// ---------- INJECTING HERE ---------- | |
0168E4C4 - D9EE - fldz | |
0168E4C6 - DD 5E 14 - fstp qword ptr [esi+14] | |
0168E4C9 - D9EE - fldz | |
0168E4CB - DD 5E 1C - fstp qword ptr [esi+1C] | |
// ---------- DONE INJECTING ---------- | |
0168E4CE - 5E - pop esi | |
0168E4CF - 5D - pop ebp | |
0168E4D0 - C3 - ret | |
} | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2145</ID> | |
<Description>"iPlayerActionOverride"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>iPlayerActionOverride</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2146</ID> | |
<Description>"iPlayerMovementOverride"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>iPlayerMovementOverride</Address> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2133</ID> | |
<Description>"Combat Movement"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<Address>pCombatMoveTracker</Address> | |
<Offsets> | |
<Offset>0</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2134</ID> | |
<Description>"dActionPointsRemaining"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>+4</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2135</ID> | |
<Description>"dMovementPointsRemaining"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>+C</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2136</ID> | |
<Description>"dTotalMovementThisTurnUpper"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>+14</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2137</ID> | |
<Description>"dTotalMovementThisTurnLower"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>+1C</Address> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2151</ID> | |
<Description>"Script: Item Editor (Mouse Click Version)"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript Async="1">// Game : underrail.exe | |
// Version: | |
// Date : | |
// Author : Cs | |
[ENABLE] | |
aobscan(aobItemCountReader,FF 50 ?? 83 78 ?? 01 0F 8E ?? ?? ?? ?? 8D 4D) | |
alloc(newmemItemCountReader,4096,aobItemCountReader) | |
label(aobItemCountReader_r) | |
label(aobItemCountReader_i) | |
registersymbol(aobItemCountReader_r) | |
registersymbol(aobItemCountReader_i) | |
label(lblItemCountReader) | |
label(lblItemCountReaderSkip) | |
label(lblItemCountReaderRet) | |
label(bEnableStackSizeIncrement) | |
label(iStackSizeIncrement) | |
registersymbol(bEnableStackSizeIncrement) | |
registersymbol(iStackSizeIncrement) | |
label(pLastClickedItem) | |
registersymbol(pLastClickedItem) | |
newmemItemCountReader: | |
bEnableStackSizeIncrement: | |
dd 0 | |
iStackSizeIncrement: | |
dd (int)50 | |
lblItemCountReader: | |
readmem(aobItemCountReader,3) | |
push ebx | |
push ecx | |
movsx ecx,[aobItemCountReader_i+5] | |
cmp [eax+ecx],1 | |
jle short lblItemCountReaderSkip | |
pushad | |
push 12 // VK_MENU: ALT key | |
call GetAsyncKeyState | |
shr ax,#15 | |
cmp ax,1 | |
popad | |
jne short lblItemCountReaderSkip | |
cmp dword ptr [bEnableStackSizeIncrement],1 | |
jne short lblItemCountReaderSkip | |
mov ebx,[iStackSizeIncrement] | |
add [eax+ecx],ebx | |
lblItemCountReaderSkip: | |
pop ecx | |
pop ebx | |
mov dword ptr [pLastClickedItem],eax | |
readmem(aobItemCountReader+3,4) | |
jmp lblItemCountReaderRet | |
aobItemCountReader_i: | |
readmem(aobItemCountReader,7) | |
pLastClickedItem: | |
dd 0 | |
aobItemCountReader: | |
aobItemCountReader_r: | |
jmp lblItemCountReader | |
nop | |
nop | |
lblItemCountReaderRet: | |
[DISABLE] | |
//""+106C2839: | |
//Alt: call dword ptr [eax+10] | |
//Alt: cmp dword ptr [eax+20],01 | |
//db FF 50 10 83 78 20 01 | |
aobItemCountReader_r: | |
readmem(aobItemCountReader_i,7) | |
unregistersymbol(aobItemCountReader_r) | |
unregistersymbol(aobItemCountReader_i) | |
unregistersymbol(bEnableStackSizeIncrement) | |
unregistersymbol(iStackSizeIncrement) | |
unregistersymbol(pLastClickedItem) | |
dealloc(newmemItemCountReader) | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1997</ID> | |
<Description>"bEnableStackSizeIncrement (hold ALT while clicking!)"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled | |
1:Enabled | |
</DropDownList> | |
<Color>008000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>bEnableStackSizeIncrement</Address> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>1998</ID> | |
<Description>"iStackSizeIncrement"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>iStackSizeIncrement</Address> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2152</ID> | |
<Description>"Last clicked Item"</Description> | |
<Options moHideChildren="1"/> | |
<Color>4080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2153</ID> | |
<Description>"pLastClickedItem (Click on an item in the Inv. grid or copy pointer from Offensive)"</Description> | |
<ShowAsHex>1</ShowAsHex> | |
<Color>0000FF</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2154</ID> | |
<Description>"sName"</Description> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>256</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>10</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2155</ID> | |
<Description>"iStackSize"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>24</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2156</ID> | |
<Description>"iMaxStackSize"</Description> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>30</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2157</ID> | |
<Description>"iRarity"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Grey | |
1:White | |
2:Green | |
3:Blue | |
4:Purple | |
5:Orange | |
</DropDownList> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>28</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2158</ID> | |
<Description>"iUnknown (seems to impact value shown)"</Description> | |
<Color>800080</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>2c</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2159</ID> | |
<Description>"dEnergyCurrent"</Description> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>4</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2160</ID> | |
<Description>"iEnergyMax"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>28</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2161</ID> | |
<Description>"dDurability"</Description> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2162</ID> | |
<Description>"dWeight"</Description> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2163</ID> | |
<Description>"iValue(Encoded)"</Description> | |
<ShowAsHex>1</ShowAsHex> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>800080</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>54</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2164</ID> | |
<Description>"ArmourOnly"</Description> | |
<Color>4080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2165</ID> | |
<Description>"dArmourPenalty"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>88</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2166</ID> | |
<Description>"Item Bonuses"</Description> | |
<Options moHideChildren="1"/> | |
<Color>4080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2167</ID> | |
<Description>"sStatName[0]"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>14</Offset> | |
<Offset>8</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2168</ID> | |
<Description>"iBonusValue"</Description> | |
<ShowAsSigned>1</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>8</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2169</ID> | |
<Description>"sStatName[1]"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>14</Offset> | |
<Offset>C</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2170</ID> | |
<Description>"iBonusValue"</Description> | |
<ShowAsSigned>1</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>C</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2171</ID> | |
<Description>"sStatName[2]"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>14</Offset> | |
<Offset>10</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2172</ID> | |
<Description>"iBonusValue"</Description> | |
<ShowAsSigned>1</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>10</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2173</ID> | |
<Description>"sStatName[3]"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>14</Offset> | |
<Offset>14</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2174</ID> | |
<Description>"iBonusValue"</Description> | |
<ShowAsSigned>1</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>14</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2175</ID> | |
<Description>"sStatName[4]"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>14</Offset> | |
<Offset>18</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2176</ID> | |
<Description>"iBonusValue"</Description> | |
<ShowAsSigned>1</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>18</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2177</ID> | |
<Description>"CraftableOnly"</Description> | |
<Color>4080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2178</ID> | |
<Description>"iQuality"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>40</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2179</ID> | |
<Description>"WeaponsOnly"</Description> | |
<Color>4080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2180</ID> | |
<Description>"iImpactSpeed"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Very Low (Melee attacks) | |
1:Low (Slow projectiles) | |
2:Medium (Pistol and SMG bullets, shrapnel) | |
3:Fast (Explosives, extremely fast projectiles) | |
4:Very Fast (Lasers, plasma, electrical attacks) | |
</DropDownList> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>EC</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2181</ID> | |
<Description>"iBaseAPCost"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>E8</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2182</ID> | |
<Description>"bHasSpread"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:No | |
1:Yes | |
</DropDownList> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>130</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2183</ID> | |
<Description>"iSpreadAngle"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>134</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2184</ID> | |
<Description>"fRange"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>F4</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2185</ID> | |
<Description>"fOptimalRange"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>F8</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2186</ID> | |
<Description>"dPrecision"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>A0</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2187</ID> | |
<Description>"fCloseQuartersPrecision(Penalty!)"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10C</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2188</ID> | |
<Description>"dMoveAndShootPresicion(Penalty!)"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>B0</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2189</ID> | |
<Description>"dBurstPrecision"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>A8</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2190</ID> | |
<Description>"iExtraBurstShots"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>108</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2191</ID> | |
<Description>"dCritChance"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>88</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2192</ID> | |
<Description>"dCritDmgBonus"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>90</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2193</ID> | |
<Description>"iMinStrength"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>F0</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2194</ID> | |
<Description>"iMagazineCapacity"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>104</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2195</ID> | |
<Description>"iMagazineLoaded"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>c</Offset> | |
<Offset>40</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2196</ID> | |
<Description>"dReloadingCost"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>B8</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>1996</ID> | |
<Description>"Script: Item Editor (Mouse Over Version)"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript Async="1">// Game : underrail.exe | |
// Version: | |
// Date : | |
// Author : Cs | |
[ENABLE] | |
//aobscan(aobItemCountReader,FF 50 ?? 83 78 ?? 01 0F 8E ?? ?? ?? ?? 8D 4D) | |
aobscan(aobItemCountReader,E8 ?? ?? ?? ?? 83 7F ?? 01 0F 8E ?? ?? ?? ?? 8B) // should be unique | |
alloc(newmemItemCountReader,4096,aobItemCountReader) | |
label(aobItemCountReader_r) | |
label(aobItemCountReader_i) | |
registersymbol(aobItemCountReader_r) | |
registersymbol(aobItemCountReader_i) | |
label(lblItemCountReader) | |
//label(lblItemCountReaderSkip) | |
label(lblItemCountReaderRet) | |
label(bEnableStackSizeIncrement) | |
label(iStackSizeIncrement) | |
registersymbol(bEnableStackSizeIncrement) | |
registersymbol(iStackSizeIncrement) | |
label(pLastClickedItem) | |
registersymbol(pLastClickedItem) | |
newmemItemCountReader: | |
bEnableStackSizeIncrement: | |
dd 0 | |
iStackSizeIncrement: | |
dd (int)50 | |
lblItemCountReader: | |
// expect offset to be in edi | |
//push ebx | |
//push ecx | |
//movsx ecx,byte ptr [aobItemCountReader_i+5+3] // get offset | |
//cmp [edi+ecx],1 | |
//jle short lblItemCountReaderSkip | |
//pushad | |
//push 12 // VK_MENU: ALT key | |
//call GetAsyncKeyState | |
//shr ax,#15 | |
//cmp ax,1 | |
//popad | |
//jne short lblItemCountReaderSkip | |
//cmp dword ptr [bEnableStackSizeIncrement],1 | |
//jne short lblItemCountReaderSkip | |
//mov ebx,[iStackSizeIncrement] | |
//add [edi+ecx],ebx | |
//lblItemCountReaderSkip: | |
//pop ecx | |
//pop ebx | |
mov dword ptr [pLastClickedItem],edi | |
@@: | |
reassemble(aobItemCountReader+5) // cmp dword ptr [edi+24],01 | |
reassemble(aobItemCountReader+5+4) // jng 0AA390BC | |
jmp lblItemCountReaderRet | |
aobItemCountReader_i: | |
readmem(aobItemCountReader+5,10) | |
align 4 | |
pLastClickedItem: | |
dd 0 | |
aobItemCountReader+5: | |
aobItemCountReader_r: | |
jmp lblItemCountReader | |
nop 5 | |
lblItemCountReaderRet: | |
[DISABLE] | |
//""+106C2839: | |
//Alt: call dword ptr [eax+10] | |
//Alt: cmp dword ptr [eax+20],01 | |
//db FF 50 10 83 78 20 01 | |
aobItemCountReader_r: | |
readmem(aobItemCountReader_i,10) | |
unregistersymbol(aobItemCountReader_r) | |
unregistersymbol(aobItemCountReader_i) | |
unregistersymbol(bEnableStackSizeIncrement) | |
unregistersymbol(iStackSizeIncrement) | |
unregistersymbol(pLastClickedItem) | |
dealloc(newmemItemCountReader) | |
{ | |
// ORIGINAL CODE - INJECTION POINT: 0AA39028 | |
0AA39006: E8 BD A0 01 F7 - call 01A530C8 | |
0AA3900B: 89 45 DC - mov [ebp-24],eax | |
0AA3900E: FF 75 E0 - push [ebp-20] | |
0AA39011: 8B C8 - mov ecx,eax | |
0AA39013: 8B 55 E4 - mov edx,[ebp-1C] | |
0AA39016: E8 55 0F 4B 4A - call 54EE9F70 | |
0AA3901B: 8B 4D F0 - mov ecx,[ebp-10] | |
0AA3901E: 8B 55 DC - mov edx,[ebp-24] | |
0AA39021: 39 09 - cmp [ecx],ecx | |
0AA39023: E8 38 D7 DE 5F - call mscorlib.ni.dll+416760 | |
// ---------- INJECTING HERE ---------- | |
0AA39028: 83 7F 24 01 - cmp dword ptr [edi+24],01 | |
// ---------- DONE INJECTING ---------- | |
0AA3902C: 0F 8E 8A 00 00 00 - jng 0AA390BC | |
0AA39032: 8B 46 04 - mov eax,[esi+04] | |
0AA39035: 89 45 D8 - mov [ebp-28],eax | |
0AA39038: E8 7B 0E 4B 4A - call 54EE9EB8 | |
0AA3903D: 89 45 D4 - mov [ebp-2C],eax | |
0AA39040: B9 CC 3D 50 15 - mov ecx,15503DCC | |
0AA39045: E8 7E A0 01 F7 - call 01A530C8 | |
0AA3904A: 89 45 D0 - mov [ebp-30],eax | |
0AA3904D: 6A FF - push -01 | |
0AA3904F: 8B C8 - mov ecx,eax | |
} | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2081</ID> | |
<Description>"Last mouse over Item"</Description> | |
<Options moHideChildren="1"/> | |
<Color>4080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>906</ID> | |
<Description>"pLastClickedItem (Click on an item in the Inv. grid or copy pointer from Offensive)"</Description> | |
<ShowAsHex>1</ShowAsHex> | |
<Color>0000FF</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2082</ID> | |
<Description>"sName"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>256</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>10</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2083</ID> | |
<Description>"iStackSize"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>2C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2084</ID> | |
<Description>"iMaxStackSize"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>30</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2085</ID> | |
<Description>"iRarity"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Grey | |
1:White | |
2:Green | |
3:Blue | |
4:Purple | |
5:Orange | |
</DropDownList> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>28</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2086</ID> | |
<Description>"iUnknown (seems to impact value shown)"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>800080</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>2c</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2087</ID> | |
<Description>"dEnergyCurrent"</Description> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>4</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2088</ID> | |
<Description>"iEnergyMax"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>30</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2089</ID> | |
<Description>"dDurability"</Description> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>c</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2090</ID> | |
<Description>"dWeight"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>4</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2091</ID> | |
<Description>"iValue(Encoded)"</Description> | |
<ShowAsHex>1</ShowAsHex> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>800080</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>54</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2115</ID> | |
<Description>"ArmourOnly"</Description> | |
<Color>4080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2116</ID> | |
<Description>"dArmourPenalty"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>88</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2092</ID> | |
<Description>"Item Bonuses"</Description> | |
<Options moHideChildren="1"/> | |
<Color>4080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2093</ID> | |
<Description>"sStatName[0]"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>14</Offset> | |
<Offset>8</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2117</ID> | |
<Description>"iBonusValue"</Description> | |
<ShowAsSigned>1</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>8</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2118</ID> | |
<Description>"sStatName[1]"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>14</Offset> | |
<Offset>C</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2119</ID> | |
<Description>"iBonusValue"</Description> | |
<ShowAsSigned>1</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>C</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2120</ID> | |
<Description>"sStatName[2]"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>14</Offset> | |
<Offset>10</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2121</ID> | |
<Description>"iBonusValue"</Description> | |
<ShowAsSigned>1</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>10</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2122</ID> | |
<Description>"sStatName[3]"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>14</Offset> | |
<Offset>14</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2123</ID> | |
<Description>"iBonusValue"</Description> | |
<ShowAsSigned>1</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>14</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2124</ID> | |
<Description>"sStatName[4]"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>0000FF</Color> | |
<VariableType>String</VariableType> | |
<Length>32</Length> | |
<Unicode>1</Unicode> | |
<CodePage>0</CodePage> | |
<ZeroTerminate>1</ZeroTerminate> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>8</Offset> | |
<Offset>14</Offset> | |
<Offset>18</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2125</ID> | |
<Description>"iBonusValue"</Description> | |
<ShowAsSigned>1</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10</Offset> | |
<Offset>18</Offset> | |
<Offset>4</Offset> | |
<Offset>60</Offset> | |
<Offset>4</Offset> | |
<Offset>14</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2094</ID> | |
<Description>"CraftableOnly"</Description> | |
<Color>4080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2095</ID> | |
<Description>"iQuality"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>48</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2096</ID> | |
<Description>"WeaponsOnly"</Description> | |
<Color>4080FF</Color> | |
<GroupHeader>1</GroupHeader> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2097</ID> | |
<Description>"iImpactSpeed"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Very Low (Melee attacks) | |
1:Low (Slow projectiles) | |
2:Medium (Pistol and SMG bullets, shrapnel) | |
3:Fast (Explosives, extremely fast projectiles) | |
4:Very Fast (Lasers, plasma, electrical attacks) | |
</DropDownList> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>EC</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2098</ID> | |
<Description>"iBaseAPCost"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>E8</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2099</ID> | |
<Description>"bHasSpread"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:No | |
1:Yes | |
</DropDownList> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>130</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2100</ID> | |
<Description>"iSpreadAngle"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>134</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2101</ID> | |
<Description>"fRange"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>F4</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2102</ID> | |
<Description>"fOptimalRange"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>F8</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2103</ID> | |
<Description>"dPrecision"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>A0</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2104</ID> | |
<Description>"fCloseQuartersPrecision(Penalty!)"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Float</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>10C</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2105</ID> | |
<Description>"dMoveAndShootPresicion(Penalty!)"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>B0</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2106</ID> | |
<Description>"dBurstPrecision"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>A8</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2107</ID> | |
<Description>"iExtraBurstShots"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>108</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2108</ID> | |
<Description>"dCritChance"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>88</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2109</ID> | |
<Description>"dCritDmgBonus"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>90</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2110</ID> | |
<Description>"iMinStrength"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>F0</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2111</ID> | |
<Description>"iMagazineCapacity"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>104</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2112</ID> | |
<Description>"iMagazineLoaded"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>c</Offset> | |
<Offset>48</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2113</ID> | |
<Description>"dReloadingCost"</Description> | |
<ShowAsSigned>0</ShowAsSigned> | |
<Color>808000</Color> | |
<VariableType>Double</VariableType> | |
<Address>pLastClickedItem</Address> | |
<Offsets> | |
<Offset>B8</Offset> | |
<Offset>4</Offset> | |
<Offset>1C</Offset> | |
</Offsets> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2034</ID> | |
<Description>"Script: Infinite Durability"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript Async="1">// Game : underrail.exe | |
// Version: | |
// Date : | |
// Author : Cs | |
[ENABLE] | |
aobscan(aobItemDurabilityUpdater,DD 40 ?? DC 65 ?? 83 EC ?? DD 1C 24) | |
alloc(newmemItemDurabilityUpdater,4096,aobItemDurabilityUpdater) | |
label(aobItemDurabilityUpdater_r) | |
label(aobItemDurabilityUpdater_i) | |
registersymbol(aobItemDurabilityUpdater_r) | |
registersymbol(aobItemDurabilityUpdater_i) | |
label(lblItemDurabilityUpdater) | |
label(lblItemDurabilityUpdaterSkip) | |
label(lblItemDurabilityUpdaterRet) | |
label(bEnableInfiniteItemDurability) | |
registersymbol(bEnableInfiniteItemDurability) | |
newmemItemDurabilityUpdater: | |
bEnableInfiniteItemDurability: | |
dd 1 | |
lblItemDurabilityUpdater: | |
readmem(aobItemDurabilityUpdater,3) | |
cmp dword ptr [bEnableInfiniteItemDurability],1 | |
jne short lblItemDurabilityUpdaterSkip | |
push ebx | |
movsx ebx,[aobItemDurabilityUpdater_i+05] | |
fadd qword ptr [ebp+ebx] | |
pop ebx | |
lblItemDurabilityUpdaterSkip: | |
readmem(aobItemDurabilityUpdater+3,3) | |
jmp lblItemDurabilityUpdaterRet | |
aobItemDurabilityUpdater_i: | |
readmem(aobItemDurabilityUpdater,6) | |
aobItemDurabilityUpdater: | |
aobItemDurabilityUpdater_r: | |
jmp lblItemDurabilityUpdater | |
nop | |
lblItemDurabilityUpdaterRet: | |
[DISABLE] | |
aobItemDurabilityUpdater_r: | |
readmem(aobItemDurabilityUpdater_i,6) | |
unregistersymbol(aobItemDurabilityUpdater_r) | |
unregistersymbol(aobItemDurabilityUpdater_i) | |
unregistersymbol(bEnableInfiniteItemDurability) | |
dealloc(newmemItemDurabilityUpdater) | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2035</ID> | |
<Description>"bEnableInfiniteItemDurability"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled | |
1:Enabled | |
</DropDownList> | |
<Color>008000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>bEnableInfiniteItemDurability</Address> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2036</ID> | |
<Description>"Script: Instant Cooldown; Real time"</Description> | |
<Options moHideChildren="1"/> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript Async="1">// Game : underrail.exe | |
// Version: | |
// Date : | |
// Author : Cs | |
[ENABLE] | |
aobscan(aobRealtimeCooldownCalc,DD 40 ?? DC 65 ?? DD 50 ?? D9 EE DF F1 DD D8 7A) | |
aobscan(aobPlayerCooldownBaseOffset,8B 40 ?? 89 45 ?? 8B 7E ?? 80) | |
alloc(newmemRealtimeCooldownCalc,4096,aobRealtimeCooldownCalc) | |
label(aobRealtimeCooldownCalc_r) | |
label(aobRealtimeCooldownCalc_i) | |
registersymbol(aobRealtimeCooldownCalc_r) | |
registersymbol(aobRealtimeCooldownCalc_i) | |
label(lblRealtimeCooldownCalc) | |
label(lblRealtimeCooldownCalcSkip) | |
label(lblRealtimeCooldownCalcRet) | |
label(bEnableInstantSkillCooldown) | |
registersymbol(bEnableInstantSkillCooldown) | |
label(iPlayerCooldownBaseOffset) | |
registersymbol(iPlayerCooldownBaseOffset) | |
newmemRealtimeCooldownCalc: | |
bEnableInstantSkillCooldown: | |
dd 1 | |
lblRealtimeCooldownCalc: | |
readmem(aobRealtimeCooldownCalc,6) | |
mov ecx,[pPlayerBase] | |
add ecx,[iPlayerCooldownBaseOffset] | |
cmp dword ptr [ecx],ebx | |
jne short lblRealtimeCooldownCalcSkip | |
cmp dword ptr [bEnableInstantSkillCooldown],1 | |
jne short lblRealtimeCooldownCalcSkip | |
fstp st(0) | |
fldz | |
lblRealtimeCooldownCalcSkip: | |
jmp lblRealtimeCooldownCalcRet | |
aobRealtimeCooldownCalc_i: | |
readmem(aobRealtimeCooldownCalc,6) | |
iPlayerCooldownBaseOffset: | |
readmem(aobPlayerCooldownBaseOffset+2,1) | |
db 00 00 00 | |
aobRealtimeCooldownCalc: | |
aobRealtimeCooldownCalc_r: | |
jmp lblRealtimeCooldownCalc | |
nop | |
lblRealtimeCooldownCalcRet: | |
[DISABLE] | |
aobRealtimeCooldownCalc_r: | |
readmem(aobRealtimeCooldownCalc_i,6) | |
unregistersymbol(aobRealtimeCooldownCalc_r) | |
unregistersymbol(aobRealtimeCooldownCalc_i) | |
unregistersymbol(bEnableInstantSkillCooldown) | |
unregistersymbol(iPlayerCooldownBaseOffset) | |
dealloc(newmemRealtimeCooldownCalc) | |
</AssemblerScript> | |
<CheatEntries> | |
<CheatEntry> | |
<ID>2037</ID> | |
<Description>"bEnableInstantSkillCooldown"</Description> | |
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled | |
1:Enabled | |
</DropDownList> | |
<Color>008000</Color> | |
<VariableType>4 Bytes</VariableType> | |
<Address>bEnableInstantSkillCooldown</Address> | |
</CheatEntry> | |
<CheatEntry> | |
<ID>2038</ID> | |
<Description>"Script: Instant Cooldown; Turn-based (on end of turn)"</Description> | |
<VariableType>Auto Assembler Script</VariableType> | |
<AssemblerScript Async="1">// Game : underrail.exe | |
// Version: | |
// Date : | |
// Author : Cs | |
[ENABLE] | |
aobscan(aobTurnBasedCooldownCalc,DD 51 ?? D9 EE DF F1 DD D8 7A) | |
alloc(newmemTurnBasedCooldownCalc,4096,aobTurnBasedCooldownCalc) | |
label(aobTurnBasedCooldownCalc_r) | |
label(aobTurnBasedCooldownCalc_i) | |
registersymbol(aobTurnBasedCooldownCalc_r) | |
registersymbol(aobTurnBasedCooldownCalc_i) | |
label(lblTurnBasedCooldownCalc) | |
label(lblTurnBasedCooldownCalcSkip) | |
label(lblTurnBasedCooldownCalcRet) | |
newmemTurnBasedCooldownCalc: | |
lblTurnBasedCooldownCalc: | |
mov eax,[pPlayerBase] | |
add eax,[iPlayerCooldownBaseOffset] | |
cmp dword ptr [eax],ebx | |
jne short lblTurnBasedCooldownCalcSkip | |
cmp dword ptr [bEnableInstantSkillCooldown],1 | |
jne short lblTurnBasedCooldownCalcSkip | |
fstp st(0) | |
fldz | |
lblTurnBasedCooldownCalcSkip: | |
readmem(aobTurnBasedCooldownCalc,5) | |
jmp lblTurnBasedCooldownCalcRet | |
aobTurnBasedCooldownCalc_i: | |
readmem(aobTurnBasedCooldownCalc,5) | |
aobTurnBasedCooldownCalc: | |
aobTurnBasedCooldownCalc_r: | |
jmp lblTurnBasedCooldownCalc | |
lblTurnBasedCooldownCalcRet: | |
[DISABLE] | |
aobTurnBasedCooldownCalc_r: | |
readmem(aobTurnBasedCooldownCalc_i,5) | |
unregistersymbol(aobTurnBasedCooldownCalc_r) | |
unregistersymbol(aobTurnBasedCooldownCalc_i) | |
dealloc(newmemTurnBasedCooldownCalc) | |
</AssemblerScript> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
</CheatEntry> | |
</CheatEntries> | |
<UserdefinedSymbols/> | |
<LuaScript>PROCESS_NAME = 'underrail.exe' | |
-------- | |
-------- Check for process and auto attach if need be | |
-------- | |
local autoAttachTimer = nil ---- Declaration for our static timer object (no destroy here!) | |
local autoAttachTimerInterval = 5000 ---- Timer in milliseconds | |
function clearUserDefinedSymbols() | |
local mv,sf = getMemoryViewForm() | |
if not mv.frmSymbolhandler then | |
local mvHidden | |
if not mv.Visible then mvHidden=true,mv.Show() end | |
mv.miuserdefinedsymbols:OnClick() | |
if mvHidden then mv.hide()end | |
sf = mv.frmSymbolhandler | |
sf.Hide() | |
else | |
sf = mv.frmSymbolhandler | |
end | |
if sf ~= nil then | |
local symbol | |
for i = 0, sf.Listview1.Items.Count - 1 do | |
symbol = sf.Listview1.Items.Item[i].Caption | |
unregisterSymbol(symbol) | |
end | |
end | |
end | |
local function autoAttachTimer_tick(timer) ---- Timer callback | |
---- Check to see if we are attached to the right process | |
if getProcessIDFromProcessName(PROCESS_NAME) ~= getOpenedProcessID() then | |
---- If not the right process, check if process is running and attach if exists | |
AddressList.disableAllWithoutExecute() | |
clearUserDefinedSymbols() | |
if getProcessIDFromProcessName(PROCESS_NAME) ~= nil then | |
openProcess(PROCESS_NAME) ---- Open the process | |
end | |
end | |
end | |
autoAttachTimer = createTimer(getMainForm()) ---- Create timer with the main form as it's parent | |
autoAttachTimer.Interval = autoAttachTimerInterval ---- Set timer interval | |
autoAttachTimer.OnTimer = autoAttachTimer_tick ---- Set timer tick call back | |
</LuaScript> | |
</CheatTable> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment