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 hidden or 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