Civilization VI + XP1 Steam (GM and More) 2018-May-11

Recifense

RCE Fanatics
Talents
Mar 2, 2017
642
165
43
#1
Hi guys,

Here is my contribution for "Sid Meier's Civilization VI" version 1.0.0.257. The table contains a script with the following features:
Code:
===========================================
 Game Title    : Civilization VI - Rise and Fall
 Game Version  : 1.0.0.257 (349140)
 Game Sponsor  : Fennix102 + daipm (XP1)
 Process Name  : CivilizationVI.exe
 Relevant Info : 64bits/TBS/New Engine
 Script Version: 2.8
 CE Version    : 6.7
 Release date  : 11-May-2018
 Author        : Recifense
 History:
 22-Oct-2016: Preliminary Release 1 (7 features)
 24-Oct-2016: Preliminary Release 2 (6 more features)
 25-Oct-2016: First Release
 02-Nov-2016: Added unit prod in 1 turn (s2.0)
 19-Nov-2016: Release for version 1.0.0.38. (s2.1)
 21-Dec-2016: Release for version 1.0.0.56.
 22-Dec-2016: Fix for Faith (s2.2).
 25-Feb-2017: Release for version 1.0.0.110.
 28-Mar-2017: Release for version 1.0.0.129.
 29-Jul-2017: Release for version 1.0.0.167.
 02-Aug-2017: Fix for "Build District in 1 turn" (s2.4)
 15-Aug-2017: Fix for "Unit Production in 1 Turn" + GPA (s2.5)
 19-Oct-2017: Release for version 1.0.0.194.
 21-Oct-2017: Fix for Faith and Great People Action(s2.6).
 08-Feb-2018: Release for version 1.0.0.216. + Fix for religious Units (s2.7)
 09-Feb-2018: Release for version 1.0.0.216 - XP1
 12-Feb-2018: Fix Construction in 1 Turn (city) => Only Wonders (s2.8)
 13-Feb-2018: Release for version 1.0.0.220 - XP1
 11-Mar-2018: Release for version 1.0.0.229 - XP1
 11-May-2018: Release for version 1.0.0.259 - XP1
 Features:
- Minimum Gold                  [1]
- Move unlimited Times          [2]
- Unic Can Act Again            [3]
- God Mode                      [4]
- Research in 1 turn            [5]
- Construction in 1 turn:       [6]
   - Only Wonders                [7]
- Unlimited Works for Builders  [8]
- Build District in 1 turn      [9]
- Build Project in 1 turn       [A]
- City Minimum Pop              [B]
- Minimum Faith                 [C]
- City Garrison HP              [D]
- Unit Production in 1 turn     [E]
- Great People Action (new)     [F]
- Unlimited Spreads for Religious Units (new) [G]
- Some Pointers               
===========================================
[1] It will not go under 67000;
[2] Everytime you select a Unit, it will be ready to move;
[3] Everytime you select a Unit, it will be ready to act;
[4] That's it. A unit may dissapear, but it will be alive;
[5] A research per turn;
[6] For every city (player's);
[7] Only wonders will be produced in 1 turn;
[8] No limit for builders;
[9] That's it;
[A] That's it;
[B] The minimum population is 2;
[C] It will not go under 6700;
[D] God Mode for City;
[E] For every city (player's);
[F] Great People Actions is set to 3 on selection;
[G] No limit for Relegious Units;
===========================================
[USAGE]
1) Run CE67;
2) Run Game;
3) Start a match from the beginning or loading it;
4) Load the game process "CivilizationVI.exe" or "CivilizationVI_DX12.exe" in CE;
5) Load this table and activate the main script;
5) Now Activate the script of each cheat you want to use;
6) Game On;
[NOTE} When already playing a match, you decide to start another game or load a savegame, you should deactivate the script first and follow the steps from step 3 on. The reason is that the game is a DLL and may be unloaded and loaded again during this process.
===========================================
HOTKEYS:
None defined
===========================================
[IMPORTANT]
Save your game before unsing the cheats.
===========================================
[INFO]
Tested on Win 10 64bits
===========================================
BIG THANKS to Fennix102 for providing the game.
===========================================
Have fun!
The table also contains (when the main scripts are active) the scripts listed on the attached image.

The features are DISABLED by default. For enabling any of them, just activate its script;

Note: The scripts use the CE command ASSERT and will not load if it is incompatible with the running game version.

After downloading the table, copy it to the "My Cheat Table" folder.

It is for CE 6.7

==========================================
25-Oct-2016

Big thanks to Fennix102 for providing the game.

==========================================
09-Feb-2018

Big thanks to daipm for providing the Expansion.

==========================================

Link for the tool: http://www.cheatengine.org/

Cheers to All!
 

Attachments

Last edited:

Eric

Administrator
Administrator
Mar 2, 2017
40
2
8
#5
Had this one still lying around. It's the value type civ 6 uses for money and research and progress, and whatever

Code:
alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)
alloc(TypeName,256)
alloc(ByteSize,4)
alloc(UsesFloat,1)
alloc(CallMethod,1)

TypeName:
db 'Civ 6 Value',0

ByteSize:
dd 4

UsesFloat:
db 0 //Change to 1 if this custom type should be treated as a float

CallMethod:
db 1 //Remove or change to 0 for legacy call mechanism

//The convert routine should hold a routine that converts the data to an integer (in eax)
//function declared as: cdecl int ConvertRoutine(unsigned char *input, PTR_UINT address);
//Note: Keep in mind that this routine can be called by multiple threads at the same time.
ConvertRoutine:
//jmp dllname.functionname
[64-bit]
//or manual:
//parameters: (64-bit)
//rcx=address of input
//rdx=address
mov eax,[rcx] //eax now contains the bytes 'input' pointed to
shr eax,8
//and eax,ffffff

ret
[/64-bit]

[32-bit]
//jmp dllname.functionname
//or manual:
//parameters: (32-bit)
push ebp
mov ebp,esp
//[ebp+8]=address of input
//[ebp+c]=address
//example:
mov eax,[ebp+8] //place the address that contains the bytes into eax
mov eax,[eax] //place the bytes into eax so it's handled as a normal 4 byte value
//and eax,ffffff
shr eax,8

pop ebp
ret
[/32-bit]

//The convert back routine should hold a routine that converts the given integer back to a row of bytes (e.g when the user wats to write a new value)
//function declared as: cdecl void ConvertBackRoutine(int i, PTR_UINT address, unsigned char *output);
ConvertBackRoutine:
//jmp dllname.functionname
//or manual:
[64-bit]
//parameters: (64-bit)
//ecx=input
//rdx=address
//r8=address of output
//example:
shl ecx,8
mov cl,[r8]
mov [r8],ecx //place the integer at the 4 bytes pointed to by r8

ret
[/64-bit]

[32-bit]
//parameters: (32-bit)
push ebp
mov ebp,esp
//[ebp+8]=input
//[ebp+c]=address
//[ebp+10]=address of output
//example:
push eax
push ebx
mov eax,[ebp+8] //load the value into eax
mov ebx,[ebp+10] //load the output address into ebx
shl eax,8
mov al,[ebx]
mov [ebx],eax //write the value into the address
pop ebx
pop eax

pop ebp
ret
[/32-bit]
 
Mar 24, 2017
32
1
8
#6
Byte: Unit Pointer + 0xEB8
Byte: Unit Pointer + 0xEBA
Are the promotion flags for units.

Something like the following will auto promote units as turns go by.
(Version 110)
Code:
[ENABLE]
aobscanmodule(INJECT,GameCore_Base_FinalRelease.dll,8B 82 BC 0E 00 00) // should be unique
alloc(newmem,$1000,"GameCore_Base_FinalRelease.dll"+45595D)

label(code)
label(return)

newmem:
code:
    // Any hook into unit pointer
    push ebx
    // Test playerId (rdx+0x40) == 0
    movzx ebx, [rdx+40]
    test bl, bl
    jne @f
    mov ebx, rdx
    // Promotion flags := p_unit + 0xEB8, p_unit + 0xEBA
    mov byte ptr [ebx+EB8], 1
    mov byte ptr [ebx+EBA], 1
  @@:
    pop ebx

    mov eax,[rdx+00000EBC]
    jmp return

INJECT:
    jmp code
    nop
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
    db 8B 82 BC 0E 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "GameCore_Base_FinalRelease.dll"+45595D

"GameCore_Base_FinalRelease.dll"+45592A: 48 8B 82 B0 0E 00 00           -  mov rax,[rdx+00000EB0]
"GameCore_Base_FinalRelease.dll"+455931: 49 8B F8                                   -  mov rdi,r8
"GameCore_Base_FinalRelease.dll"+455934: 48 89 44 24 20                     -  mov [rsp+20],rax
"GameCore_Base_FinalRelease.dll"+455939: 48 8B DA                                   -  mov rbx,rdx
"GameCore_Base_FinalRelease.dll"+45593C: 0F B6 82 B8 0E 00 00           -  movzx eax,byte ptr [rdx+00000EB8]
"GameCore_Base_FinalRelease.dll"+455943: 88 44 24 28                            -  mov [rsp+28],al
"GameCore_Base_FinalRelease.dll"+455947: 0F B6 82 B9 0E 00 00           -  movzx eax,byte ptr [rdx+00000EB9]
"GameCore_Base_FinalRelease.dll"+45594E: 88 44 24 29                            -  mov [rsp+29],al
"GameCore_Base_FinalRelease.dll"+455952: 0F B6 82 BA 0E 00 00           -  movzx eax,byte ptr [rdx+00000EBA]
"GameCore_Base_FinalRelease.dll"+455959: 88 44 24 2A                            -  mov [rsp+2A],al
// ---------- INJECTING HERE ----------
"GameCore_Base_FinalRelease.dll"+45595D: 8B 82 BC 0E 00 00              -  mov eax,[rdx+00000EBC]
// ---------- DONE INJECTING    ----------
"GameCore_Base_FinalRelease.dll"+455963: 89 44 24 2C                            -  mov [rsp+2C],eax
"GameCore_Base_FinalRelease.dll"+455967: 8B 82 C0 0E 00 00              -  mov eax,[rdx+00000EC0]
"GameCore_Base_FinalRelease.dll"+45596D: 89 44 24 30                            -  mov [rsp+30],eax
"GameCore_Base_FinalRelease.dll"+455971: E8 DA 27 22 00                     -  call GameCore_Base_FinalRelease.dll+678150
"GameCore_Base_FinalRelease.dll"+455976: 48 8B 93 C8 0E 00 00           -  mov rdx,[rbx+00000EC8]
"GameCore_Base_FinalRelease.dll"+45597D: 48 8D 4C 24 38                     -  lea rcx,[rsp+38]
"GameCore_Base_FinalRelease.dll"+455982: 48 89 44 24 38                     -  mov [rsp+38],rax
"GameCore_Base_FinalRelease.dll"+455987: 44 8B 42 FC                            -  mov r8d,[rdx-04]
"GameCore_Base_FinalRelease.dll"+45598B: E8 70 24 22 00                     -  call GameCore_Base_FinalRelease.dll+677E00
"GameCore_Base_FinalRelease.dll"+455990: 8B 83 D0 0E 00 00              -  mov eax,[rbx+00000ED0]
}
 

Recifense

RCE Fanatics
Talents
Mar 2, 2017
642
165
43
#7
Hi guys,

A table was added for version 1.0.0.129. Please look at the first post.

Cheers!
 
Apr 10, 2017
5
0
1
#8
I remember there used to be a table for unlimited great person actions. Does someone have that?
 
Mar 6, 2017
26
0
1
#9
Hi. The game has been updated to 1.0.0.167 and the table no longer works.
 

Axeen

What is cheating?
Jul 28, 2017
3
0
1
#10
Civilization summer update to 1.0.0.167 and the table no longer works.
 

Recifense

RCE Fanatics
Talents
Mar 2, 2017
642
165
43
#11
Axeen post_id=14208 time=1501261585 user_id=7448 said:
Civilization summer update to 1.0.0.167 and the table no longer works.
I have just started to work on it.

Cheers!
 

Recifense

RCE Fanatics
Talents
Mar 2, 2017
642
165
43
#12
Recifense post_id=14246 time=1501337177 user_id=68 said:
Axeen post_id=14208 time=1501261585 user_id=7448 said:
Civilization summer update to 1.0.0.167 and the table no longer works.
I have just started to work on it.

Cheers!
Done.

Cheers!
 

Recifense

RCE Fanatics
Talents
Mar 2, 2017
642
165
43
#13
Hi Patrons,

A signed version of the last table can be found at Patreon.

Cheers!
 

Axeen

What is cheating?
Jul 28, 2017
3
0
1
#14
Cheers,

Thanks a lot, all function is working in the game.
and I am join in your PATREON now.
 

dezzter

What is cheating?
Apr 19, 2017
1
0
1
#15
I remember one of the cheat engine tables for CIv 6 used to let me modify unit sight range? It was lost with the cheatengine tables forum though. Any chance a unit editor function in your table? Might be able to use their old code as reference if you can find a copy. (If it wasn't yours too)
 

apomes

What is cheating?
Jul 30, 2017
1
0
1
#17
Somehow, the table doesn't work for CE 6.7 for me, while CE 6.6 mostly works.
The "Build District in 1 Turn" and "Unlimited moves" don't seem to work very well for me on CE 6.6 though.
Thanks for the tables!
 

Maboroshi

What is cheating?
Mar 28, 2017
1
0
1
#18
Using CE 6.7, I am unable to get "Build District in 1 Turn" to work.
Haven't tested the table in CE 6.6
 

Recifense

RCE Fanatics
Talents
Mar 2, 2017
642
165
43
#19
Maboroshi post_id=14354 time=1501528313 user_id=1728 said:
Using CE 6.7, I am unable to get "Build District in 1 Turn" to work.
Haven't tested the table in CE 6.6
I will check it tonight.

Cheers!
 

Recifense

RCE Fanatics
Talents
Mar 2, 2017
642
165
43
#20
Hi guys,

The table for version 1.0.0.167 was updated. Fix for "Build District in 1 Turn" done.

Cheers!
 
Top Bottom