Page 1 of 3

Civilization VI Steam (GM and More) 2017-Oct-22

Posted: Thu Mar 02, 2017 11:35 pm
by Recifense
Hi guys,

Here is my contribution for "Sid Meier's Civilization VI" version 1.0.0.194. The table contains a script with the following features:

Code: Select all

===========================================
 Game Title    : Civilization VI
 Game Version  : 1.0.0.194 (313929)
 Game Sponsor  : Fennix102
 Process Name  : CivilizationVI.exe
 Relevant Info : 64bits/TBS/New Engine
 Script Version: 2.6
 CE Version    : 6.7
 Release date  : 21-Oct-2017
 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).
 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]
 - Some Pointers                
===========================================
[1] It will not go under 6600;
[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 660;
[D] God Mode for City;
[E] For every city (player's);
[F] Great People Actions is set to 3 on selection;
===========================================
[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;
===========================================
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.

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

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

Cheers to All!

Re: Civilization VI Steam (GM and More) 2017-Mar-02

Posted: Fri Mar 03, 2017 2:17 pm
by gangster_bread
Nice ! :D

Re: Civilization VI Steam (GM and More) 2017-Mar-02

Posted: Fri Mar 03, 2017 2:20 pm
by stonydk
Thx :-)

Re: Civilization VI Steam (GM and More) 2017-Mar-02

Posted: Sun Mar 12, 2017 8:55 pm
by kultsi
EDIT: Nvm, wrong version

Re: Civilization VI Steam (GM and More) 2017-Mar-02

Posted: Sun Mar 19, 2017 10:53 am
by Eric
Had this one still lying around. It's the value type civ 6 uses for money and research and progress, and whatever

Code: Select all

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]


Re: Civilization 6 Unit Auto Level Up Per Turn

Posted: Fri Mar 24, 2017 11:01 pm
by merlini
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: Select all

[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]
}

Re: Civilization VI Steam (GM and More) 2017-Mar-28

Posted: Wed Mar 29, 2017 12:20 am
by Recifense
Hi guys,

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

Cheers!

Re: Civilization VI Steam (GM and More) 2017-Mar-28

Posted: Wed Apr 26, 2017 3:46 pm
by nairit
I remember there used to be a table for unlimited great person actions. Does someone have that?

Re: Civilization VI Steam (GM and More) 2017-Mar-28

Posted: Thu Jul 27, 2017 10:50 pm
by H Con
Hi. The game has been updated to 1.0.0.167 and the table no longer works.

Re: Civilization VI Steam (GM and More) 2017-Mar-28

Posted: Fri Jul 28, 2017 5:06 pm
by Axeen
Civilization summer update to 1.0.0.167 and the table no longer works.

Re: Civilization VI Steam (GM and More) 2017-Mar-28

Posted: Sat Jul 29, 2017 2:06 pm
by Recifense
Axeen wrote:
Fri Jul 28, 2017 5:06 pm
Civilization summer update to 1.0.0.167 and the table no longer works.
I have just started to work on it.

Cheers!

Re: Civilization VI Steam (GM and More) 2017-Mar-28

Posted: Sat Jul 29, 2017 9:12 pm
by Recifense
Recifense wrote:
Sat Jul 29, 2017 2:06 pm
Axeen wrote:
Fri Jul 28, 2017 5:06 pm
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!

Re: Civilization VI Steam (GM and More) 2017-Jul-29

Posted: Sat Jul 29, 2017 9:20 pm
by Recifense
Hi Patrons,

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

Cheers!

Re: Civilization VI Steam (GM and More) 2017-Jul-29

Posted: Sat Jul 29, 2017 11:03 pm
by Axeen
Cheers,

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

Re: Civilization VI Steam (GM and More) 2017-Jul-29

Posted: Sun Jul 30, 2017 1:48 am
by dezzter
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)