109
"[X] <== Galactic Civilization III Crusade v2.60 Steam Script v2.2 AOB"
FF0000
Auto Assembler Script
{
===========================================
Game Title : Galactic Civilization III - Crusade
Game Version : 2.60
Game Sponsor : Fennix102 + Myself (Crusade)
Process Name : Galciv3.exe
Script Version: 2.2 AOB
CE Version : 6.7
Release date : 12-Oct-2017
Author : Recifense
History:
14-May-2015: First Release for Base Game
08-May-2017: First Release for Crusade (with first patch)
11-May-2017: Release for version 2.133
19-Jun-2017: Release for version 2.30
24-Jun-2017: Added back GM
05-Aug-2017: Release for version 2.32
12-Sep-2017: Release for version 2.50 (s2.2)
12-Oct-2017: Release for version 2.6
Features:
- Minimum Credits
- Minimum Basic Resources (Ore) (new)
- Minimum units in Colony/Transport Ships
- Move Multiple times (included Shipyard)
- Research in 1 Turn
- Construction in 1 Turn
- God Mode (ok)
- Production in 1 Turn (pending)
- Customization points
- Unlimited Administrators
- Some Pointers
===========================================
}
//=========================================
// Checking CE version
{$lua}
if(getCEVersion() < 6.7) then
ShowMessage('Sorry. CE version should be 6.7 or above')
end
{$asm}
//=========================================
// Checking Selected Process
{$lua}
if(process == nil) then
ShowMessage('No process was selected')
elseif (process ~= "Galciv3.exe") then
ShowMessage('Error. Expected Process = Galciv3.exe')
end
{$asm}
//=========================================
// Definitions
define(LUDO,"Galciv3.exe")
define(MOUP,Galciv3.exe+0014cfd7) // pending
//=========================================
// Constants used in the script (that can be changed)
define(ctCE67,(float)6.7)
define(ctMCRE,#67000000) // Minimum Credits
define(ctMMSS,#20000) // Minimum Settlers/Soldiers
define(ctMBRS,#10000) // Minimum Basic Resources
//=========================================
[ENABLE]
//=========================================
//LuaCall(CheckVersion())
//=========================================
// Check if script is compatible to this game version
// If false the script will not be loaded
AOBScanModule(MOHP,$process,48 8b 4c 24 40 48 81 c1 50 35 02 00 48 8B D0 e8 ?? ?? ?? ?? 48 05 08 02 00 00)
AOBScanModule(MOCR,$process,4C 8B 44 24 38 48 8B 94 24 98 00 00 00 48 8B C8)
AOBScanModule(MORP,$process,48 8B 44 24 30 48 8B 4C 24 40 8B 09 8B 00)
AOBScanModule(MOSU,$process,4C 8B 84 24 D8 00 00 00 48 8B 10 48 8B 8C 24 D0 00 00 00)
AOBScanModule(MOCP,$process,48 81 EC 88 00 00 00 BA FF FF FF FF 48 8D 4C 24 28)
AOBScanModule(MOSP,$process,48 89 54 24 10 48 89 4C 24 08 56 57 B8 E8 12 00 00)
AOBScanModule(MOSS,$process,89 84 24 B4 00 00 00 48 8B 4C 24 50 e8 ?? ?? ?? ?? 48)
AOBScanModule(MORC,$process,48 8b 8c 24 90 00 00 00 8b 80 30 04 00 00)
AOBScanModule(GMD2,$process,48 8B 01 C7 41 1C 01 00 00 00 48 FF 60 08)
AOBScanModule(RGM2,$process,48 8B 8C 24 90 00 00 00 E8 ?? ?? ?? ?? 83 F8 01 ?? ?? 48 8B 84 24)
//=========================================
alloc(MyCode,4096,$process)
//=========================================
// Declaration section
label(_MonHumanPlayer)
label(_BackMHP)
label(_ExitMHP)
label(_MonCurRes)
label(_BackMCR)
label(_ExitMCR)
label(_MonResearchProg)
label(_BackMRP)
label(_ExitMRP)
label(_MonSelUnit)
label(_BackMSU)
label(_ExitMSU)
label(_MonConstProg)
label(_BackMCP)
label(_ExitMCP)
label(_MonSelPlanet)
label(_BackMSP)
label(_ExitMSP)
label(_MonSelShipyard)
label(_BackMSS)
label(_ExitMSS)
label(_MonRaceCustomization)
label(_BackMRC)
label(_ExitMRC)
label(_GodMode2)
label(_BackGM2)
label(_ExitGM2)
label(_MonUnitProd)
label(_BackMUP)
label(_ExitMUP)
label(iEnableMPR)
label(iEnableMBR)
label(iEnableGMD)
label(iEnableMSS)
label(iEnableMMP)
label(iEnableMRP)
label(iEnableMCP)
label(iEnableMUP)
label(iEnableMRC)
label(iEnableMPA)
label(iID)
label(iID2)
label(iIDBat)
label(lRAX)
label(pPlayer)
label(pUnit)
label(pSY)
label(pSB)
label(pPlanet)
label(pUnitB)
//=========================================
// Registering Symbols
registersymbol(MyCode)
registersymbol(iEnableMPR)
registersymbol(iEnableMBR)
registersymbol(iEnableGMD)
registersymbol(iEnableMSS)
registersymbol(iEnableMMP)
registersymbol(iEnableMRP)
registersymbol(iEnableMCP)
registersymbol(iEnableMUP)
registersymbol(iEnableMRC)
registersymbol(iEnableMPA)
registersymbol(iID)
registersymbol(iID2)
registersymbol(iIDBat)
registersymbol(pPlayer)
registersymbol(pUnit)
registersymbol(pSY)
registersymbol(pSB)
registersymbol(pUnitB)
registersymbol(pPlanet)
registersymbol(MOHP)
registersymbol(MOCR)
registersymbol(MORP)
registersymbol(MOSU)
registersymbol(MOCP)
registersymbol(MOSP)
registersymbol(MOSS)
registersymbol(MORC)
registersymbol(GMD2)
//=========================================
MyCode:
//========================================= 2.32
// On the main screen
_MonHumanPlayer:
mov rcx,_BackMHP
mov [pBack+00],rcx
mov rcx,[rsp+40]
mov rdx,[rcx+08]
cmp dword ptr [rdx+38],00
jne _ExitMHP
mov [pPlayer],rdx
mov [pPlayerB2],rcx
mov ecx,[rdx+08]
mov [iID],ecx
mov ecx,[rdx+48]
mov [iID2],ecx
cmp dword ptr [iEnableMPR],0
je _MonHP00 // Jump if feature is disabled
mov ecx,ctMCRE
cmp [rdx+000237d8],ecx
jns _MonHP00
mov [rdx+000237d8],ecx
_MonHP00:
cmp dword ptr [iEnableMBR],0
je _MonHP05 // Jump if feature is disabled
mov ecx,ctMBRS
cmp [rdx+00023614],ecx
jns _MonHP01
mov [rdx+00023614],ecx
_MonHP01:
cmp [rdx+00023618],ecx
jns _MonHP02
mov [rdx+00023618],ecx
_MonHP02:
cmp [rdx+0002361c],ecx
jns _MonHP03
mov [rdx+0002361c],ecx
_MonHP03:
cmp [rdx+00023620],ecx
jns _MonHP04
mov [rdx+00023620],ecx
_MonHP04:
cmp [rdx+00023624],ecx
jns _MonHP05
mov [rdx+00023624],ecx
_MonHP05:
cmp dword ptr [iEnableMPA],0
je _ExitMHP // Jump if feature is disabled
mov ecx,ctMBRS
cmp [rdx+00023840],ecx
jns _ExitMHP
mov [rdx+00023840],ecx
_ExitMHP:
mov rcx,[rsp+40] // Original code
add rcx,00023550 // Original code
mov rdx,rax // Original code
jmp [pBack+00] // Back to main code
//========================================= 2.11 ok
// On the main screen
_MonCurRes:
mov rcx,_BackMCR
mov [pBack+08],rcx
mov r8,[rsp+38]
lea rcx,[r8+08]
mov [pRes],rcx
_ExitMCR:
mov r8,[rsp+38] // Original code
mov rdx,[rsp+00000098] // Original code
mov rcx,rax // Original code
jmp [pBack+08] // Back to main code
//========================================= 211 ok
// On the main screen
_MonResearchProg:
mov rcx,_BackMRP
mov [pBack+10],rcx
cmp dword ptr [iEnableMRP],0
je _ExitMRP // Jump if feature is disabled
mov rcx,[rsp+40]
cmp rcx,[pRes]
jne _ExitMRP
xor rax,rax
mov [pRes],rax
mov rax,[rsp+30]
movsxd rax,dword ptr [rax]
cmp rax,#1001
js _ExitMRP
lea rax,[rax-000000c8]
cmp [rcx],eax
jns _ExitMRP
mov [rcx],eax
_ExitMRP:
mov rax,[rsp+30] // Original code
mov rcx,[rsp+40] // Original code
mov ecx,[rcx] // Original code
mov eax,[rax] // Original code
jmp [pBack+10] // Back to main code
//========================================= 2.11 ok
// Selected Unit
_MonSelUnit:
mov rcx,_BackMSU
mov [pBack+18],rcx
mov rcx,[rax]
mov [pUnit],rcx
mov edx,[rcx+00000290]
cmp edx,[iID]
jne _ExitMSU
cmp dword ptr [iEnableGMD],0
je _MonSU00 // Jump if feature is disabled
mov edx,[rcx+000005a0]
mov [rcx+000006c8],edx
_MonSU00:
cmp dword ptr [iEnableMSS],0
je _MonSU02 // Jump if feature is disabled
mov edx,[rcx+000006d8]
test edx,edx
jz _MonSU01
mov edx,ctMMSS
cmp edx,[rcx+000006d8]
js _MonSU01
mov [rcx+000006d8],edx
_MonSU01:
mov edx,[rcx+00000700]
test edx,edx
jz _MonSU02
mov edx,ctMMSS
cmp edx,[rcx+00000700]
js _MonSU02
mov [rcx+00000700],edx
_MonSU02:
cmp dword ptr [iEnableMMP],0
je _ExitMSU // Jump if feature is disabled
mov edx,[rcx+000005ec]
mov [rcx+000006d4],edx
_ExitMSU:
mov r8,[rsp+000000D8] // Original code
mov rdx,[rax] // Original code
mov rcx,[rsp+000000D0] // Original code
jmp [pBack+18] // Back to main code
//========================================= 2.60 ok
// On the main screen
_MonConstProg:
mov rdx,_BackMCP
mov [pBack+20],rdx
test rcx,rcx
jz _ExitMCP
cmp rax,rcx
jne _ExitMCP
mov rdx,[rax]
test rdx,rdx
jz _ExitMCP
cmp dword ptr [iEnableMCP],0
je _ExitMCP // Jump if feature is disabled
mov ecx,[rdx+38]
cmp ecx,[iID]
jne _ExitMCP
lea rcx,[rdx+000003b8]
mov [pRes],rcx
_ExitMCP:
sub rsp,00000088 // Original code
mov edx,FFFFFFFF // Original code
lea rcx,[rsp+28] // Original code
jmp [pBack+20] // Back to main code
//========================================= 2.133 *
// On Selected a Planet
_MonSelPlanet:
mov rax,_BackMSP
mov [pBack+28],rax
mov [pPlanet],rdx
_ExitMSP:
mov [rsp+10],rdx // Original code
mov [rsp+08],rcx // Original code
push rsi // Original code
push rdi // Original code
mov eax,000012E8 // Original code
jmp [pBack+28] // Back to main code
//========================================= 2.11 ok
// Shipyard under cursor or Last Selected
_MonSelShipyard:
mov rcx,_BackMSS
mov [pBack+30],rcx
mov rcx,[rsp+50]
mov [pSY],rcx
cmp dword ptr [iEnableMMP],0
je _ExitMSS // Jump if feature is disabled
mov ecx,[rcx+00000280]
cmp ecx,[iID]
jne _ExitMSS
mov rcx,[rsp+50]
cmp dword ptr [rcx+0000a708],#1000
jns _ExitMSS
mov dword ptr [rcx+0000a708],#1000
_ExitMSS:
mov [rsp+000000B4],eax // Original code
mov rcx,[rsp+50] // Original code
jmp [pBack+30] // Back to main code
//========================================= 2.133 *
// During Race Customization (On changing points)
_MonRaceCustomization:
mov rcx,_BackMRC
mov [pBack+38],rcx
cmp dword ptr [iEnableMRC],0
je _ExitMRC // Jump if feature is disabled
mov dword ptr [rax+00000430],#80
mov dword ptr [rax+00000434],#40
_ExitMRC:
mov rcx,[rsp+00000090] // Original code
mov eax,[rax+00000430] // Original code
jmp [pBack+38] // Back to main code
//========================================= NHP s2.0
// During combat
_GodMode2:
mov rax,_BackGM2
mov [pBack+40],rax
mov rax,RGM2
cmp rax,[rsp]
jne _ExitGM2
cmp dword ptr [iEnableGMD],0
je _ExitGM2 // Jump if feature is disabled
mov eax,[rcx+00000290]
cmp eax,[iID]
jne _ExitGM2
mov eax,[rcx+000005a0]
mov [rcx+000006c8],eax
ret
//==
_ExitGM2:
mov rax,[rcx] // Original code
mov [rcx+1C],00000001 // Original code
jmp qword ptr [rax+08] // Original code
jmp [pBack+40] // Back to main code
//========================================= pending
// During turn
_MonUnitProd:
cmp dword ptr [iEnableMUP],0
je _ExitMUP // Jump if feature is disabled
mov rax,[r15]
test rax,rax
jz _ExitMUP
mov eax,[rax+00000238]
cmp eax,[iID]
jne _ExitMUP
mov [r14+58],ecx
_ExitMUP:
mov eax,[r14+58] // Original code (Get Prog)
add eax,ebx // Original code (Inc Prog)
jmp _BackMUP // Back to main code
//=========================================
align 10,'='
//=========================================
db '===============================>'
db 'CE6.7 Script by Recifense 171012'
//=========================================
// Variables
iEnableMPR:
dd 0
iEnableMBR:
dd 0
iEnableGMD:
dd 0
iEnableMSS:
dd 0
iEnableMMP:
dd 0
iEnableMRP:
dd 0
iEnableMCP:
dd 0
iEnableMUP:
dd 0
iEnableMRC:
dd 0
iEnableMPA:
dd 0
iID:
dd 0
iID2:
dd 0
iIDBat:
dd 0
lRAX:
dq 0
pPlayer:
dq 0
pPlayerB2:
dq 0
pUnit:
dq 0
pSY:
dq 0
pSB:
dq 0
pPlanet:
dq 0
pUnitB:
dq 0
pRes:
dq 0
pBack:
dq 0,0,0,0,0,0,0,0,0
//=========================================
// Hacking Points
MOHP:
mov rcx,_MonHumanPlayer
jmp rcx
nop
nop
nop
_BackMHP:
MOCR:
mov rcx,_MonCurRes
jmp rcx
nop
nop
nop
nop
_BackMCR:
MORP:
mov rcx,_MonResearchProg
jmp rcx
nop
nop
_BackMRP:
MOSU:
mov rcx,_MonSelUnit
jmp rcx
nop
nop
nop
nop
nop
nop
nop
_BackMSU:
MOCP:
mov rdx,_MonConstProg
jmp rdx
nop
nop
nop
nop
nop
_BackMCP:
MOSP:
mov rax,_MonSelPlanet
jmp rax
nop
nop
nop
nop
nop
_BackMSP:
MOSS:
mov rcx,_MonSelShipyard
jmp rcx
_BackMSS:
MORC:
mov rcx,_MonRaceCustomization
jmp rcx
nop
nop
_BackMRC:
GMD2:
mov rax,_GodMode2
jmp rax
nop
nop
_BackGM2:
MOUP:
// jmp _MonUnitProd
// nop
_BackMUP:
//=========================================
// Script for Restoring Original Codes
[DISABLE]
MOHP:
db 48 8b 4c 24 40 48 81 c1 50 35 02 00 48 8B D0
MOCR:
db 4C 8B 44 24 38 48 8B 94 24 98 00 00 00 48 8B C8
MORP:
db 48 8B 44 24 30 48 8B 4C 24 40 8B 09 8B 00
MOSU:
db 4C 8B 84 24 D8 00 00 00 48 8B 10 48 8B 8C 24 D0 00 00 00
MOCP:
db 48 81 EC 88 00 00 00 BA FF FF FF FF 48 8D 4C 24 28
MOSP:
db 48 89 54 24 10 48 89 4C 24 08 56 57 B8 E8 12 00 00
MOSS:
db 89 84 24 B4 00 00 00 48 8B 4C 24 50
MORC:
db 48 8b 8c 24 90 00 00 00 8b 80 30 04 00 00
GMD2:
db 48 8B 01 C7 41 1C 01 00 00 00 48 FF 60 08
{
MOUP:
// mov eax,[r14+58]
// add eax,ebx
db 41 8b 46 58 03 c3
}
//=========================================
// Unregistering Symbols
unregistersymbol(MyCode)
unregistersymbol(iEnableMPR)
unregistersymbol(iEnableMBR)
unregistersymbol(iEnableMBR)
unregistersymbol(iEnableGMD)
unregistersymbol(iEnableMSS)
unregistersymbol(iEnableMMP)
unregistersymbol(iEnableMRP)
unregistersymbol(iEnableMCP)
unregistersymbol(iEnableMUP)
unregistersymbol(iEnableMRC)
unregistersymbol(iEnableMPA)
unregistersymbol(iID)
unregistersymbol(iID2)
unregistersymbol(iIDBat)
unregistersymbol(pPlayer)
unregistersymbol(pUnit)
unregistersymbol(pSY)
unregistersymbol(pSB)
unregistersymbol(pPlanet)
unregistersymbol(pUnitB)
unregistersymbol(MOHP)
unregistersymbol(MOCR)
unregistersymbol(MORP)
unregistersymbol(MOSU)
unregistersymbol(MOCP)
unregistersymbol(MOSP)
unregistersymbol(MOSS)
unregistersymbol(MORC)
unregistersymbol(GMD2)
//=========================================
dealloc(MyCode)
//============= Scripts End ===============
// ****************************************
// NOTES
// ****************************************
{
}
96
"[X] <== Minimum Money -----------------------------> (HK: CTRL+Home / CTRL+End)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMPR",1)
getAddressList().getMemoryRecordByID(96).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMPR",0)
getAddressList().getMemoryRecordByID(96).Color=0x0c08000
{$ASM}
Activate
17
36
0
Deactivate
17
35
1
113
"[X] <== Quick Research -------------------------------> (HK: CTRL+Home / CTRL+End)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMRP",1)
getAddressList().getMemoryRecordByID(113).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMRP",0)
getAddressList().getMemoryRecordByID(113).Color=0x0c08000
{$ASM}
Activate
17
36
0
Deactivate
17
35
1
112
"[X] <== Move Multiple times -------------------------> (HK: CTRL+Home / CTRL+End)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMMP",1)
getAddressList().getMemoryRecordByID(112).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMMP",0)
getAddressList().getMemoryRecordByID(112).Color=0x0c08000
{$ASM}
Activate
17
36
0
Deactivate
17
35
1
111
"[X] <== Minimum Settlers/Soldiers -------------------> (HK: CTRL+Home / CTRL+End)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMSS",1)
getAddressList().getMemoryRecordByID(111).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMSS",0)
getAddressList().getMemoryRecordByID(111).Color=0x0c08000
{$ASM}
Activate
17
36
0
Deactivate
17
35
1
110
"[X] <== God Mode ------------------------------------> (HK: CTRL+Home / CTRL+End)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableGMD",1)
getAddressList().getMemoryRecordByID(110).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableGMD",0)
getAddressList().getMemoryRecordByID(110).Color=0x0c08000
{$ASM}
Activate
17
36
0
Deactivate
17
35
1
114
"[X] <== Construction/Improvement in 1 Turn --------> (HK: CTRL+Home / CTRL+End)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMCP",1)
getAddressList().getMemoryRecordByID(114).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMCP",0)
getAddressList().getMemoryRecordByID(114).Color=0x0c08000
{$ASM}
Activate
17
36
0
Deactivate
17
35
1
243
"[X] <== Minimum Basic Resources (Ores) ------------> (HK: CTRL+PageUp / CTRL+PageDown)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMBR",1)
getAddressList().getMemoryRecordByID(243).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMBR",0)
getAddressList().getMemoryRecordByID(243).Color=0x0c08000
{$ASM}
Activate
17
33
0
Deactivate
17
34
1
250
"[X] <== Unlimited Administrators --------------------> (HK: CTRL+Insert / CTRL+Delete)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMPA",1)
getAddressList().getMemoryRecordByID(250).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMPA",0)
getAddressList().getMemoryRecordByID(250).Color=0x0c08000
{$ASM}
Activate
17
45
0
Deactivate
17
46
1
234
"[X] <== Race Customization Points -------------------> (HK: CTRL+Insert / CTRL+Delete)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMRC",1)
getAddressList().getMemoryRecordByID(234).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMRC",0)
getAddressList().getMemoryRecordByID(234).Color=0x0c08000
{$ASM}
Activate
17
45
0
Deactivate
17
46
1
244
"[X] <================= Player Info"
000080
1
246
"Pragmatic Ideology Points (x10000) ===>"
0000FF
4 Bytes
pPlayer
237d0
247
"Malevolent Ideology Points (x10000) ===>"
0000FF
4 Bytes
pPlayer
237d4
245
"Benevolent Ideology Points (x10000) ===>"
0000FF
4 Bytes
pPlayer
237cc
248
"Current Money (x1000) ===>"
0000FF
4 Bytes
pPlayer
237d8
228
"[X] <== Table/Script Information"
0000FF
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
getMainForm().CommentButton.doClick()
{$ASM}
[disable]
Recifense
20171012
===========================================
Game Title : Galactic Civilization III - Crusade
Game Version : 2.60
Game Sponsor : Fennix102 + Myself (Crusade)
Process Name : Galciv3.exe
Script Version: 2.2 AOB
CE Version : 6.7
Release date : 12-Oct-2017
Author : Recifense
History:
14-May-2015: First Release for Base Game
08-May-2017: First Release for Crusade (with first patch)
11-May-2017: Release for version 2.133
19-Jun-2017: Release for version 2.30
24-Jun-2017: Added back GM
05-Aug-2017: Release for version 2.32
12-Sep-2017: Release for version 2.50 (s2.2)
12-Oct-2017: Release for version 2.6
Features:
- Minimum Money [1]
- Move Multiple times [2]
- Research in 1 Turn [3]
- Construction in 1 Turn [4]
- God Mode (OK) [5]
- Minimum Settlers/Soldiers [6]
- Ship Production in 1 Turn [7] Pending
- Customization points [8]
- Minimum Basic Resources [9]
- Some Pointers
===========================================
[1] For Human player only (not AI);
[2] For Human player's ships/fleet only (*);
[3] For Human player only (not AI);
[4] For human player colonies only (**)
[5] For Human player's ships/fleet only;
[6] For Human player's colony and transport ships only (*);
[7] For Human player only (not AI);
[8] On the Civ Custumization, available points will be set to minimum needed;
[9] For Human player only (not AI);
===========================================
[USAGE]
1) Run CE67 or greater;
2) Run Game;
3) Load the game process "Galciv3.exe" in CE;
4) Load this table and activate the main script;
5) Now Activate the script of each cheat you want to use;
6) Game On;
===========================================
[HOTKEYS]
- Look at each table entry.
===========================================
[ADVICE]
When you can,save the game before starting using table/cheat. So you can always come back in case you don't like the result.
===========================================
[INFO]
Tested on Win 10 64bits
===========================================
Cheers!