<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>9</ID>
      <Description>"[ Enable ]"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end
openProcess("SteamWorld Build.exe")
if not monopipe then if LaunchMonoDataCollector() == 0 then error(MessageDialog('Failed to Launch Mono Data Collector', mtError, mbClose)) end end

[DISABLE]

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>44</ID>
          <Description>"Buildings Instant Working"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Game Executable   : SteamWorld Build.exe
// Executable Version: 2021.3.5.60218

[ENABLE]

alloc(newmem_BuildingsEfficiency,1024,GameAssembly.dll)

registersymbol(BuildingsEfficiency_Bak)
registersymbol(fBuildingsEfficiencyMultiplier)

label(return_BuildingsEfficiency)
label(BuildingsEfficiency_Bak)
label(fBuildingsEfficiencyMultiplier)

newmem_BuildingsEfficiency:
  movss xmm0,[fBuildingsEfficiencyMultiplier]
  movss [rbx+000000A0],xmm0
    jmp return_BuildingsEfficiency

fBuildingsEfficiencyMultiplier:
  dq (float)900.0

BuildingsEfficiency_Bak:
  readmem(YMCA.Production.ProductionBehaviour.UpdateProduction+A2,8)

YMCA.Production.ProductionBehaviour.UpdateProduction+A2:
  jmp newmem_BuildingsEfficiency
  nop 3
return_BuildingsEfficiency:

[DISABLE]

YMCA.Production.ProductionBehaviour.UpdateProduction+A2:
  readmem(BuildingsEfficiency_Bak,8) //db F3 0F 11 83 A0 00 00 00

unregistersymbol(BuildingsEfficiency_Bak)
unregistersymbol(fBuildingsEfficiencyMultiplier)
dealloc(newmem_BuildingsEfficiency)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2167C92

GameAssembly.dll+2167C0C: E8 2F 68 18 FE           - call GameAssembly.dll+2EE440
GameAssembly.dll+2167C11: 48 85 C0                 - test rax,rax
GameAssembly.dll+2167C14: 0F 84 A9 00 00 00        - je GameAssembly.dll+2167CC3
GameAssembly.dll+2167C1A: 48 89 05 0F 10 DD 00     - mov [GameAssembly.dll+2F38C30],rax
GameAssembly.dll+2167C21: FF D0                    - call rax
GameAssembly.dll+2167C23: 0F 57 C9                 - xorps xmm1,xmm1
GameAssembly.dll+2167C26: 0F 2E C1                 - ucomiss xmm0,xmm1
GameAssembly.dll+2167C29: 7A 06                    - jp GameAssembly.dll+2167C31
GameAssembly.dll+2167C2B: 0F 84 86 00 00 00        - je GameAssembly.dll+2167CB7
GameAssembly.dll+2167C31: 48 8B 05 C0 0F DD 00     - mov rax,[GameAssembly.dll+2F38BF8]
GameAssembly.dll+2167C38: 48 85 C0                 - test rax,rax
GameAssembly.dll+2167C3B: 75 1C                    - jne GameAssembly.dll+2167C59
GameAssembly.dll+2167C3D: 48 8D 0D AC 31 47 00     - lea rcx,[GameAssembly.dll+25DADF0]
GameAssembly.dll+2167C44: E8 F7 67 18 FE           - call GameAssembly.dll+2EE440
GameAssembly.dll+2167C49: 48 85 C0                 - test rax,rax
GameAssembly.dll+2167C4C: 0F 84 88 00 00 00        - je GameAssembly.dll+2167CDA
GameAssembly.dll+2167C52: 48 89 05 9F 0F DD 00     - mov [GameAssembly.dll+2F38BF8],rax
GameAssembly.dll+2167C59: 0F 29 74 24 30           - movaps [rsp+30],xmm6
GameAssembly.dll+2167C5E: 0F 29 7C 24 20           - movaps [rsp+20],xmm7
GameAssembly.dll+2167C63: FF D0                    - call rax
GameAssembly.dll+2167C65: 48 8B 8B 98 00 00 00     - mov rcx,[rbx+00000098]
GameAssembly.dll+2167C6C: 0F 28 F0                 - movaps xmm6,xmm0
GameAssembly.dll+2167C6F: F3 0F 10 BB E0 00 00 00  - movss xmm7,[rbx+000000E0]
GameAssembly.dll+2167C77: F3 0F 11 B3 E0 00 00 00  - movss [rbx+000000E0],xmm6
GameAssembly.dll+2167C7F: 48 85 C9                 - test rcx,rcx
GameAssembly.dll+2167C82: 74 39                    - je GameAssembly.dll+2167CBD
GameAssembly.dll+2167C84: 33 D2                    - xor edx,edx
GameAssembly.dll+2167C86: E8 05 87 01 00           - call YMCA.Production.Components.Efficiency.get_Value
GameAssembly.dll+2167C8B: 48 8B 03                 - mov rax,[rbx]
GameAssembly.dll+2167C8E: F3 0F 5C F7              - subss xmm6,xmm7
// ---------- INJECTING HERE ----------
GameAssembly.dll+2167C92: F3 0F 11 83 A0 00 00 00  - movss [rbx+000000A0],xmm0
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2167C9A: 48 8B CB                 - mov rcx,rbx
GameAssembly.dll+2167C9D: 4C 8B 80 C0 01 00 00     - mov r8,[rax+000001C0]
GameAssembly.dll+2167CA4: 0F 28 CE                 - movaps xmm1,xmm6
GameAssembly.dll+2167CA7: FF 90 B8 01 00 00        - call qword ptr [rax+000001B8]
GameAssembly.dll+2167CAD: 0F 28 74 24 30           - movaps xmm6,[rsp+30]
GameAssembly.dll+2167CB2: 0F 28 7C 24 20           - movaps xmm7,[rsp+20]
GameAssembly.dll+2167CB7: 48 83 C4 40              - add rsp,40
GameAssembly.dll+2167CBB: 5B                       - pop rbx
GameAssembly.dll+2167CBC: C3                       - ret 
GameAssembly.dll+2167CBD: E8 4E AE 15 FE           - call GameAssembly.dll+2C2B10
GameAssembly.dll+2167CC2: CC                       - int 3 
GameAssembly.dll+2167CC3: 48 8D 0D E6 2E 47 00     - lea rcx,[GameAssembly.dll+25DABB0]
GameAssembly.dll+2167CCA: E8 D1 63 18 FE           - call GameAssembly.dll+2EE0A0
GameAssembly.dll+2167CCF: 48 8B C8                 - mov rcx,rax
GameAssembly.dll+2167CD2: 33 D2                    - xor edx,edx
GameAssembly.dll+2167CD4: E8 F7 45 18 FE           - call GameAssembly.dll+2EC2D0
GameAssembly.dll+2167CD9: CC                       - int 3 
GameAssembly.dll+2167CDA: 48 8D 0D 0F 31 47 00     - lea rcx,[GameAssembly.dll+25DADF0]
GameAssembly.dll+2167CE1: E8 BA 63 18 FE           - call GameAssembly.dll+2EE0A0
GameAssembly.dll+2167CE6: 48 8B C8                 - mov rcx,rax
GameAssembly.dll+2167CE9: 33 D2                    - xor edx,edx
GameAssembly.dll+2167CEB: E8 E0 45 18 FE           - call GameAssembly.dll+2EC2D0
GameAssembly.dll+2167CF0: CC                       - int 3 
GameAssembly.dll+2167CF1: CC                       - int 3 
GameAssembly.dll+2167CF2: CC                       - int 3 
GameAssembly.dll+2167CF3: CC                       - int 3 
GameAssembly.dll+2167CF4: CC                       - int 3 
GameAssembly.dll+2167CF5: CC                       - int 3 
GameAssembly.dll+2167CF6: CC                       - int 3 
GameAssembly.dll+2167CF7: CC                       - int 3 
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>52</ID>
          <Description>"Buildings Production Bonus"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Game Executable   : SteamWorld Build.exe
// Executable Version: 2021.3.5.60218

[ENABLE]

alloc(newmem_ExtraProduction,1024,GameAssembly.dll)

registersymbol(ExtraProduction_Bak)
registersymbol(fProductionBonus)

label(return_ExtraProduction)
label(ExtraProduction_Bak)
label(fProductionBonus)

newmem_ExtraProduction:
  movss xmm5,[fProductionBonus]
  movss [rax+58],xmm5 // _bonusCriticalProductionChance
  movss [rax+5C],xmm5 // _totalCriticalProductionChance
  movss xmm0,[rax+50]
    jmp return_ExtraProduction

fProductionBonus:
  dq (float)0.0

ExtraProduction_Bak:
  readmem(YMCA.Production.Components.ItemStatsEfficiency.get_Value+D,5)

YMCA.Production.Components.ItemStatsEfficiency.get_Value+D:
  jmp newmem_ExtraProduction
return_ExtraProduction:

[DISABLE]

YMCA.Production.Components.ItemStatsEfficiency.get_Value+D:
  readmem(ExtraProduction_Bak,5) //db F3 0F 10 40 50

unregistersymbol(ExtraProduction_Bak)
unregistersymbol(fProductionBonus)
dealloc(newmem_ExtraProduction)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2180B1D

GameAssembly.dll+2180AB9: CC                    - int 3 
GameAssembly.dll+2180ABA: CC                    - int 3 
GameAssembly.dll+2180ABB: CC                    - int 3 
GameAssembly.dll+2180ABC: CC                    - int 3 
GameAssembly.dll+2180ABD: CC                    - int 3 
GameAssembly.dll+2180ABE: CC                    - int 3 
GameAssembly.dll+2180ABF: CC                    - int 3 
YMCA.Production.Components.EnergyResourceEfficiency..ctor: 48 83 EC 28           - sub rsp,28
GameAssembly.dll+2180AC4: 80 3D F5 7D DB 00 00  - cmp byte ptr [GameAssembly.dll+2F388C0],00
GameAssembly.dll+2180ACB: C7 41 30 00 00 80 3F  - mov [rcx+30],3F800000
GameAssembly.dll+2180AD2: C7 41 1C 00 00 80 3F  - mov [rcx+1C],3F800000
GameAssembly.dll+2180AD9: 75 13                 - jne GameAssembly.dll+2180AEE
GameAssembly.dll+2180ADB: 48 8D 0D 16 C8 C0 00  - lea rcx,[GameAssembly.dll+2D8D2F8]
GameAssembly.dll+2180AE2: E8 89 B9 0F FE        - call GameAssembly.il2cpp_gc_disable+A8B0
GameAssembly.dll+2180AE7: C6 05 D2 7D DB 00 01  - mov byte ptr [GameAssembly.dll+2F388C0],01
GameAssembly.dll+2180AEE: 48 8B 0D 03 C8 C0 00  - mov rcx,[GameAssembly.dll+2D8D2F8]
GameAssembly.dll+2180AF5: 83 B9 E0 00 00 00 00  - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+2180AFC: 75 09                 - jne GameAssembly.dll+2180B07
GameAssembly.dll+2180AFE: 48 83 C4 28           - add rsp,28
GameAssembly.dll+2180B02: E9 49 47 12 FE        - jmp GameAssembly.il2cpp_field_static_set_value+4320
GameAssembly.dll+2180B07: 48 83 C4 28           - add rsp,28
GameAssembly.dll+2180B0B: C3                    - ret 
GameAssembly.dll+2180B0C: CC                    - int 3 
GameAssembly.dll+2180B0D: CC                    - int 3 
GameAssembly.dll+2180B0E: CC                    - int 3 
GameAssembly.dll+2180B0F: CC                    - int 3 
YMCA.Production.Components.ItemStatsEfficiency.get_Value: 48 83 EC 28           - sub rsp,28
GameAssembly.dll+2180B14: 48 8B 41 28           - mov rax,[rcx+28]
GameAssembly.dll+2180B18: 48 85 C0              - test rax,rax
GameAssembly.dll+2180B1B: 74 0A                 - je GameAssembly.dll+2180B27
// ---------- INJECTING HERE ----------
GameAssembly.dll+2180B1D: F3 0F 10 40 50        - movss xmm0,[rax+50]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2180B22: 48 83 C4 28           - add rsp,28
GameAssembly.dll+2180B26: C3                    - ret 
GameAssembly.dll+2180B27: E8 E4 1F 14 FE        - call GameAssembly.dll+2C2B10
GameAssembly.dll+2180B2C: CC                    - int 3 
GameAssembly.dll+2180B2D: CC                    - int 3 
GameAssembly.dll+2180B2E: CC                    - int 3 
GameAssembly.dll+2180B2F: CC                    - int 3 
YMCA.Production.Components.ItemStatsEfficiency.Awake: 48 89 5C 24 08        - mov [rsp+08],rbx
GameAssembly.dll+2180B35: 57                    - push rdi
GameAssembly.dll+2180B36: 48 83 EC 20           - sub rsp,20
GameAssembly.dll+2180B3A: 80 3D 8B B9 DB 00 00  - cmp byte ptr [GameAssembly.dll+2F3C4CC],00
GameAssembly.dll+2180B41: 48 8B F9              - mov rdi,rcx
GameAssembly.dll+2180B44: 75 13                 - jne GameAssembly.dll+2180B59
GameAssembly.dll+2180B46: 48 8D 0D AB 9F BF 00  - lea rcx,[GameAssembly.dll+2D7AAF8]
GameAssembly.dll+2180B4D: E8 1E B9 0F FE        - call GameAssembly.il2cpp_gc_disable+A8B0
GameAssembly.dll+2180B52: C6 05 73 B9 DB 00 01  - mov byte ptr [GameAssembly.dll+2F3C4CC],01
GameAssembly.dll+2180B59: 33 D2                 - xor edx,edx
GameAssembly.dll+2180B5B: 48 8B CF              - mov rcx,rdi
GameAssembly.dll+2180B5E: E8 7D FC FF FF        - call YMCA.Production.Components.EfficiencyModifier.Awake
GameAssembly.dll+2180B63: 48 8B 15 8E 9F BF 00  - mov rdx,[GameAssembly.dll+2D7AAF8]
GameAssembly.dll+2180B6A: 48 8D 5F 28           - lea rbx,[rdi+28]
GameAssembly.dll+2180B6E: 48 8B CF              - mov rcx,rdi
GameAssembly.dll+2180B71: E8 6A 0E 58 FE        - call GameAssembly.dll+7019E0
GameAssembly.dll+2180B76: 83 3D 43 90 DA 00 00  - cmp dword ptr [GameAssembly.dll+2F29BC0],00
GameAssembly.dll+2180B7D: 48 89 03              - mov [rbx],rax
GameAssembly.dll+2180B80: 74 3F                 - je GameAssembly.dll+2180BC1
GameAssembly.dll+2180B82: 48 C1 EB 0C           - shr rbx,0C
GameAssembly.dll+2180B86: 48 8D 0D 53 39 E0 00  - lea rcx,[GameAssembly.dll+2F844E0]
GameAssembly.dll+2180B8D: 81 E3 FF FF 1F 00     - and ebx,001FFFFF
GameAssembly.dll+2180B93: 8B C3                 - mov eax,ebx
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>53</ID>
              <Description>"Multiplier"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:Default
1:1x
3:3x
10:10x
50:50x
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>fProductionBonus</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>16</ID>
          <Description>"Instant Materials Delivery"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Game Executable   : SteamWorld Build.exe
// Executable Version: 2021.3.5.60218

[ENABLE]
alloc(newmem_DeliverySpeed,1024,GameAssembly.dll)

registersymbol(DeliverySpeed_Bak)

label(return_DeliverySpeed)
label(DeliverySpeed_Bak)
label(DeliverySpeedModifier)

newmem_DeliverySpeed:
  mulss xmm8,[DeliverySpeedModifier]
  jmp return_DeliverySpeed

DeliverySpeedModifier:
  dq (float)9000.0

DeliverySpeed_Bak:
  readmem(YMCA.City.Agents.DeliveryAgent.get_CurrentMovementSpeed+23,6)

YMCA.City.Agents.DeliveryAgent.get_CurrentMovementSpeed+23:
  jmp newmem_DeliverySpeed
  nop
return_DeliverySpeed:

[DISABLE]
YMCA.City.Agents.DeliveryAgent.get_CurrentMovementSpeed+23:
  readmem(DeliverySpeed_Bak,6) //db F3 44 0F 59 41 6C

unregistersymbol(DeliverySpeed_Bak)
dealloc(newmem_DeliverySpeed)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2223993

GameAssembly.dll+2223949: CC                          - int 3 
GameAssembly.dll+222394A: CC                          - int 3 
GameAssembly.dll+222394B: CC                          - int 3 
GameAssembly.dll+222394C: CC                          - int 3 
GameAssembly.dll+222394D: CC                          - int 3 
GameAssembly.dll+222394E: CC                          - int 3 
GameAssembly.dll+222394F: CC                          - int 3 
YMCA.City.Agents.DeliveryAgent.set_ActionIndex: 89 91 B8 00 00 00           - mov [rcx+000000B8],edx
GameAssembly.dll+2223956: C3                          - ret 
GameAssembly.dll+2223957: CC                          - int 3 
GameAssembly.dll+2223958: CC                          - int 3 
GameAssembly.dll+2223959: CC                          - int 3 
GameAssembly.dll+222395A: CC                          - int 3 
GameAssembly.dll+222395B: CC                          - int 3 
GameAssembly.dll+222395C: CC                          - int 3 
GameAssembly.dll+222395D: CC                          - int 3 
GameAssembly.dll+222395E: CC                          - int 3 
GameAssembly.dll+222395F: CC                          - int 3 
YMCA.City.Agents.DeliveryAgent.get_BaseMovementSpeed: F3 0F 10 81 A0 00 00 00     - movss xmm0,[rcx+000000A0]
GameAssembly.dll+2223968: F3 0F 59 41 6C              - mulss xmm0,[rcx+6C]
GameAssembly.dll+222396D: C3                          - ret 
GameAssembly.dll+222396E: CC                          - int 3 
GameAssembly.dll+222396F: CC                          - int 3 
YMCA.City.Agents.DeliveryAgent.get_CurrentMovementSpeed: 48 89 5C 24 10              - mov [rsp+10],rbx
GameAssembly.dll+2223975: 57                          - push rdi
GameAssembly.dll+2223976: 48 83 EC 60                 - sub rsp,60
GameAssembly.dll+222397A: 80 3D 35 8F D1 00 00        - cmp byte ptr [GameAssembly.dll+2F3C8B6],00
GameAssembly.dll+2223981: 48 8B D9                    - mov rbx,rcx
GameAssembly.dll+2223984: 44 0F 29 44 24 30           - movaps [rsp+30],xmm8
GameAssembly.dll+222398A: F3 44 0F 10 81 A0 00 00 00  - movss xmm8,[rcx+000000A0]
// ---------- INJECTING HERE ----------
GameAssembly.dll+2223993: F3 44 0F 59 41 6C           - mulss xmm8,[rcx+6C]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2223999: 75 13                       - jne GameAssembly.dll+22239AE
GameAssembly.dll+222399B: 48 8D 0D C6 99 B6 00        - lea rcx,[GameAssembly.dll+2D8D368]
GameAssembly.dll+22239A2: E8 C9 8A 05 FE              - call GameAssembly.il2cpp_gc_disable+A8B0
GameAssembly.dll+22239A7: C6 05 08 8F D1 00 01        - mov byte ptr [GameAssembly.dll+2F3C8B6],01
GameAssembly.dll+22239AE: 48 8B 05 DB 4E D1 00        - mov rax,[GameAssembly.dll+2F38890]
GameAssembly.dll+22239B5: 48 8B BB D0 00 00 00        - mov rdi,[rbx+000000D0]
GameAssembly.dll+22239BC: 48 85 C0                    - test rax,rax
GameAssembly.dll+22239BF: 75 1C                       - jne GameAssembly.dll+22239DD
GameAssembly.dll+22239C1: 48 8D 0D F8 55 3B 00        - lea rcx,[GameAssembly.dll+25D8FC0]
GameAssembly.dll+22239C8: E8 73 AA 0C FE              - call GameAssembly.dll+2EE440
GameAssembly.dll+22239CD: 48 85 C0                    - test rax,rax
GameAssembly.dll+22239D0: 0F 84 19 01 00 00           - je GameAssembly.dll+2223AEF
GameAssembly.dll+22239D6: 48 89 05 B3 4E D1 00        - mov [GameAssembly.dll+2F38890],rax
GameAssembly.dll+22239DD: 48 8B CB                    - mov rcx,rbx
GameAssembly.dll+22239E0: FF D0                       - call rax
GameAssembly.dll+22239E2: 48 8B D8                    - mov rbx,rax
GameAssembly.dll+22239E5: 48 85 C0                    - test rax,rax
GameAssembly.dll+22239E8: 0F 84 FB 00 00 00           - je GameAssembly.dll+2223AE9
GameAssembly.dll+22239EE: 33 C0                       - xor eax,eax
GameAssembly.dll+22239F0: 48 89 44 24 20              - mov [rsp+20],rax
GameAssembly.dll+22239F5: 89 44 24 28                 - mov [rsp+28],eax
GameAssembly.dll+22239F9: 48 8B 05 B0 53 D1 00        - mov rax,[GameAssembly.dll+2F38DB0]
GameAssembly.dll+2223A00: 48 85 C0                    - test rax,rax
GameAssembly.dll+2223A03: 75 1C                       - jne GameAssembly.dll+2223A21
GameAssembly.dll+2223A05: 48 8D 0D 24 7D 3B 00        - lea rcx,[GameAssembly.dll+25DB730]
GameAssembly.dll+2223A0C: E8 2F AA 0C FE              - call GameAssembly.dll+2EE440
GameAssembly.dll+2223A11: 48 85 C0                    - test rax,rax
GameAssembly.dll+2223A14: 0F 84 EC 00 00 00           - je GameAssembly.dll+2223B06
GameAssembly.dll+2223A1A: 48 89 05 8F 53 D1 00        - mov [GameAssembly.dll+2F38DB0],rax
GameAssembly.dll+2223A21: 48 8D 54 24 20              - lea rdx,[rsp+20]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>55</ID>
          <Description>"Delivery No Queue"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Game Executable   : SteamWorld Build.exe
// Executable Version: 2021.3.5.60218

[ENABLE]

alloc(newmem_DeliveryAgentQueue,1024,GameAssembly.dll)

registersymbol(DeliveryAgentQueue_Bak)

label(return_DeliveryAgentQueue)
label(DeliveryAgentQueue_Bak)

newmem_DeliveryAgentQueue:
  mov byte ptr [rbx+000000C8],00
  cmp byte ptr [rbx+000000C8],00
    jmp return_DeliveryAgentQueue

DeliveryAgentQueue_Bak:
  readmem(YMCA.City.Agents.WaitForAccessStart.Update+196,7)

YMCA.City.Agents.WaitForAccessStart.Update+196:
  jmp newmem_DeliveryAgentQueue
  nop 2
return_DeliveryAgentQueue:

[DISABLE]

YMCA.City.Agents.WaitForAccessStart.Update+196:
  readmem(DeliveryAgentQueue_Bak,7) //db 80 BB C8 00 00 00 00

unregistersymbol(DeliveryAgentQueue_Bak)
dealloc(newmem_DeliveryAgentQueue)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2223496

GameAssembly.dll+2223401: 75 13                 - jne GameAssembly.dll+2223416
GameAssembly.dll+2223403: 48 8D 0D EE 9E B6 00  - lea rcx,[GameAssembly.dll+2D8D2F8]
GameAssembly.dll+222340A: E8 61 90 05 FE        - call GameAssembly.il2cpp_gc_disable+A8B0
GameAssembly.dll+222340F: C6 05 85 56 D1 00 01  - mov byte ptr [GameAssembly.dll+2F38A9B],01
GameAssembly.dll+2223416: 48 8B 0D DB 9E B6 00  - mov rcx,[GameAssembly.dll+2D8D2F8]
GameAssembly.dll+222341D: 83 B9 E0 00 00 00 00  - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+2223424: 75 05                 - jne GameAssembly.dll+222342B
GameAssembly.dll+2223426: E8 25 1E 08 FE        - call GameAssembly.il2cpp_field_static_set_value+4320
GameAssembly.dll+222342B: 80 3D 1E 56 D1 00 00  - cmp byte ptr [GameAssembly.dll+2F38A50],00
GameAssembly.dll+2223432: 75 13                 - jne GameAssembly.dll+2223447
GameAssembly.dll+2223434: 48 8D 0D BD 9E B6 00  - lea rcx,[GameAssembly.dll+2D8D2F8]
GameAssembly.dll+222343B: E8 30 90 05 FE        - call GameAssembly.il2cpp_gc_disable+A8B0
GameAssembly.dll+2223440: C6 05 09 56 D1 00 01  - mov byte ptr [GameAssembly.dll+2F38A50],01
GameAssembly.dll+2223447: 48 85 F6              - test rsi,rsi
GameAssembly.dll+222344A: 74 4A                 - je GameAssembly.dll+2223496
GameAssembly.dll+222344C: 48 8B 0D A5 9E B6 00  - mov rcx,[GameAssembly.dll+2D8D2F8]
GameAssembly.dll+2223453: 83 B9 E0 00 00 00 00  - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+222345A: 75 05                 - jne GameAssembly.dll+2223461
GameAssembly.dll+222345C: E8 EF 1D 08 FE        - call GameAssembly.il2cpp_field_static_set_value+4320
GameAssembly.dll+2223461: 80 3D E9 55 D1 00 00  - cmp byte ptr [GameAssembly.dll+2F38A51],00
GameAssembly.dll+2223468: 75 13                 - jne GameAssembly.dll+222347D
GameAssembly.dll+222346A: 48 8D 0D 7F 9D B6 00  - lea rcx,[GameAssembly.dll+2D8D1F0]
GameAssembly.dll+2223471: E8 FA 8F 05 FE        - call GameAssembly.il2cpp_gc_disable+A8B0
GameAssembly.dll+2223476: C6 05 D4 55 D1 00 01  - mov byte ptr [GameAssembly.dll+2F38A51],01
GameAssembly.dll+222347D: 48 83 7E 10 00        - cmp qword ptr [rsi+10],00
GameAssembly.dll+2223482: 74 12                 - je GameAssembly.dll+2223496
GameAssembly.dll+2223484: 0F B6 93 C8 00 00 00  - movzx edx,byte ptr [rbx+000000C8]
GameAssembly.dll+222348B: 45 33 C0              - xor r8d,r8d
GameAssembly.dll+222348E: 48 8B CF              - mov rcx,rdi
GameAssembly.dll+2223491: E8 8A 01 00 00        - call YMCA.City.Agents.WaitForAccessStart.UpdateQueueState
// ---------- INJECTING HERE ----------
GameAssembly.dll+2223496: 80 BB C8 00 00 00 00  - cmp byte ptr [rbx+000000C8],00
// ---------- DONE INJECTING  ----------
GameAssembly.dll+222349D: 48 8B 74 24 30        - mov rsi,[rsp+30]
GameAssembly.dll+22234A2: 48 8B 5C 24 40        - mov rbx,[rsp+40]
GameAssembly.dll+22234A7: 0F 94 C0              - sete al
GameAssembly.dll+22234AA: 48 83 C4 20           - add rsp,20
GameAssembly.dll+22234AE: 5F                    - pop rdi
GameAssembly.dll+22234AF: C3                    - ret 
GameAssembly.dll+22234B0: E8 5B F6 09 FE        - call GameAssembly.dll+2C2B10
GameAssembly.dll+22234B5: CC                    - int 3 
GameAssembly.dll+22234B6: 48 8D 0D 33 79 3B 00  - lea rcx,[GameAssembly.dll+25DADF0]
GameAssembly.dll+22234BD: E8 DE AB 0C FE        - call GameAssembly.dll+2EE0A0
GameAssembly.dll+22234C2: 48 8B C8              - mov rcx,rax
GameAssembly.dll+22234C5: 33 D2                 - xor edx,edx
GameAssembly.dll+22234C7: E8 04 8E 0C FE        - call GameAssembly.dll+2EC2D0
GameAssembly.dll+22234CC: CC                    - int 3 
GameAssembly.dll+22234CD: CC                    - int 3 
GameAssembly.dll+22234CE: CC                    - int 3 
GameAssembly.dll+22234CF: CC                    - int 3 
YMCA.City.Agents.WaitForAccessStart.Undo: 40 53                 - push rbx
GameAssembly.dll+22234D2: 48 83 EC 20           - sub rsp,20
GameAssembly.dll+22234D6: 80 3D CC 93 D1 00 00  - cmp byte ptr [GameAssembly.dll+2F3C8A9],00
GameAssembly.dll+22234DD: 48 8B D9              - mov rbx,rcx
GameAssembly.dll+22234E0: 75 13                 - jne GameAssembly.dll+22234F5
GameAssembly.dll+22234E2: 48 8D 0D 0F 9E B6 00  - lea rcx,[GameAssembly.dll+2D8D2F8]
GameAssembly.dll+22234E9: E8 82 8F 05 FE        - call GameAssembly.il2cpp_gc_disable+A8B0
GameAssembly.dll+22234EE: C6 05 B4 93 D1 00 01  - mov byte ptr [GameAssembly.dll+2F3C8A9],01
GameAssembly.dll+22234F5: 80 7B 20 00           - cmp byte ptr [rbx+20],00
GameAssembly.dll+22234F9: 0F 84 0A 01 00 00     - je GameAssembly.dll+2223609
GameAssembly.dll+22234FF: 48 8B 0D F2 9D B6 00  - mov rcx,[GameAssembly.dll+2D8D2F8]
GameAssembly.dll+2223506: 48 89 7C 24 30        - mov [rsp+30],rdi
GameAssembly.dll+222350B: 48 8B 7B 10           - mov rdi,[rbx+10]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>32</ID>
          <Description>"Miners Walking Speed Modifier"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Game Executable   : SteamWorld Build.exe
// Executable Version: 2021.3.5.60218

[ENABLE]

alloc(newmem_MinersSpeed,1024,GameAssembly.dll)

registersymbol(MinersSpeed_Bak)
registersymbol(fMinersWalkingSpeed)

label(return_MinersSpeed)
label(MinersSpeed_Bak)
label(fMinersWalkingSpeed)

newmem_MinersSpeed:
  mov rax,[rbx+28]

  //mov [rax+78],(float)1.0 //  _baseWalkSpeed
  movss xmm10,[fMinersWalkingSpeed]
  movss [rax+7C],xmm10 //  _bonusWalkSpeed
  movss [rax+80],xmm10 //  _totalWalkSpeed
  //mov [rax+84],(float)1.0 //  _baseDigSpeed
  //mov [rax+88],(float)5.0 //  _bonusDigSpeed
  //mov [rax+8C],(float)5.0 //  _totalDigSpeed
  //mov [rax+90],(float)50.0 //  _baseHealth
  //mov [rax+94],(float)50.0 //  _bonusHealth
  //mov [rax+98],(float)5.0 //  _bonusDebrisClearSpeed
  //mov [rax+9C],(float)500.0 //  _bonusReinforceSpeed
  //mov [rax+A0],(float)50.0 //  _bonusRevivalSpeed
  //mov [rax+A4],(float)50.0 //  _bonusRepairSpeed

  test rax,rax
    jmp return_MinersSpeed

fMinersWalkingSpeed:
  dq (float)3.0

MinersSpeed_Bak:
  readmem(YMCA.Mines.Agents.MineAgent.UpdateMinersSpeedModifiers+1E3,7)

YMCA.Mines.Agents.MineAgent.UpdateMinersSpeedModifiers+1E3:
  jmp newmem_MinersSpeed
  nop
  nop
return_MinersSpeed:

[DISABLE]
YMCA.Mines.Agents.MineAgent.UpdateMinersSpeedModifiers+1E3:
  readmem(MinersSpeed_Bak,7) //db 48 8B 43 28 48 85 C0

unregistersymbol(MinersSpeed_Bak)
unregistersymbol(fMinersWalkingSpeed)
dealloc(newmem_MinersSpeed)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+23FFE93

GameAssembly.dll+23FFE18: 74 A6                       - je GameAssembly.dll+23FFDC0
GameAssembly.dll+23FFE1A: 48 8B 11                    - mov rdx,[rcx]
GameAssembly.dll+23FFE1D: 48 8B 82 08 02 00 00        - mov rax,[rdx+00000208]
GameAssembly.dll+23FFE24: 48 8B 92 10 02 00 00        - mov rdx,[rdx+00000210]
GameAssembly.dll+23FFE2B: FF D0                       - call rax
GameAssembly.dll+23FFE2D: F3 0F 59 F0                 - mulss xmm6,xmm0
GameAssembly.dll+23FFE31: F3 0F 11 B4 24 A0 00 00 00  - movss [rsp+000000A0],xmm6
GameAssembly.dll+23FFE3A: EB 84                       - jmp GameAssembly.dll+23FFDC0
GameAssembly.dll+23FFE3C: EB 1B                       - jmp GameAssembly.dll+23FFE59
GameAssembly.dll+23FFE3E: 48 8B 4C 24 28              - mov rcx,[rsp+28]
GameAssembly.dll+23FFE43: 48 85 C9                    - test rcx,rcx
GameAssembly.dll+23FFE46: 75 7C                       - jne GameAssembly.dll+23FFEC4
GameAssembly.dll+23FFE48: 48 8B 9C 24 90 00 00 00     - mov rbx,[rsp+00000090]
GameAssembly.dll+23FFE50: F3 0F 10 B4 24 A0 00 00 00  - movss xmm6,[rsp+000000A0]
GameAssembly.dll+23FFE59: 4C 8B 43 38                 - mov r8,[rbx+38]
GameAssembly.dll+23FFE5D: 48 8B 8B E0 00 00 00        - mov rcx,[rbx+000000E0]
GameAssembly.dll+23FFE64: 48 85 C9                    - test rcx,rcx
GameAssembly.dll+23FFE67: 74 55                       - je GameAssembly.dll+23FFEBE
GameAssembly.dll+23FFE69: 8B 91 E0 00 00 00           - mov edx,[rcx+000000E0]
GameAssembly.dll+23FFE6F: 85 D2                       - test edx,edx
GameAssembly.dll+23FFE71: 74 1B                       - je GameAssembly.dll+23FFE8E
GameAssembly.dll+23FFE73: 83 EA 01                    - sub edx,01
GameAssembly.dll+23FFE76: 74 0F                       - je GameAssembly.dll+23FFE87
GameAssembly.dll+23FFE78: 83 FA 01                    - cmp edx,01
GameAssembly.dll+23FFE7B: 75 11                       - jne GameAssembly.dll+23FFE8E
GameAssembly.dll+23FFE7D: F3 0F 10 81 E4 00 00 00     - movss xmm0,[rcx+000000E4]
GameAssembly.dll+23FFE85: EB 0C                       - jmp GameAssembly.dll+23FFE93
GameAssembly.dll+23FFE87: F3 0F 10 41 1C              - movss xmm0,[rcx+1C]
GameAssembly.dll+23FFE8C: EB 05                       - jmp GameAssembly.dll+23FFE93
GameAssembly.dll+23FFE8E: F3 0F 10 41 18              - movss xmm0,[rcx+18]
// ---------- INJECTING HERE ----------
GameAssembly.dll+23FFE93: 48 8B 43 28                 - mov rax,[rbx+28]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+23FFE97: 48 85 C0                    - test rax,rax
GameAssembly.dll+23FFE9A: 74 22                       - je GameAssembly.dll+23FFEBE
GameAssembly.dll+23FFE9C: 4D 85 C0                    - test r8,r8
GameAssembly.dll+23FFE9F: 74 1D                       - je GameAssembly.dll+23FFEBE
GameAssembly.dll+23FFEA1: F3 0F 59 40 7C              - mulss xmm0,[rax+7C]
GameAssembly.dll+23FFEA6: F3 0F 59 C6                 - mulss xmm0,xmm6
GameAssembly.dll+23FFEAA: F3 41 0F 11 40 1C           - movss [r8+1C],xmm0
GameAssembly.dll+23FFEB0: 0F 28 74 24 70              - movaps xmm6,[rsp+70]
GameAssembly.dll+23FFEB5: 48 81 C4 80 00 00 00        - add rsp,00000080
GameAssembly.dll+23FFEBC: 5B                          - pop rbx
GameAssembly.dll+23FFEBD: C3                          - ret 
GameAssembly.dll+23FFEBE: E8 4D 2C EC FD              - call GameAssembly.dll+2C2B10
GameAssembly.dll+23FFEC3: CC                          - int 3 
GameAssembly.dll+23FFEC4: E8 A7 D6 E8 FD              - call GameAssembly.dll+28D570
GameAssembly.dll+23FFEC9: CC                          - int 3 
GameAssembly.dll+23FFECA: CC                          - int 3 
GameAssembly.dll+23FFECB: CC                          - int 3 
GameAssembly.dll+23FFECC: CC                          - int 3 
GameAssembly.dll+23FFECD: CC                          - int 3 
GameAssembly.dll+23FFECE: CC                          - int 3 
GameAssembly.dll+23FFECF: CC                          - int 3 
YMCA.Mines.Agents.MineAgent.GetWalkSpeed: 48 83 EC 28                 - sub rsp,28
GameAssembly.dll+23FFED4: 48 8B 91 E0 00 00 00        - mov rdx,[rcx+000000E0]
GameAssembly.dll+23FFEDB: 48 85 D2                    - test rdx,rdx
GameAssembly.dll+23FFEDE: 74 41                       - je GameAssembly.dll+23FFF21
GameAssembly.dll+23FFEE0: 44 8B 82 E0 00 00 00        - mov r8d,[rdx+000000E0]
GameAssembly.dll+23FFEE7: 45 85 C0                    - test r8d,r8d
GameAssembly.dll+23FFEEA: 74 1D                       - je GameAssembly.dll+23FFF09
GameAssembly.dll+23FFEEC: 41 83 E8 01                 - sub r8d,01
GameAssembly.dll+23FFEF0: 74 10                       - je GameAssembly.dll+23FFF02
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>42</ID>
              <Description>"Walking Speed"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>fMinersWalkingSpeed</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>84</ID>
          <Description>"Fossil Park Bonus (Miners Bonus)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Game Executable   : SteamWorld Build.exe
// Executable Version: 2021.3.5.60218

[ENABLE]

alloc(newmem_FossilParkBonus,1024,GameAssembly.dll)

registersymbol(FossilParkBonus_Bak)
registersymbol(pFossilParkBonusAddr)

label(return_FossilParkBonus)
label(FossilParkBonus_Bak)
label(pFossilParkBonusAddr)

newmem_FossilParkBonus:
  push rdx
  mov rdx,[rsi+C8]
  test rdx,rdx
    je @f
  mov [pFossilParkBonusAddr],rdx
  mov [rdx+30],01 // _isActive

@@:
  pop rdx
  mov [rsi+000000C0],00000000
    jmp return_FossilParkBonus

pFossilParkBonusAddr:
  dq 0

FossilParkBonus_Bak:
  readmem(YMCA.Mines.Agents.MineAgentManager.SplitMinersPlanning+180,10)

YMCA.Mines.Agents.MineAgentManager.SplitMinersPlanning+180:
  jmp newmem_FossilParkBonus
  nop 5
return_FossilParkBonus:

[DISABLE]
{$lua}
writeInteger("[pFossilParkBonusAddr]+30",0)
{$asm}
YMCA.Mines.Agents.MineAgentManager.SplitMinersPlanning+180:
  readmem(FossilParkBonus_Bak,10) //db C7 86 C0 00 00 00 00 00 00 00

unregistersymbol(FossilParkBonus_Bak)
unregistersymbol(pFossilParkBonusAddr)
dealloc(newmem_FossilParkBonus)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+240C260

GameAssembly.dll+240C1F0: 80 BF 91 01 00 00 00           - cmp byte ptr [rdi+00000191],00
GameAssembly.dll+240C1F7: 75 46                          - jne GameAssembly.dll+240C23F
GameAssembly.dll+240C1F9: 48 8B 87 E0 00 00 00           - mov rax,[rdi+000000E0]
GameAssembly.dll+240C200: 48 85 C0                       - test rax,rax
GameAssembly.dll+240C203: 74 7F                          - je GameAssembly.dll+240C284
GameAssembly.dll+240C205: 48 8B 48 70                    - mov rcx,[rax+70]
GameAssembly.dll+240C209: 48 85 C9                       - test rcx,rcx
GameAssembly.dll+240C20C: 74 76                          - je GameAssembly.dll+240C284
GameAssembly.dll+240C20E: 80 B9 44 01 00 00 00           - cmp byte ptr [rcx+00000144],00
GameAssembly.dll+240C215: 75 28                          - jne GameAssembly.dll+240C23F
GameAssembly.dll+240C217: 33 D2                          - xor edx,edx
GameAssembly.dll+240C219: 48 8B CF                       - mov rcx,rdi
GameAssembly.dll+240C21C: E8 CF 26 FF FF                 - call YMCA.Mines.Agents.MineAgent.ActionPlanning
GameAssembly.dll+240C221: 45 33 C0                       - xor r8d,r8d
GameAssembly.dll+240C224: 0F 28 CE                       - movaps xmm1,xmm6
GameAssembly.dll+240C227: 48 8B CF                       - mov rcx,rdi
GameAssembly.dll+240C22A: E8 E1 44 FF FF                 - call YMCA.Mines.Agents.MineAgent.UpdateStatusEffects
GameAssembly.dll+240C22F: 33 D2                          - xor edx,edx
GameAssembly.dll+240C231: 48 8B CF                       - mov rcx,rdi
GameAssembly.dll+240C234: E8 77 3A FF FF                 - call YMCA.Mines.Agents.MineAgent.UpdateMinersSpeedModifiers
GameAssembly.dll+240C239: FF 86 C0 00 00 00              - inc [rsi+000000C0]
GameAssembly.dll+240C23F: FF C3                          - inc ebx
GameAssembly.dll+240C241: 3B DD                          - cmp ebx,ebp
GameAssembly.dll+240C243: 0F 8C 67 FF FF FF              - jl GameAssembly.dll+240C1B0
GameAssembly.dll+240C249: 48 8B 86 D0 00 00 00           - mov rax,[rsi+000000D0]
GameAssembly.dll+240C250: 48 85 C0                       - test rax,rax
GameAssembly.dll+240C253: 74 2F                          - je GameAssembly.dll+240C284
GameAssembly.dll+240C255: 8B 40 18                       - mov eax,[rax+18]
GameAssembly.dll+240C258: 39 86 C0 00 00 00              - cmp [rsi+000000C0],eax
GameAssembly.dll+240C25E: 7C 0A                          - jl GameAssembly.dll+240C26A
// ---------- INJECTING HERE ----------
GameAssembly.dll+240C260: C7 86 C0 00 00 00 00 00 00 00  - mov [rsi+000000C0],00000000
// ---------- DONE INJECTING  ----------
GameAssembly.dll+240C26A: 48 8B 7C 24 50                 - mov rdi,[rsp+50]
GameAssembly.dll+240C26F: 48 8B 6C 24 48                 - mov rbp,[rsp+48]
GameAssembly.dll+240C274: 48 8B 5C 24 40                 - mov rbx,[rsp+40]
GameAssembly.dll+240C279: 0F 28 74 24 20                 - movaps xmm6,[rsp+20]
GameAssembly.dll+240C27E: 48 83 C4 30                    - add rsp,30
GameAssembly.dll+240C282: 5E                             - pop rsi
GameAssembly.dll+240C283: C3                             - ret 
GameAssembly.dll+240C284: E8 87 68 EB FD                 - call GameAssembly.dll+2C2B10
GameAssembly.dll+240C289: CC                             - int 3 
GameAssembly.dll+240C28A: 48 8D 0D 1F E9 1C 00           - lea rcx,[GameAssembly.dll+25DABB0]
GameAssembly.dll+240C291: E8 0A 1E EE FD                 - call GameAssembly.dll+2EE0A0
GameAssembly.dll+240C296: 48 8B C8                       - mov rcx,rax
GameAssembly.dll+240C299: 33 D2                          - xor edx,edx
GameAssembly.dll+240C29B: E8 30 00 EE FD                 - call GameAssembly.dll+2EC2D0
GameAssembly.dll+240C2A0: CC                             - int 3 
GameAssembly.dll+240C2A1: E8 7A 68 EB FD                 - call GameAssembly.dll+2C2B20
GameAssembly.dll+240C2A6: CC                             - int 3 
GameAssembly.dll+240C2A7: 33 C9                          - xor ecx,ecx
GameAssembly.dll+240C2A9: E8 A2 6A D9 FE                 - call System.ThrowHelper.ThrowArgumentOutOfRange_IndexException
GameAssembly.dll+240C2AE: CC                             - int 3 
GameAssembly.dll+240C2AF: CC                             - int 3 
YMCA.Mines.Agents.MineAgentManager.SplitIntoMultipleFrames: 40 53                          - push rbx
GameAssembly.dll+240C2B2: 48 83 EC 70                    - sub rsp,70
GameAssembly.dll+240C2B6: 80 3D 84 11 B3 00 00           - cmp byte ptr [GameAssembly.dll+2F3D441],00
GameAssembly.dll+240C2BD: 48 8B D9                       - mov rbx,rcx
GameAssembly.dll+240C2C0: 75 1F                          - jne GameAssembly.dll+240C2E1
GameAssembly.dll+240C2C2: 48 8D 0D 3F A1 97 00           - lea rcx,[GameAssembly.dll+2D86408]
GameAssembly.dll+240C2C9: E8 A2 01 E7 FD                 - call GameAssembly.il2cpp_gc_disable+A8B0
GameAssembly.dll+240C2CE: 48 8D 0D FB 85 97 00           - lea rcx,[GameAssembly.dll+2D848D0]
GameAssembly.dll+240C2D5: E8 96 01 E7 FD                 - call GameAssembly.il2cpp_gc_disable+A8B0
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>85</ID>
              <Description>"_minerWorkSpeedBoost"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>[pFossilParkBonusAddr]+38</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>87</ID>
              <Description>"_quarterRoomBonus"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>[pFossilParkBonusAddr]+3C</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>86</ID>
              <Description>"_machineCapacityBonus"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>[pFossilParkBonusAddr]+40</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>45</ID>
          <Description>"[ Instant Working Buildings - Separate Scripts ]"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>12</ID>
              <Description>"Forester &amp; Lumber Instant Working"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>// Game Executable   : SteamWorld Build.exe
// Executable Version: 2021.3.5.60218

[ENABLE]

YMCA.Production.Components.Collector.UpdateProduction+1C7:
  db F3 44 0F 10 CE

[DISABLE]

YMCA.Production.Components.Collector.UpdateProduction+1C7:
  db F3 44 0F 58 CF

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+217BDE0

GameAssembly.dll+217BD56: 4C 8B 80 98 00 00 00        - mov r8,[rax+00000098]
GameAssembly.dll+217BD5D: 45 33 C9                    - xor r9d,r9d
GameAssembly.dll+217BD60: 0F 28 CE                    - movaps xmm1,xmm6
GameAssembly.dll+217BD63: 48 8B CB                    - mov rcx,rbx
GameAssembly.dll+217BD66: E8 75 3C 33 00              - call GameAssembly.dll+24AF9E0
GameAssembly.dll+217BD6B: F3 0F 11 BE 18 01 00 00     - movss [rsi+00000118],xmm7
GameAssembly.dll+217BD73: 83 7E 50 00                 - cmp dword ptr [rsi+50],00
GameAssembly.dll+217BD77: 75 07                       - jne GameAssembly.dll+217BD80
GameAssembly.dll+217BD79: C7 46 50 01 00 00 00        - mov [rsi+50],00000001
GameAssembly.dll+217BD80: 83 7E 50 01                 - cmp dword ptr [rsi+50],01
GameAssembly.dll+217BD84: F3 0F 10 35 C4 A4 99 00     - movss xmm6,[GameAssembly.dll+2B16250]
GameAssembly.dll+217BD8C: 75 7A                       - jne GameAssembly.dll+217BE08
GameAssembly.dll+217BD8E: 48 8B 9E 80 00 00 00        - mov rbx,[rsi+00000080]
GameAssembly.dll+217BD95: 48 85 DB                    - test rbx,rbx
GameAssembly.dll+217BD98: 0F 84 BE 01 00 00           - je GameAssembly.dll+217BF5C
GameAssembly.dll+217BD9E: F3 0F 10 43 20              - movss xmm0,[rbx+20]
GameAssembly.dll+217BDA3: 0F 2F C6                    - comiss xmm0,xmm6
GameAssembly.dll+217BDA6: 73 60                       - jae GameAssembly.dll+217BE08
GameAssembly.dll+217BDA8: 48 8B 4E 18                 - mov rcx,[rsi+18]
GameAssembly.dll+217BDAC: 0F 28 F8                    - movaps xmm7,xmm0
GameAssembly.dll+217BDAF: F3 44 0F 10 96 A0 00 00 00  - movss xmm10,[rsi+000000A0]
GameAssembly.dll+217BDB8: 48 85 C9                    - test rcx,rcx
GameAssembly.dll+217BDBB: 0F 84 9B 01 00 00           - je GameAssembly.dll+217BF5C
GameAssembly.dll+217BDC1: 33 D2                       - xor edx,edx
GameAssembly.dll+217BDC3: E8 78 17 FF FF              - call GameAssembly.dll+216D540
GameAssembly.dll+217BDC8: F3 0F 10 4B 20              - movss xmm1,[rbx+20]
GameAssembly.dll+217BDCD: F3 44 0F 5E C8              - divss xmm9,xmm0
GameAssembly.dll+217BDD2: F3 45 0F 59 CA              - mulss xmm9,xmm10
// ---------- INJECTING HERE ----------
GameAssembly.dll+217BDD7: F3 44 0F 58 CF              - addss xmm9,xmm7
// ---------- DONE INJECTING  ----------
GameAssembly.dll+217BDDC: 45 0F 2F C8                 - comiss xmm9,xmm8
GameAssembly.dll+217BDE0: F3 44 0F 11 4B 20           - movss [rbx+20],xmm9
GameAssembly.dll+217BDE6: 0F 93 C2                    - setae dl
GameAssembly.dll+217BDE9: 41 0F 2F C8                 - comiss xmm1,xmm8
GameAssembly.dll+217BDED: 0F 93 C0                    - setae al
GameAssembly.dll+217BDF0: 3A D0                       - cmp dl,al
GameAssembly.dll+217BDF2: 74 14                       - je GameAssembly.dll+217BE08
GameAssembly.dll+217BDF4: 48 8B 43 18                 - mov rax,[rbx+18]
GameAssembly.dll+217BDF8: 48 85 C0                    - test rax,rax
GameAssembly.dll+217BDFB: 74 0B                       - je GameAssembly.dll+217BE08
GameAssembly.dll+217BDFD: 4C 8B 40 28                 - mov r8,[rax+28]
GameAssembly.dll+217BE01: 48 8B 48 40                 - mov rcx,[rax+40]
GameAssembly.dll+217BE05: FF 50 18                    - call qword ptr [rax+18]
GameAssembly.dll+217BE08: 8B 46 50                    - mov eax,[rsi+50]
GameAssembly.dll+217BE0B: 83 F8 02                    - cmp eax,02
GameAssembly.dll+217BE0E: 74 1F                       - je GameAssembly.dll+217BE2F
GameAssembly.dll+217BE10: 83 F8 01                    - cmp eax,01
GameAssembly.dll+217BE13: 75 4B                       - jne GameAssembly.dll+217BE60
GameAssembly.dll+217BE15: 48 8B 86 80 00 00 00        - mov rax,[rsi+00000080]
GameAssembly.dll+217BE1C: 48 85 C0                    - test rax,rax
GameAssembly.dll+217BE1F: 0F 84 37 01 00 00           - je GameAssembly.dll+217BF5C
GameAssembly.dll+217BE25: F3 0F 10 40 20              - movss xmm0,[rax+20]
GameAssembly.dll+217BE2A: 0F 2F C6                    - comiss xmm0,xmm6
GameAssembly.dll+217BE2D: 72 31                       - jb GameAssembly.dll+217BE60
GameAssembly.dll+217BE2F: 48 8B 56 18                 - mov rdx,[rsi+18]
GameAssembly.dll+217BE33: 48 85 D2                    - test rdx,rdx
GameAssembly.dll+217BE36: 0F 84 20 01 00 00           - je GameAssembly.dll+217BF5C
GameAssembly.dll+217BE3C: 48 8B 4E 78                 - mov rcx,[rsi+78]
GameAssembly.dll+217BE40: 48 85 C9                    - test rcx,rcx
GameAssembly.dll+217BE43: 0F 84 13 01 00 00           - je GameAssembly.dll+217BF5C
GameAssembly.dll+217BE49: 48 8B 52 20                 - mov rdx,[rdx+20]
GameAssembly.dll+217BE4D: 45 33 C0                    - xor r8d,r8d
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>13</ID>
              <Description>"Factory Instant Working"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>// Game Executable   : SteamWorld Build.exe
// Executable Version: 2021.3.5.60218

[ENABLE]

YMCA.Production.Components.Factory.UpdateProduction+C2:
  db F3 41 0F 10 F2

[DISABLE]

YMCA.Production.Components.Factory.UpdateProduction+C2:
  db F3 41 0F 58 F1

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2185A22

GameAssembly.dll+2185986: 75 13                       - jne GameAssembly.dll+218599B
GameAssembly.dll+2185988: 48 8D 0D 69 79 C0 00        - lea rcx,[GameAssembly.dll+2D8D2F8]
GameAssembly.dll+218598F: E8 DC 6A 0F FE              - call GameAssembly.il2cpp_gc_disable+A8B0
GameAssembly.dll+2185994: C6 05 55 6B DB 00 01        - mov byte ptr [GameAssembly.dll+2F3C4F0],01
GameAssembly.dll+218599B: 83 7E 50 01                 - cmp dword ptr [rsi+50],01
GameAssembly.dll+218599F: 45 0F 57 C0                 - xorps xmm8,xmm8
GameAssembly.dll+21859A3: F3 0F 10 3D A5 08 99 00     - movss xmm7,[GameAssembly.dll+2B16250]
GameAssembly.dll+21859AB: 48 89 9C 24 98 00 00 00     - mov [rsp+00000098],rbx
GameAssembly.dll+21859B3: 48 89 AC 24 A0 00 00 00     - mov [rsp+000000A0],rbp
GameAssembly.dll+21859BB: 48 89 BC 24 A8 00 00 00     - mov [rsp+000000A8],rdi
GameAssembly.dll+21859C3: 44 0F 29 4C 24 40           - movaps [rsp+40],xmm9
GameAssembly.dll+21859C9: 44 0F 29 54 24 30           - movaps [rsp+30],xmm10
GameAssembly.dll+21859CF: C6 84 24 90 00 00 00 00     - mov byte ptr [rsp+00000090],00
GameAssembly.dll+21859D7: 75 79                       - jne GameAssembly.dll+2185A52
GameAssembly.dll+21859D9: 48 8B 9E 80 00 00 00        - mov rbx,[rsi+00000080]
GameAssembly.dll+21859E0: 48 85 DB                    - test rbx,rbx
GameAssembly.dll+21859E3: 0F 84 5A 03 00 00           - je GameAssembly.dll+2185D43
GameAssembly.dll+21859E9: F3 0F 10 43 20              - movss xmm0,[rbx+20]
GameAssembly.dll+21859EE: 0F 2F C7                    - comiss xmm0,xmm7
GameAssembly.dll+21859F1: 73 5F                       - jae GameAssembly.dll+2185A52
GameAssembly.dll+21859F3: 48 8B 4E 18                 - mov rcx,[rsi+18]
GameAssembly.dll+21859F7: 44 0F 28 C8                 - movaps xmm9,xmm0
GameAssembly.dll+21859FB: F3 44 0F 10 96 A0 00 00 00  - movss xmm10,[rsi+000000A0]
GameAssembly.dll+2185A04: 48 85 C9                    - test rcx,rcx
GameAssembly.dll+2185A07: 0F 84 36 03 00 00           - je GameAssembly.dll+2185D43
GameAssembly.dll+2185A0D: 33 D2                       - xor edx,edx
GameAssembly.dll+2185A0F: E8 2C 7B FE FF              - call YMCA.Production.Recipe.get_Duration
GameAssembly.dll+2185A14: F3 0F 10 4B 20              - movss xmm1,[rbx+20]
GameAssembly.dll+2185A19: F3 0F 5E F0                 - divss xmm6,xmm0
GameAssembly.dll+2185A1D: F3 41 0F 59 F2              - mulss xmm6,xmm10
// ---------- INJECTING HERE ----------
GameAssembly.dll+2185A22: F3 41 0F 58 F1              - addss xmm6,xmm9
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2185A27: 41 0F 2F F0                 - comiss xmm6,xmm8
GameAssembly.dll+2185A2B: F3 0F 11 73 20              - movss [rbx+20],xmm6
GameAssembly.dll+2185A30: 0F 93 C2                    - setae dl
GameAssembly.dll+2185A33: 41 0F 2F C8                 - comiss xmm1,xmm8
GameAssembly.dll+2185A37: 0F 93 C0                    - setae al
GameAssembly.dll+2185A3A: 3A D0                       - cmp dl,al
GameAssembly.dll+2185A3C: 74 14                       - je GameAssembly.dll+2185A52
GameAssembly.dll+2185A3E: 48 8B 43 18                 - mov rax,[rbx+18]
GameAssembly.dll+2185A42: 48 85 C0                    - test rax,rax
GameAssembly.dll+2185A45: 74 0B                       - je GameAssembly.dll+2185A52
GameAssembly.dll+2185A47: 4C 8B 40 28                 - mov r8,[rax+28]
GameAssembly.dll+2185A4B: 48 8B 48 40                 - mov rcx,[rax+40]
GameAssembly.dll+2185A4F: FF 50 18                    - call qword ptr [rax+18]
GameAssembly.dll+2185A52: 8B 46 50                    - mov eax,[rsi+50]
GameAssembly.dll+2185A55: 83 F8 02                    - cmp eax,02
GameAssembly.dll+2185A58: 74 27                       - je GameAssembly.dll+2185A81
GameAssembly.dll+2185A5A: 83 F8 01                    - cmp eax,01
GameAssembly.dll+2185A5D: 0F 85 37 01 00 00           - jne GameAssembly.dll+2185B9A
GameAssembly.dll+2185A63: 48 8B 86 80 00 00 00        - mov rax,[rsi+00000080]
GameAssembly.dll+2185A6A: 48 85 C0                    - test rax,rax
GameAssembly.dll+2185A6D: 0F 84 D0 02 00 00           - je GameAssembly.dll+2185D43
GameAssembly.dll+2185A73: F3 0F 10 40 20              - movss xmm0,[rax+20]
GameAssembly.dll+2185A78: 0F 2F C7                    - comiss xmm0,xmm7
GameAssembly.dll+2185A7B: 0F 82 19 01 00 00           - jb GameAssembly.dll+2185B9A
GameAssembly.dll+2185A81: 48 8B 56 18                 - mov rdx,[rsi+18]
GameAssembly.dll+2185A85: 48 85 D2                    - test rdx,rdx
GameAssembly.dll+2185A88: 0F 84 B5 02 00 00           - je GameAssembly.dll+2185D43
GameAssembly.dll+2185A8E: 48 8B 4E 78                 - mov rcx,[rsi+78]
GameAssembly.dll+2185A92: 48 85 C9                    - test rcx,rcx
GameAssembly.dll+2185A95: 0F 84 A8 02 00 00           - je GameAssembly.dll+2185D43
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>33</ID>
              <Description>"Machine Instant Working"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>// Game Executable   : SteamWorld Build.exe
// Executable Version: 2021.3.5.60218

[ENABLE]

YMCA.Mines.Machines.MiningMachine.UpdateProduction+1B7:
  db F3 41 0F 10 FA // movss xmm7,xmm10

[DISABLE]

YMCA.Mines.Machines.MiningMachine.UpdateProduction+1B7:
  db F3 41 0F 58 F9 // addss xmm7,xmm9

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2313787

GameAssembly.dll+23136FE: 44 0F 28 44 24 50           - movaps xmm8,[rsp+50]
GameAssembly.dll+2313704: 0F 28 74 24 70              - movaps xmm6,[rsp+70]
GameAssembly.dll+2313709: 48 8B BC 24 90 00 00 00     - mov rdi,[rsp+00000090]
GameAssembly.dll+2313711: 0F 28 7C 24 60              - movaps xmm7,[rsp+60]
GameAssembly.dll+2313716: 48 81 C4 80 00 00 00        - add rsp,00000080
GameAssembly.dll+231371D: 5B                          - pop rbx
GameAssembly.dll+231371E: C3                          - ret
GameAssembly.dll+231371F: 83 7B 50 00                 - cmp dword ptr [rbx+50],00
GameAssembly.dll+2313723: 75 07                       - jne GameAssembly.dll+231372C
GameAssembly.dll+2313725: C7 43 50 01 00 00 00        - mov [rbx+50],00000001
GameAssembly.dll+231372C: 83 7B 50 01                 - cmp dword ptr [rbx+50],01
GameAssembly.dll+2313730: 45 0F 57 C0                 - xorps xmm8,xmm8
GameAssembly.dll+2313734: F3 0F 10 35 14 2B 80 00     - movss xmm6,[GameAssembly.dll+2B16250]
GameAssembly.dll+231373C: 75 79                       - jne GameAssembly.dll+23137B7
GameAssembly.dll+231373E: 48 8B BB 80 00 00 00        - mov rdi,[rbx+00000080]
GameAssembly.dll+2313745: 48 85 FF                    - test rdi,rdi
GameAssembly.dll+2313748: 0F 84 56 03 00 00           - je GameAssembly.dll+2313AA4
GameAssembly.dll+231374E: F3 0F 10 47 20              - movss xmm0,[rdi+20]
GameAssembly.dll+2313753: 0F 2F C6                    - comiss xmm0,xmm6
GameAssembly.dll+2313756: 73 5F                       - jae GameAssembly.dll+23137B7
GameAssembly.dll+2313758: 48 8B 4B 18                 - mov rcx,[rbx+18]
GameAssembly.dll+231375C: 44 0F 28 C8                 - movaps xmm9,xmm0
GameAssembly.dll+2313760: F3 44 0F 10 93 A0 00 00 00  - movss xmm10,[rbx+000000A0]
GameAssembly.dll+2313769: 48 85 C9                    - test rcx,rcx
GameAssembly.dll+231376C: 0F 84 32 03 00 00           - je GameAssembly.dll+2313AA4
GameAssembly.dll+2313772: 33 D2                       - xor edx,edx
GameAssembly.dll+2313774: E8 C7 9D E5 FF              - call YMCA.Production.Recipe.get_Duration
GameAssembly.dll+2313779: F3 0F 10 4F 20              - movss xmm1,[rdi+20]
GameAssembly.dll+231377E: F3 0F 5E F8                 - divss xmm7,xmm0
GameAssembly.dll+2313782: F3 41 0F 59 FA              - mulss xmm7,xmm10
// ---------- INJECTING HERE ----------
GameAssembly.dll+2313787: F3 41 0F 58 F9              - addss xmm7,xmm9
// ---------- DONE INJECTING  ----------
GameAssembly.dll+231378C: 41 0F 2F F8                 - comiss xmm7,xmm8
GameAssembly.dll+2313790: F3 0F 11 7F 20              - movss [rdi+20],xmm7
GameAssembly.dll+2313795: 0F 93 C2                    - setae dl
GameAssembly.dll+2313798: 41 0F 2F C8                 - comiss xmm1,xmm8
GameAssembly.dll+231379C: 0F 93 C0                    - setae al
GameAssembly.dll+231379F: 3A D0                       - cmp dl,al
GameAssembly.dll+23137A1: 74 14                       - je GameAssembly.dll+23137B7
GameAssembly.dll+23137A3: 48 8B 47 18                 - mov rax,[rdi+18]
GameAssembly.dll+23137A7: 48 85 C0                    - test rax,rax
GameAssembly.dll+23137AA: 74 0B                       - je GameAssembly.dll+23137B7
GameAssembly.dll+23137AC: 4C 8B 40 28                 - mov r8,[rax+28]
GameAssembly.dll+23137B0: 48 8B 48 40                 - mov rcx,[rax+40]
GameAssembly.dll+23137B4: FF 50 18                    - call qword ptr [rax+18]
GameAssembly.dll+23137B7: 8B 43 50                    - mov eax,[rbx+50]
GameAssembly.dll+23137BA: 83 F8 02                    - cmp eax,02
GameAssembly.dll+23137BD: 74 27                       - je GameAssembly.dll+23137E6
GameAssembly.dll+23137BF: 83 F8 01                    - cmp eax,01
GameAssembly.dll+23137C2: 0F 85 74 01 00 00           - jne GameAssembly.dll+231393C
GameAssembly.dll+23137C8: 48 8B 83 80 00 00 00        - mov rax,[rbx+00000080]
GameAssembly.dll+23137CF: 48 85 C0                    - test rax,rax
GameAssembly.dll+23137D2: 0F 84 CC 02 00 00           - je GameAssembly.dll+2313AA4
GameAssembly.dll+23137D8: F3 0F 10 40 20              - movss xmm0,[rax+20]
GameAssembly.dll+23137DD: 0F 2F C6                    - comiss xmm0,xmm6
GameAssembly.dll+23137E0: 0F 82 56 01 00 00           - jb GameAssembly.dll+231393C
GameAssembly.dll+23137E6: 48 8B 53 18                 - mov rdx,[rbx+18]
GameAssembly.dll+23137EA: 48 85 D2                    - test rdx,rdx
GameAssembly.dll+23137ED: 0F 84 B1 02 00 00           - je GameAssembly.dll+2313AA4
GameAssembly.dll+23137F3: 48 8B 4B 78                 - mov rcx,[rbx+78]
GameAssembly.dll+23137F7: 48 85 C9                    - test rcx,rcx
GameAssembly.dll+23137FA: 0F 84 A4 02 00 00           - je GameAssembly.dll+2313AA4
}
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
