127
"[X] <== Europa Universalis IV v1.22.2.0 (7645) Steam Script 7.4"
FF0000
Auto Assembler Script
{
===========================================
Game Title : Europa Universalis IV
Game Version : 1.22.2.0 (7645)
Game Sponsor : Vodos (game) + darkedone02 (DLC)
Proces Name : EU4.exe
Script Version: 7.4
CE Version : 6.7
Release date : 17-Aug-2017
Author : Recifense
History:
14-Aug-13: First Release
15-Aug-13: Added Change Religion cheat (s2.0)
18-Aug-13: Added protection against attrition+Culture (GM)(s3.0)
19-Aug-13: Fixed issue related with "Change Religion" (s3.1)
19-Aug-13: Release for version 1.1.1c (s3.1)
23-Aug-13: Release for version 1.1.2 (+Stability) (s4.0)
27-Aug-13: Release for version 1.1.3 (s4.0)
28-Sep-13: Release for version 1.2.0.0 (s4.0)
29-Sep-13: Release for version 1.2.1.0 (s4.0)
03-Oct-13: Release for version 1.2.2.0 (s4.0)
01-Nov-13: Release for version 1.3.0.0 (s4.0)
04-Nov-13: Release for version 1.3.1.0 (s4.0)
25-Nov-13: Release for version 1.3.2.0 (s4.0)
14-Jan-14: Release for version 1.4.0.0 (s4.0)
16-Jan-14: Fixing GM related to attrition (s4.1)
19-Jan-14: Fixing GM related to Colonization (s4.2)
20-Jan-14: Release for version 1.4.1.0 (s4.2)
01-Mar-14: Release for version 1.5.0.0 (s4.2)
03-Mar-14: Release for version 1.5.1.0 (s4.2)
08-Mar-14: Change on Quick Ownership (s4.3)
31-May-14: Release for version 1.6.1.0 (steam)
02-Jul-14: Release for version 1.6.2.0 (steam)
23-Jul-14: Release for version 1.7.0.0 (steam)
24-Jul-14: Changed Hack Point for GM7 (S4.4)
31-Jul-14: Release for version 1.7.3.0 (steam)
02-Nov-14: Release for version 1.8.0.0 (steam)
11-Nov-14: Release for version 1.8.1.0 (steam)
09-Dec-14: Release for version 1.9.0.0 (steam)
11-Dec-14: Release for version 1.9.1.0 (steam)
11-Dec-14: Release for version 1.9.2.0 (steam)
01-Mar-15: Release for version 1.10.1.0 (steam)
02-Mar-15: Adding more features
10-Mar-15: Release for version 1.11.1.0 (steam) +new feature
14-Mar-15: Release for version 1.11.3.0 (steam)
24-Mar-15: Release for version 1.11.4.0 (steam)
13-Jun-15: Release for version 1.12.1.0 (steam)(s7.0)
18-Jun-15: Release for version 1.12.2.0 (steam)(s7.0)
03-Sep-15: Release for version 1.13.1.0 (steam)
28-Oct-15: Release for version 1.13.2.0 (steam)
04-Dec-15: Release for version 1.14.2.0 (steam)
05-Dec-15: Fix for God Mode (during siege) s7.1
08-Dec-15: Release for version 1.14.2.0-41a0 (steam)
11-Dec-15: Release for version 1.14.3.0-f611
04-Jan-16: Release for version 1.14.4.0-e1a1
30-Jan-16: Release for version 1.15.0.0-e5f7
01-Feb-16: Release for version 1.15.1.0-8ad5
09-Apr-16: Release for version 1.16.2.0-3a8e
15-Apr-16: Release for version 1.16.3.0-6227
16-May-16: Release for version 1.17.0.0-f236
10-Jun-16: Release for version 1.17.1.0-6704
16-Oct-16: Release for version 1.18.3.0-9198
18-Oct-16: Fix for Full Sailors (s7.3)
30-Oct-16: Release for version 1.18.4.0-f968
24-Nov-16: Release for version 1.19.1.0-fa37
30-Nov-16: Release for version 1.19.2.0-7dd8
07-Apr-17: Release for version 1.20.0.0-072a
11-Apr-17: Release for version 1.20.1.0-07f1
25-Apr-17: Release for version 1.21.0.0-bbec
27-Apr-17: Release for version 1.21.1.0-63a8
16-Jun-17: Release for version 1.22.0.0-b6eb (CE67)(S74)
20-Jun-17: Release for version 1.22.1.0-3d00
17-Aug-17: Release for version 1.22.2.0-7645
Features:
- Minimum Ducats
- Full Manpower
- Minimum Stability (S40)
- Minimum Prestige
- Minimum Power:
- Administrative
- Diplomatic
- Military
- Minimum Army/Navy Tradition
- Minimum Mercantilism
- Minimum Legitimacy
- Move Army/Navy to adjacent area in 1 turn
- Tasks in 1 turn:
- Recruitment
- Production
- Construction
- Culture
- Make Core
- Colonization in 1 turn
- Blessed Province:
- Minimum Trade Power
- Minimum ManPower Bonus
- Quick Province Ownership
- God Mode:
- Army
- Fleet
- Garrison (Province)
- Attrition (s30)
- No Native
- Full Garrison
- Change Religion (s20)
- Change Culture (s30)
- No Decay (s45)
- Minimum Nation Points
- Quick Exploration (new)
- 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 ~= "eu4.exe") then
ShowMessage('Error. Expected Process = eu4.exe')
end
{$asm}
//=========================================
// Definitions
define(LUDO,"eu4.exe")
define(MHPR,EU4.exe+0035b8b5) //40#===#=#=##=
define(MPRS,EU4.exe+00811edc) //40X=#=#=#=#==
define(MSPE,EU4.exe+00b561b9) //40#=#=#=#=##=
define(MSAY,EU4.exe+00bdc3fd) //40#===#======
define(MAMP,EU4.exe+007c460f) //40#===#=#=##=
define(MRPC,EU4.exe+001fa639) //40====#======
define(MCPS,EU4.exe+00646186) //40#===#===#==
define(MPGN,EU4.exe+00b559c7) //40X=#=X=#=##=
define(MOCD,EU4.exe+007158d5) //40#===#======
define(GMD1,EU4.exe+006b0313) //40#===#======
define(GMD3,EU4.exe+001e7383) //40X=#=X===##=
define(GMD4,EU4.exe+006447e8) //40#===#===#==
define(GMD5,EU4.exe+00185bc4) //40#===#======
define(GMD8,EU4.exe+007c1b49) //40X===X======
define(MOEN,EU4.exe+005c1ff3) //40====#======
define(MEN2,EU4.exe+005c2146) //40====#======
define(MONP,EU4.exe+0035b876) //40====X======
//=========================================
// Constants used in the script
define(ctCE67,(float)6.7)
//=========================================
[ENABLE]
//=========================================
//LuaCall(CheckVersion())
//=========================================
// Check if script is compatible to this game version
// If false the script will not be loaded
assert(MHPR,80 b8 fa 18 00 00 06 ?? ?? 80 b8 03 19 00 00 00 ?? ?? 05 fc 18 00 00)
assert(MPRS,8b b0 10 01 00 00 8b 01 8b 40 70 ff d0 8b 40 04 0f bf c8 a1 ?? ??)
assert(MSPE,8b 80 e4 0f 00 00 3b 83 78 09 00 00 0f 94 c2 84 d2 0f 94 c1 84 c9)
assert(MSAY,8b 71 20 2b 71 1c 8b ca 8b 02 c1 fe 02 ff 50 28 3b f0 c7 45 fc ff)
assert(MAMP,39 8b c8 00 00 00 0f 9d c0 84 c0 0f 84 ?? ?? ?? ?? 39 73 5c 0f 9f c0)
assert(MRPC,69 71 18 e8 03 00 00 8b 10 b8 ab aa aa 2a 81 ea c0 55 9c 02 89 4d)
assert(MCPS,81 b9 28 0e 00 00 e7 03 00 00 0f 9d c0 84 c0 ?? ?? 8b 75 0c 85 f6)
assert(MPGN,8b 80 30 0e 00 00 39 87 bc 09 00 00 0f 94 c1 84 c9 0f 94 c1 84 c9)
assert(MOCD,8b 90 78 18 00 00 b8 ab aa aa 2a 81 ea c0 55 9c 02 f7 ea c1 fa 02)
assert(GMD1,8b 46 20 29 46 18 8b 46 1c 39 46 24 ?? ?? 89 46 24 8b 46 24 8d 4d)
assert(GMD3,0f 48 c8 89 4a 18 b9 00 00 00 00 8b 42 1c 2b 85 6c ff ff ff 0f 48 c1)
assert(GMD4,89 8e 30 0e 00 00 5e 8b e5 5d c2 04 00 cc cc cc ?? ?? ?? ?? ?? ??)
assert(GMD5,0f 48 c8 89 4a 18 8b 45 18 8b 55 e8 85 c0 0f 84 ?? ?? ?? ?? 01 30)
assert(GMD8,0f 48 f8 89 79 18 8b f9 8d 4d d0 51 8b cf 8b 07 ff 50 38 6a 00 68)
assert(MOEN,81 7f 1c a0 86 01 00 0f 9c c0 84 c0 ?? ?? a1 ?? ?? ?? ?? b9 e8 03)
assert(MEN2,81 79 1c a0 86 01 00 0f 9c c0 84 c0 ?? ?? a1 ?? ?? ?? ?? ba e8 03)
assert(MONP,68 e8 03 00 00 f7 e9 52 50 e8 ?? ?? ?? ?? 8b c8 b8 d3 4d 62 10 f7 e9)
//=========================================
alloc(MyCode,4096,$process)
//=========================================
// Declaration section
label(_MonHumanPlayer)
label(_BackMHP)
label(_MonPlayerResources)
label(_BackMPR)
label(_MonSelProvince)
label(_BackMSP)
label(_MonSelArmy)
label(_BackMSA)
label(_MonArmyMP)
label(_BackMAM)
label(_MonRecProdConst)
label(_BackMRP)
label(_MonColonizationProg)
label(_BackMCP)
label(_MonProvinceGarrison)
label(_BackMPG)
label(_MonCurDate)
label(_BackMCD)
label(_GodMode1)
label(_BackGM1)
label(_GodMode3)
label(_BackGM3)
label(_GodMode4)
label(_BackGM4)
label(_GodMode5)
label(_BackGM5)
label(_GodMode8)
label(_BackGM8)
label(_MonExploration)
label(_BackMEN)
label(_MonExploration2)
label(_BackME2)
label(_MonNationPoints)
label(_BackMNP)
label(_FindStatusAddress)
label(_FindSA0)
label(_FindSA1)
label(_ExitFSA)
label(iPlayerID)
label(iEnableMMD)
label(iEnableFMP)
label(iEnableMMP)
label(iEnableMRP)
label(iEnableANM)
label(iEnableANT)
label(iEnableMER)
label(iEnableLEG)
label(iEnableMRR)
label(iEnableMAM)
label(iEnableRPC)
label(iEnableMCP)
label(iEnableBSP)
label(iEnableQOS)
label(iEnableGMD)
label(iEnableNNE)
label(iEnableMPG)
label(iEnableCHR)
label(iEnableCHC)
label(iEnableMMS)
label(iEnableMPD)
label(iEnableMNP)
label(iEnableQEN)
label(iMaxPower)
label(iMinNP)
label(iCurDate)
label(iAge)
label(iBornDate)
label(pPlayer)
label(pProvince)
label(pArmy)
label(pReligion)
label(pCulture)
label(pGame)
label(aLast)
//=========================================
// Registering Symbols
registersymbol(MyCode)
registersymbol(iEnableMMD)
registersymbol(iEnableFMP)
registersymbol(iEnableMMP)
registersymbol(iEnableMRP)
registersymbol(iEnableANM)
registersymbol(iEnableANT)
registersymbol(iEnableMER)
registersymbol(iEnableLEG)
registersymbol(iEnableMRR)
registersymbol(iEnableMAM)
registersymbol(iEnableRPC)
registersymbol(iEnableMCP)
registersymbol(iEnableBSP)
registersymbol(iEnableQOS)
registersymbol(iEnableGMD)
registersymbol(iEnableNNE)
registersymbol(iEnableMPG)
registersymbol(iEnableCHR)
registersymbol(iEnableCHC)
registersymbol(iEnableMMS)
registersymbol(iEnableMPD)
registersymbol(iEnableMNP)
registersymbol(iEnableQEN)
registersymbol(iPlayerID)
registersymbol(iMinNP)
registersymbol(iCurDate)
registersymbol(iAge)
registersymbol(iBornDate)
registersymbol(pPlayer)
registersymbol(pProvince)
registersymbol(pArmy)
registersymbol(pReligion)
registersymbol(pCulture)
registersymbol(pGame)
registersymbol(aLast)
//=========================================
MyCode:
//========================================= 1.22.0.0
// This code finds out Player ID
_MonHumanPlayer:
push ecx
mov ecx,[eax+000018f8] // Get player ID
mov [iPlayerID],ecx // Save it for further use
_ExitMHP:
pop ecx
cmp byte ptr [eax+000018FA],06 // Original code
jmp _BackMHP // Back to main code
//========================================= 1.22.0.0
// main game window
_MonPlayerResources:
mov dword ptr [aLast],'_MPR'
push eax
push ebx
push ecx
push edx
push esi
push edi
mov ecx,eax // ECX = pPlayer
mov eax,[ecx+0c] // Get Owner ID
cmp eax,[iPlayerID] // Is it the player´s resources?
jne _ExitMPR // jump if false
mov [pPlayer],ecx // Save pointer for debugging
mov eax,[ecx+00001348] // Get Religion
mov [pReligion],eax // Save pointer for debugging
mov eax,[ecx+00001a1c] // Get Culture
mov [pCulture],eax // Save pointer for debugging
// Ducats
cmp dword ptr [iEnableMMD],0
je _MonPR00 // Jump if feature is disabled
mov eax,#67000000 // Get minimum value (67000)
cmp eax,[ecx+000004a8] // Currrent Ducats >= 67000?
jle _MonPR00 // Jump if true
mov [ecx+000004a8],eax // Make Ducats = 67000
// Manpower
_MonPR00:
cmp dword ptr [iEnableFMP],0
je _MonPR10 // Jump if feature is disabled
mov eax,[ecx+00000d7c] // Get maximum Manpower
mov [ecx+00000d78],eax // Make Manpower = Max
mov eax,[ecx+00000d84] // Get maximum Sailors
cmp eax,[ecx+00000d80]
js _MonPR10
mov [ecx+00000d80],eax // Make Sailors = Max
// Stability
_MonPR10:
cmp dword ptr [iEnableMMS],0
je _MonPR01 // Jump if feature is disabled
mov eax,#3670 // Minimum Stability (3.67)
cmp eax,[ecx+00000ad8]
js _MonPR01
mov [ecx+00000ad8],eax // Make Stability = 3.67
// Prestige
_MonPR01:
cmp dword ptr [iEnableMMP],0
je _MonPR02 // Jump if feature is disabled
mov eax,#90000 // Minimum Prestige
cmp eax,[ecx+00000bb8]
js _MonPR02
mov [ecx+00000bb8],eax // Update Prestige
// Research Powers
_MonPR02:
cmp dword ptr [iEnableMRP],0
je _MonPR03 // Jump if feature is disabled
mov eax,[iMaxPower] // Minimum RP
dec eax
dec eax
dec eax
dec eax
mov ebx,[ecx+00000110] // Administrative Power
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000110],ebx
mov ebx,[ecx+00000114] // Diplomatic Power
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000114],ebx
mov ebx,[ecx+00000118] // Military Power
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000118],ebx
// Morale ======== pending
_MonPR03:
cmp dword ptr [iEnableANM],0
je _MonPR04 // Jump if feature is disabled
_MonPR13:
// Tradition
_MonPR04:
cmp dword ptr [iEnableANT],0
je _MonPR05 // Jump if feature is disabled
mov eax,#67000 // Minimum value
mov ebx,[ecx+00000f48] // Army
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000f48],ebx
mov ebx,[ecx+00000f4c] // Naval
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000f4c],ebx
// Mercantilism
_MonPR05:
cmp dword ptr [iEnableMER],0
je _MonPR06 // Jump if feature is disabled
mov eax,#36700 // Minimum value
mov ebx,[ecx+0000165c]
cmp ebx,eax
cmovs ebx,eax
mov [ecx+0000165c],ebx
// Legitimacy
_MonPR06:
cmp dword ptr [iEnableLEG],0
je _MonPR07 // Jump if feature is disabled
mov eax,#90000 // Minimum value
mov ebx,[ecx+000015c4]
test ebx,ebx
jz _MonPR07 // jump if republic
cmp ebx,eax
cmovs ebx,eax
mov [ecx+000015c4],ebx
// National revolt Risk ===== pending
_MonPR07:
cmp dword ptr [iEnableMRR],0
je _MonPR08 // Jump if feature is disabled
// Decay
_MonPR08:
cmp dword ptr [iEnableMPD],0
je _MonPR09 // Jump if feature is disabled
mov ebx,[ecx+00001b50] // General Status
test ebx,ebx
jz _MonPR09
lea ebx,[ecx+00001b50]
xor eax,eax
// Yearly Army Tradition Decay
push ebx
push (int)82
call _FindStatusAddress
jz _MonPR09
mov [edi+04],eax
// Yearly Navy Tradition Decay
push ebx
push (int)83
call _FindStatusAddress
jz _MonPR09
mov [edi+04],eax
// Prestige Decay
push ebx
push (int)103
call _FindStatusAddress
jz _MonPR09
mov [edi+04],eax
_MonPR09:
_ExitMPR:
pop edi
pop esi
pop edx
pop ecx
pop ebx
pop eax
mov esi,[eax+00000110] // Original code (Get RP)
jmp _BackMPR // Back to main code
//========================================= 1.22.0.0 *
// Selected Province
_MonSelProvince:
mov dword ptr [aLast],'_MSP'
push ebx
push ecx
push esi
push edi
cmp eax,[pProvince]
je _MonSP0Z
mov ebx,[pProvince]
mov [pProvince],eax
mov [pProvince+04],ebx
_MonSP0Z:
cmp dword ptr [iEnableQOS],0
je _MonSP0Q // Jump if feature is disabled
mov ebx,[eax+00000e74] // Conquerer iID (2)
cmp ebx,[iPlayerID]
jne _MonSP0Q
mov ecx,[eax+00000e88] // pointer to 1st claimer
test ecx,ecx
jz _MonSP0Q
cmp ecx,[eax+00000e8c]
je _MonSP0Q
mov ebx,[eax+00000e70] // Conquerer aID
mov [eax+00000e68],ebx // (1)
mov [ecx],ebx
mov ebx,[eax+00000e74] // Conquerer iID (2)
mov [eax+00000e6c],ebx // (1)
mov [ecx+04],ebx
_MonSP0Q:
mov ebx,[eax+00000e6c]
cmp ebx,[iPlayerID]
jne _ExitMSP
cmp dword ptr [iEnableBSP],0
je _MonSP00 // Jump if feature is disabled
//Trade Power
mov ecx,#60000
mov ebx,[eax+00000fe4]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000fe4],ebx
//Manpower Bonus
mov ecx,#6000
mov ebx,[eax+00000e10]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000e10],ebx
//Base Tax Value
mov ebx,[eax+00000e14]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000e14],ebx
//Base Production
mov ebx,[eax+00000e18]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000e18],ebx
// Change Religion
_MonSP00:
cmp dword ptr [iEnableCHR],0
je _MonSP11 // Jump if feature is disabled
mov ebx,[pReligion]
test ebx,ebx
jz _MonSP11
mov [eax+00000e54],ebx
mov [eax+00000e58],ebx
// Change Culture
_MonSP11:
cmp dword ptr [iEnableCHC],0
je _MonSP01 // Jump if feature is disabled
mov ebx,[pCulture]
test ebx,ebx
jz _MonSP01
mov [eax+00000e4c],ebx
mov [eax+00000e50],ebx
// No Natives
_MonSP01:
cmp dword ptr [iEnableNNE],0
je _MonSP02 // Jump if feature is disabled
xor ebx,ebx
mov [eax+00000f08],ebx
mov [eax+00000f0c],ebx
mov [eax+00000f10],ebx
//Quick Onwership
_MonSP02:
cmp dword ptr [iEnableQOS],0
je _MonSP03 // Jump if feature is disabled
mov ecx,[eax+00000e88] // pointer to 1st claimer
test ecx,ecx
jz _MonSP03
mov ebx,[eax+00000e68]
mov [eax+00000e70],ebx
// mov [ecx],ebx
// mov [ecx+08],ebx
mov ebx,[eax+00000e6c]
mov [eax+00000e74],ebx
// mov [ecx+04],ebx
// mov [ecx+0c],ebx
//Local Revolt Risk ======= Pending
_MonSP03:
cmp dword ptr [iEnableMRR],0
je _ExitMSP // Jump if feature is disabled
_ExitMSP:
pop edi
pop esi
pop ecx
pop ebx
mov eax,[eax+00000FE4] // Original code (trade power)
jmp _BackMSP // Back to main code
//========================================= 1.20.0.0 ok
// Selected Army
_MonSelArmy:
mov [pArmy],ecx
_ExitMSA:
mov esi,[ecx+20] // Original code
sub esi,[ecx+1C] // Original code
jmp _BackMSA // Back to main code
//========================================= 1.22.1.0 *
// During Turn
_MonArmyMP:
mov dword ptr [aLast],'_MAM'
push eax
cmp dword ptr [iEnableMAM],0
je _ExitMAM // Jump if feature is disabled
mov eax,[ebx+00000084]
cmp eax,[iPlayerID]
jne _ExitMAM
mov [ebx+000000c8],ecx
_ExitMAM:
pop eax
cmp [ebx+000000C8],ecx // Original code
jmp _BackMAM // Back to main code
//========================================= 1.20.0.0 ok
// During Turn (recruitment/Production/Construction)
_MonRecProdConst:
mov dword ptr [aLast],'_RPC'
cmp dword ptr [iEnableRPC],0
je _ExitMRP // Jump if feature is disabled
mov esi,[ecx+30]
cmp esi,[iPlayerID]
jne _ExitMRP
mov dword ptr [ecx+18],00
_ExitMRP:
imul esi,[ecx+18],000003E8 // Original code (rds #days)
jmp _BackMRP // Back to main code
//========================================= 1.22.0.0 *
// During Turn
_MonColonizationProg:
mov dword ptr [aLast],'_MCP'
push edi
cmp dword ptr [iEnableMCP],0
je _ExitMCP // Jump if feature is disabled
mov edi,[ecx+00000e6c]
cmp edi,[iPlayerID]
jne _ExitMCP
mov edi,#1000000
cmp edi,[ecx+00000e28]
js _ExitMCP
mov [ecx+00000e28],edi
_ExitMCP:
pop edi
cmp [ecx+00000E28],000003E7 // Original code (settlers)
jmp _BackMCP // Back to main code
//========================================= 1.22.0.0 *
// Selected or undercursor Province
_MonProvinceGarrison:
mov dword ptr [aLast],'_MPG'
push edx
push edi
cmp dword ptr [iEnableMPG],0
je _ExitMPG // Jump if feature is disabled
mov edx,[eax+00000e6c]
cmp edx,[iPlayerID]
jne _ExitMPG
mov edx,[eax+00000174]
test edx,edx
jz _ExitMPG
mov edx,[edx+00000304]
imul edx,edx,000003e8
mov [eax+00000e30],edx
_ExitMPG:
pop edi
pop edx
mov eax,[eax+00000E30] // Original code (get Garrison)
jmp _BackMPG // Back to main code
//========================================= 1.20.0.0 ok
// At main game screen
_MonCurDate:
push ebx
push ecx
mov edx,[eax+00001878] // Original code (get Date)
mov [iCurDate],edx
mov [pGame],eax
mov ebx,00002238
imul ebx,[iAge]
mov ecx,edx
sub ecx,ebx
mov [iBornDate],ecx
_ExitMCD:
pop ecx
pop ebx
jmp _BackMCD // Back to main code
//========================================= 1.20.0.0 ok
// During Battle
_GodMode1:
mov dword ptr [aLast],'_GM1'
cmp dword ptr [iEnableGMD],0
je _ExitGM1 // Jump if feature is disabled
mov eax,[esi+38]
cmp eax,[iPlayerID]
jne _ExitGM1
mov eax,#1000
mov [esi+18],eax
xor eax,eax
mov [esi+20],eax
mov [esi+24],eax
cmp dword ptr [iEnableANM],0
je _ExitGM1 // Jump if feature is disabled
mov eax,#67000
mov [esi+1c],eax
_ExitGM1:
mov eax,[esi+20] // Original code
sub [esi+18],eax // Original code
jmp _BackGM1 // Back to main code
//========================================= 1.20.0.0 ok
// During Assault (attacker)
_GodMode3:
mov dword ptr [aLast],'_GM3'
cmovs ecx,eax // Original code
mov [edx+18],ecx // Original code
cmp dword ptr [iEnableGMD],0
je _ExitGM3 // Jump if feature is disabled
mov eax,[edx+38]
cmp eax,[iPlayerID]
jne _ExitGM3
xor eax,eax
mov [edx+20],eax
mov [edx+24],eax
mov [ebp-00000094],eax
mov eax,#1000
mov [edx+18],eax
mov eax,#67000
cmp [edx+1c],eax
jns _ExitGM3
mov [edx+1c],eax
_ExitGM3:
jmp _BackGM3 // Back to main code
//========================================= 1.22.0.0 *
// During Assault (defender) Province
_GodMode4:
mov dword ptr [aLast],'_GM4'
push ebx
cmp dword ptr [iEnableGMD],0
je _ExitGM4 // Jump if feature is disabled
mov ebx,[esi+00000e6c]
cmp ebx,[iPlayerID]
jne _ExitGM4
cmp ecx,[esi+00000e30]
jge _ExitGM4
mov ecx,[esi+00000e30]
_ExitGM4:
pop ebx
mov [esi+00000E30],ecx // Original code (set garrison)
jmp _BackGM4 // Back to main code
//========================================= 1.20.0.0 ok
// During Assault (attacker)
_GodMode5:
mov dword ptr [aLast],'_GM5'
push eax
cmovs ecx,eax // Original code
cmp dword ptr [iEnableGMD],0
je _ExitGM5 // Jump if feature is disabled
mov eax,[edx+38]
cmp eax,[iPlayerID]
jne _ExitGM5
xor eax,eax
mov [edx+20],eax
mov [edx+24],eax
mov ecx,#1000
_ExitGM5:
pop eax
mov [edx+18],ecx // Original code
jmp _BackGM5 // Back to main code
//========================================= 1.20.0.0 ok
// During Assault (attrition)
_GodMode8:
mov dword ptr [aLast],'_GM8'
cmovs edi,eax // Original code
cmp dword ptr [iEnableGMD],0
je _ExitGM8 // Jump if feature is disabled
mov eax,[ecx+38]
cmp eax,[iPlayerID]
jne _ExitGM8
xor eax,eax
mov [ecx+20],eax
mov [ecx+24],eax
mov edi,#1000
_ExitGM8:
mov [ecx+18],edi // Original code
jmp _BackGM8 // Back to main code
//========================================= 1.20.0.0 ok
// During Turn
_MonExploration:
mov dword ptr [aLast],'_MEN'
push ecx
cmp dword ptr [iEnableQEN],0
je _ExitMEN // Jump if feature is disabled
mov ecx,[esi+00000084]
cmp ecx,[iPlayerID]
jne _ExitMEN
mov dword ptr [edi+1c],000186A0
_ExitMEN:
pop ecx
cmp [edi+1C],000186A0 // Original code
jmp _BackMEN // Back to main code
//========================================= 1.20.0.0 ok
// During Turn (coast)
_MonExploration2:
mov dword ptr [aLast],'_ME2'
push eax
cmp dword ptr [iEnableQEN],0
je _ExitME2 // Jump if feature is disabled
mov eax,[esi+00000084]
cmp eax,[iPlayerID]
jne _ExitME2
mov dword ptr [ecx+1c],000186A0
_ExitME2:
pop eax
cmp [ecx+1C],000186A0 // Original code
jmp _BackME2 // Back to main code
//========================================= 1.20.0.0 ok
// When creating a nation (Minimum Nation Points)
_MonNationPoints:
mov dword ptr [aLast],'_MNP'
push eax
cmp dword ptr [iEnableMNP],0
je _ExitMNP // Jump if feature is disabled
mov eax,[iMinNP]
imul eax,eax,#1000
cmp ecx,eax
jns _ExitMNP
mov ecx,eax
_ExitMNP:
pop eax
push 000003E8 // Original code
jmp _BackMNP // Back to main code
//=========================================
align 10,cc
//========================================= new 1.12.0.0
// Find Status Address
// 1st = ppStructureAddress
// 2nd = ID
// EDI = Result if NZ = ON
_FindStatusAddress:
push ebp
mov ebp,esp
push eax
push ecx
push esi
xor edi,edi
mov esi,[ebp+0c]
mov ecx,[esi+04]
sub ecx,[esi]
shr ecx,3
test ecx,ecx
jz _ExitFSA
mov eax,[ebp+08]
mov esi,[esi]
_FindSA0:
cmp eax,[esi]
je _FindSA1
add esi,8
loop _FindSA0
jmp _ExitFSA
//==
_FindSA1:
mov edi,esi
_ExitFSA:
test edi,edi
pop esi
pop ecx
pop eax
pop ebp
ret 0008
//=========================================
align 10,'='
//=========================================
db '===============================>'
db 'CE6.7 Script by Recifense 170817'
//=========================================
// Variables
iEnableMMD:
dd 0
iEnableFMP:
dd 0
iEnableMMP:
dd 0
iEnableMRP:
dd 0
iEnableANM:
dd 0
iEnableANT:
dd 0
iEnableMER:
dd 0
iEnableLEG:
dd 0
iEnableMRR:
dd 0
iEnableMAM:
dd 0
iEnableRPC:
dd 0
iEnableMCP:
dd 0
iEnableBSP:
dd 0
iEnableQOS:
dd 0
iEnableGMD:
dd 0
iEnableNNE:
dd 0
iEnableMPG:
dd 0
iEnableCHR:
dd 0
iEnableCHC:
dd 0
iEnableMMS:
dd 0
iEnableMPD:
dd 0
iEnableMNP:
dd 0
iEnableQEN:
dd 0
pPlayer:
dd 0
pProvince:
dd 0
dd 0
pArmy:
dd 0
pReligion:
dd 0
pCulture:
dd 0
iPlayerID:
dd #9999
iMaxPower:
dd #999
iMinNP:
dd #400
iCurDate:
dd 0
iAge:
dd #40
iBornDate:
dd 0
pGame:
dd 0
aLast:
db 'CE67'
//=========================================
// Hacking Points
MHPR:
jmp _MonHumanPlayer
nop
nop
_BackMHP:
MPRS:
jmp _MonPlayerResources
nop
_BackMPR:
MSPE:
jmp _MonSelProvince
nop
_BackMSP:
MSAY:
jmp _MonSelArmy
nop
_BackMSA:
MAMP:
jmp _MonArmyMP
nop
_BackMAM:
MRPC:
jmp _MonRecProdConst
nop
nop
_BackMRP:
MCPS:
jmp _MonColonizationProg
nop
nop
nop
nop
nop
_BackMCP:
MPGN:
jmp _MonProvinceGarrison
nop
_BackMPG:
MOCD:
jmp _MonCurDate
nop
_BackMCD:
GMD1:
jmp _GodMode1
nop
_BackGM1:
GMD3:
jmp _GodMode3
nop
_BackGM3:
GMD4:
jmp _GodMode4
nop
_BackGM4:
GMD5:
jmp _GodMode5
nop
_BackGM5:
GMD8:
jmp _GodMode8
nop
_BackGM8:
MOEN:
jmp _MonExploration
nop
nop
_BackMEN:
MEN2:
jmp _MonExploration2
db 90 90
_BackME2:
MONP:
jmp _MonNationPoints
_BackMNP:
//=========================================
// Script for Restoring Original Codes
[DISABLE]
MHPR:
// cmp byte ptr [eax+000018FA],06
db 80 b8 fa 18 00 00 06
MPRS:
// mov esi,[eax+00000110]
db 8b b0 10 01 00 00
MSPE:
// mov eax,[eax+00000FE4]
db 8b 80 e4 0f 00 00
MSAY:
// mov esi,[ecx+20]
// sub esi,[ecx+1C]
db 8b 71 20 2b 71 1c
MAMP:
// cmp [ebx+000000C8],ecx
db 39 8b c8 00 00 00
MRPC:
// imul esi,[ecx+18],000003E8
db 69 71 18 e8 03 00 00
MCPS:
// cmp [ecx+00000E28],000003E7
db 81 b9 28 0e 00 00 e7 03 00 00
MPGN:
// mov eax,[eax+00000E30]
db 8b 80 30 0e 00 00
MOCD:
// mov edx,[eax+00001878]
db 8b 90 78 18 00 00
GMD1:
// mov eax,[esi+20]
// sub [esi+18],eax
db 8b 46 20 29 46 18
GMD3:
// cmovs ecx,eax
// mov [edx+18],ecx
db 0f 48 c8 89 4a 18
GMD4:
// mov [esi+00000E30],ecx
db 89 8e 30 0e 00 00
GMD5:
// cmovs ecx,eax
// mov [edx+18],ecx
db 0f 48 c8 89 4a 18
GMD8:
// cmovs edi,eax
// mov [ecx+18],edi
db 0f 48 f8 89 79 18
MOEN:
// cmp [edi+1C],000186A0
db 81 7f 1c a0 86 01 00
MEN2:
// cmp [ecx+1C],000186A0
db 81 79 1c a0 86 01 00
MONP:
// push 000003E8
db 68 e8 03 00 00
//=========================================
// Unregistering Symbols
unregistersymbol(MyCode)
unregistersymbol(pPlayer)
unregistersymbol(pProvince)
unregistersymbol(pArmy)
unregistersymbol(pReligion)
unregistersymbol(pCulture)
unregistersymbol(iPlayerID)
unregistersymbol(iEnableMMD)
unregistersymbol(iEnableFMP)
unregistersymbol(iEnableMMP)
unregistersymbol(iEnableMRP)
unregistersymbol(iEnableANM)
unregistersymbol(iEnableANT)
unregistersymbol(iEnableMER)
unregistersymbol(iEnableLEG)
unregistersymbol(iEnableMRR)
unregistersymbol(iEnableMAM)
unregistersymbol(iEnableRPC)
unregistersymbol(iEnableMCP)
unregistersymbol(iEnableBSP)
unregistersymbol(iEnableQOS)
unregistersymbol(iEnableGMD)
unregistersymbol(iEnableNNE)
unregistersymbol(iEnableMPG)
unregistersymbol(iEnableCHR)
unregistersymbol(iEnableCHC)
unregistersymbol(iEnableMMS)
unregistersymbol(iEnableMMS)
unregistersymbol(iEnableMPD)
unregistersymbol(iEnableMNP)
unregistersymbol(iEnableQEN)
unregistersymbol(iMinNP)
unregistersymbol(iCurDate)
unregistersymbol(iAge)
unregistersymbol(iBornDate)
unregistersymbol(pGame)
unregistersymbol(aLast)
//=========================================
dealloc(MyCode)
//============= Scripts End ===============
// ****************************************
// NOTES
// ****************************************
{
}
96
"[X] <== Minimum Money (Ducats)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMMD",1)
getAddressList().getMemoryRecordByID(96).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMMD",0)
getAddressList().getMemoryRecordByID(96).Color = 0x00c08000
{$ASM}
182
"[X] <== Full Manpower (and Sailors)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableFMP",1)
getAddressList().getMemoryRecordByID(182).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableFMP",0)
getAddressList().getMemoryRecordByID(182).Color = 0x00c08000
{$ASM}
183
"[X] <== Minimum Prestige"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMMP",1)
getAddressList().getMemoryRecordByID(183).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMMP",0)
getAddressList().getMemoryRecordByID(183).Color = 0x00c08000
{$ASM}
184
"[X] <== Minimum Research Powers"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMRP",1)
getAddressList().getMemoryRecordByID(184).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMRP",0)
getAddressList().getMemoryRecordByID(184).Color = 0x00c08000
{$ASM}
186
"[X] <== Minimum Army/Navy Tradition"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableANT",1)
getAddressList().getMemoryRecordByID(186).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableANT",0)
getAddressList().getMemoryRecordByID(186).Color = 0x00c08000
{$ASM}
187
"[X] <== Minimum Mercantilism"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMER",1)
getAddressList().getMemoryRecordByID(187).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMER",0)
getAddressList().getMemoryRecordByID(187).Color = 0x00c08000
{$ASM}
189
"[X] <== Minimum Legitimacy"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableLEG",1)
getAddressList().getMemoryRecordByID(189).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableLEG",0)
getAddressList().getMemoryRecordByID(189).Color = 0x00c08000
{$ASM}
201
"[X] <== No Decay Modifiers"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMPD",1)
getAddressList().getMemoryRecordByID(201).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMPD",0)
getAddressList().getMemoryRecordByID(201).Color = 0x00c08000
{$ASM}
200
"[X] <== Minimum Stability"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMMS",1)
getAddressList().getMemoryRecordByID(200).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMMS",0)
getAddressList().getMemoryRecordByID(200).Color = 0x00c08000
{$ASM}
193
"[X] <== Blessed Province (Trade Power/Manpower Bonus/Base Production/Base Tax)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableBSP",1)
getAddressList().getMemoryRecordByID(193).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableBSP",0)
getAddressList().getMemoryRecordByID(193).Color = 0x00c08000
{$ASM}
197
"[X] <== Full Garrison"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMPG",1)
getAddressList().getMemoryRecordByID(197).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMPG",0)
getAddressList().getMemoryRecordByID(197).Color = 0x00c08000
{$ASM}
198
"[X] <== Change Religion"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableCHR",1)
getAddressList().getMemoryRecordByID(198).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableCHR",0)
getAddressList().getMemoryRecordByID(198).Color = 0x00c08000
{$ASM}
199
"[X] <== Change Culture"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableCHC",1)
getAddressList().getMemoryRecordByID(199).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableCHC",0)
getAddressList().getMemoryRecordByID(199).Color = 0x00c08000
{$ASM}
194
"[X] <== Quick Province Ownership"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableQOS",1)
getAddressList().getMemoryRecordByID(194).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableQOS",0)
getAddressList().getMemoryRecordByID(194).Color = 0x00c08000
{$ASM}
191
"[X] <== Recruitment/Production/Construction in 1 Turn"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableRPC",1)
getAddressList().getMemoryRecordByID(191).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableRPC",0)
getAddressList().getMemoryRecordByID(191).Color = 0x00c08000
{$ASM}
192
"[X] <== Colonization in a Month"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMCP",1)
getAddressList().getMemoryRecordByID(192).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMCP",0)
getAddressList().getMemoryRecordByID(192).Color = 0x00c08000
{$ASM}
196
"[X] <== No Natives"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableNNE",1)
getAddressList().getMemoryRecordByID(196).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableNNE",0)
getAddressList().getMemoryRecordByID(196).Color = 0x00c08000
{$ASM}
190
"[X] <== Army/Fleet Move in 1 Turn to Adjacent Region"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMAM",1)
getAddressList().getMemoryRecordByID(190).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMAM",0)
getAddressList().getMemoryRecordByID(190).Color = 0x00c08000
{$ASM}
229
"[X] <== Quick Exploration"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableQEN",1)
getAddressList().getMemoryRecordByID(229).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableQEN",0)
getAddressList().getMemoryRecordByID(229).Color = 0x00c08000
{$ASM}
195
"[X] <== God Mode"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableGMD",1)
getAddressList().getMemoryRecordByID(195).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableGMD",0)
getAddressList().getMemoryRecordByID(195).Color = 0x00c08000
{$ASM}
202
"[X] <== Minimum Nation Design Points"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMNP",1)
getAddressList().getMemoryRecordByID(202).Color = 0x00008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMNP",0)
getAddressList().getMemoryRecordByID(202).Color = 0x00c08000
{$ASM}
203
"Minimum Nation Design Points Value =====>"
0080FF
4 Bytes
iMinNP
314
"[X] <======================== Default Pointers ======================="
FF80FF
1
204
"[X] <========================= Ruler Info ========================="
404080
1
205
"Name"
0000FF
String
16
0
0
1
pPlayer
14
1a30
150
"Administrative Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
44
1a30
151
"Diplomatic Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
48
1a30
152
"Military Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
4c
1a30
259
"Current Legitimacy (x1000)"
FF00FF
4 Bytes
pPlayer
15c4
208
"Current Born Date ==>"
FF00FF
4 Bytes
pPlayer
70
1a30
179
"Enter desired Age ===>"
0080FF
4 Bytes
iAge
181
"New Born Date (copy it and paste on Current Born Date)"
0000FF
4 Bytes
iBornDate
206
"[X] <======================== Player Info ========================="
404080
1
207
"Country Name (<16)"
0000FF
String
16
0
0
1
pPlayer
2548
258
"Country Name (>=16)"
0000FF
String
16
0
0
1
pPlayer
0
2548
153
"Current Administrative Power ==> (x1)"
FF00FF
4 Bytes
pPlayer
110
154
"Current Diplomatic Power ==> (x1)"
FF00FF
4 Bytes
pPlayer
114
155
"Current Military Power ==> (x1)"
FF00FF
4 Bytes
pPlayer
118
156
"Current Money (Ducats) ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
4a8
404
"Current Inflation ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
ad4
263
"Current Stability ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
ad8
230
"Current Prestige ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
bb8
157
"Current Army Tradition ==> (x1000)"
FF00FF
4 Bytes
pPlayer
f48
158
"Current Navy Tradition ==> (x1000)"
FF00FF
4 Bytes
pPlayer
f4c
387
"Current Republican Tradition (x10)"
FF00FF
4 Bytes
pPlayer
15c8
163
"Current Papal Influence ==> (x1000)"
FF00FF
4 Bytes
pPlayer
1358
406
"Current Corruption ==> (x100)"
FF00FF
4 Bytes
pPlayer
10fc
209
"[X] <======================= Advisors Info ========================"
404080
1
219
"Administrative"
FF0080
1
210
"Name (Size bigger than 15)"
0000FF
String
32
0
0
1
pPlayer
0
14
0
1c78
218
"Name (Size smallerr than 16)"
0000FF
String
16
0
0
1
pPlayer
14
0
1c78
211
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
2c
0
1c78
220
"Diplomatic"
FF0080
1
260
"Name (Size bigger than 15)"
0000FF
String
32
0
0
1
pPlayer
0
14
4
1c78
261
"Name (Size smallerr than 16)"
0000FF
String
16
0
0
1
pPlayer
14
4
1c78
223
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
2c
4
1c78
224
"Military"
FF0080
1
225
"Name (Size bigger than 15)"
0000FF
String
32
0
0
1
pPlayer
0
14
8
1c78
226
"Name (Size smallerr than 16)"
0000FF
String
16
0
0
1
pPlayer
14
8
1c78
227
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
2c
8
1c78
286
"[X] <======================= Province Info ========================"
404080
1
295
"[X] <============== Current Selected Province"
0000FF
1
338
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
0
1
pProvince
de0
288
"Manpower Bonus ==> (x1000)"
FF00FF
4 Bytes
pProvince
e10
296
"Base Tax Value ==> (x1000)"
FF00FF
4 Bytes
pProvince
e14
297
"Base Production ==> (x1000)"
FF00FF
4 Bytes
pProvince
e18
289
"Culture 01 ==>"
1
FF00FF
4 Bytes
pProvince
e4c
301
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
0
1
pProvince
48
e4c
339
"Culture 02 ==>"
1
FF00FF
4 Bytes
pProvince
e50
340
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
0
1
pProvince
48
e50
298
"Religion 01 ==>"
1
FF00FF
4 Bytes
pProvince
e54
302
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
0
1
pProvince
74
e54
341
"Religion 02 ==>"
1
FF00FF
4 Bytes
pProvince
e58
342
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
0
1
pProvince
74
e58
299
"Production Item ==>"
1
FF00FF
4 Bytes
pProvince
e5c
300
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
0
1
pProvince
C
e5c
303
"[X] <============= Previous Selected Province"
0000FF
1
343
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
0
1
pProvince+04
de0
305
"Manpower Bonus ==> (x1000)"
FF00FF
4 Bytes
pProvince+04
e10
307
"Base Tax Value ==> (x1000)"
FF00FF
4 Bytes
pProvince+04
e14
306
"Base Production ==> (x1000)"
FF00FF
4 Bytes
pProvince+04
e18
308
"Culture 01 ==>"
1
FF00FF
4 Bytes
pProvince+04
e4c
309
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
0
1
pProvince+04
48
e4c
344
"Culture 02 ==>"
1
FF00FF
4 Bytes
pProvince+04
e50
345
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
0
1
pProvince+04
48
e50
310
"Religion 01 ==>"
1
FF00FF
4 Bytes
pProvince+04
e54
311
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
0
1
pProvince+04
74
e54
346
"Religion 02 ==>"
1
FF00FF
4 Bytes
pProvince+04
e58
347
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
0
1
pProvince+04
74
e58
312
"Production Item ==>"
1
FF00FF
4 Bytes
pProvince+04
e5c
313
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
0
1
pProvince+04
C
e5c
348
"[X] <==================== Last Selected Army Info ====================="
404080
1
349
"[X] <============== Valid if sieging a province"
0000FF
1
350
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
0
1
pArmy
0
d4
351
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
0
1
pArmy
d4
352
"Siege Current Phase # Days ==>"
1
FF00FF
4 Bytes
pArmy
20
7c
382
"Siege Current DieRoll ==>"
1
FF00FF
4 Bytes
pArmy
78
7C
228
"[X] <== Table/Script Information"
0000FF
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
getMainForm().CommentButton.doClick()
{$ASM}
[disable]
Recifense
20170817
===========================================
Game Title : Europa Universalis IV
Game Version : 1.22.2.0 (7645)
Game Sponsor : Vodos (game) + darkedone02 (DLC)
Proces Name : EU4.exe
Script Version: 7.4
CE Version : 6.7
Release date : 17-Aug-2017
Author : Recifense
History:
14-Aug-13: First Release
15-Aug-13: Added Change Religion cheat (s2.0)
18-Aug-13: Added protection against attrition+Culture (GM)(s3.0)
19-Aug-13: Fixed issue related with "Change Religion" (s3.1)
19-Aug-13: Release for version 1.1.1c (s3.1)
23-Aug-13: Release for version 1.1.2 (+Stability) (s4.0)
27-Aug-13: Release for version 1.1.3 (s4.0)
28-Sep-13: Release for version 1.2.0.0 (s4.0)
29-Sep-13: Release for version 1.2.1.0 (s4.0)
03-Oct-13: Release for version 1.2.2.0 (s4.0)
01-Nov-13: Release for version 1.3.0.0 (s4.0)
04-Nov-13: Release for version 1.3.1.0 (s4.0)
25-Nov-13: Release for version 1.3.2.0 (s4.0)
14-Jan-14: Release for version 1.4.0.0 (s4.0)
16-Jan-14: Fixing GM related to attrition (s4.1)
19-Jan-14: Fixing GM related to Colonization (s4.2)
20-Jan-14: Release for version 1.4.1.0 (s4.2)
01-Mar-14: Release for version 1.5.0.0 (s4.2)
03-Mar-14: Release for version 1.5.1.0 (s4.2)
08-Mar-14: Change on Quick Ownership (s4.3)
31-May-14: Release for version 1.6.1.0 (steam)
02-Jul-14: Release for version 1.6.2.0 (steam)
23-Jul-14: Release for version 1.7.0.0 (steam)
24-Jul-14: Changed Hack Point for GM7 (S4.4)
31-Jul-14: Release for version 1.7.3.0 (steam)
02-Nov-14: Release for version 1.8.0.0 (steam)
11-Nov-14: Release for version 1.8.1.0 (steam)
09-Dec-14: Release for version 1.9.0.0 (steam)
11-Dec-14: Release for version 1.9.1.0 (steam)
11-Dec-14: Release for version 1.9.2.0 (steam)
01-Mar-15: Release for version 1.10.1.0 (steam)
02-Mar-15: Adding more features
10-Mar-15: Release for version 1.11.1.0 (steam) +new feature
14-Mar-15: Release for version 1.11.3.0 (steam)
24-Mar-15: Release for version 1.11.4.0 (steam)
13-Jun-15: Release for version 1.12.1.0 (steam)(s7.0)
18-Jun-15: Release for version 1.12.2.0 (steam)(s7.0)
03-Sep-15: Release for version 1.13.1.0 (steam)
28-Oct-15: Release for version 1.13.2.0 (steam)
04-Dec-15: Release for version 1.14.2.0 (steam)
05-Dec-15: Fix for God Mode (during siege) s7.1
08-Dec-15: Release for version 1.14.2.0-41a0 (steam)
11-Dec-15: Release for version 1.14.3.0-f611
04-Jan-16: Release for version 1.14.4.0-e1a1
30-Jan-16: Release for version 1.15.0.0-e5f7
01-Feb-16: Release for version 1.15.1.0-8ad5
09-Apr-16: Release for version 1.16.2.0-3a8e
15-Apr-16: Release for version 1.16.3.0-6227
16-May-16: Release for version 1.17.0.0-f236
10-Jun-16: Release for version 1.17.1.0-6704
16-Oct-16: Release for version 1.18.3.0-9198
18-Oct-16: Fix for Full Sailors (s7.3)
30-Oct-16: Release for version 1.18.4.0-f968
24-Nov-16: Release for version 1.19.1.0-fa37
30-Nov-16: Release for version 1.19.2.0-7dd8
07-Apr-17: Release for version 1.20.0.0-072a
11-Apr-17: Release for version 1.20.1.0-07f1
25-Apr-17: Release for version 1.21.0.0-bbec
27-Apr-17: Release for version 1.21.1.0-63a8
16-Jun-17: Release for version 1.22.0.0-b6eb (CE67)(S74)
20-Jun-17: Release for version 1.22.1.0-3d00
17-Aug-17: Release for version 1.22.2.0-7645
Features:
- Minimum Ducats [1]
- Full Manpower [2]
- Minimum Stability (s40)
- Minimum Prestige [3]
- Minimum Power: [4]
- Administrative
- Diplomatic
- Military
- Minimum Army/Navy Tradition [6]
- Minimum Mercantilism [7]
- Minimum Legitimacy [8]
- Move to adjacent area in 1 turn [A]
- Tasks in 1 turn: [B]
- Recruitment
- Production
- Construction
- Culture
- Make Core
- Colonization in 1 turn [C] (**)
- Blessed Province: [D] (*)
- Minimum Trade Power
- Minimum ManPower Bonus
- Quick Province Ownership [E] (*)
- God Mode: [F]
- Army
- Fleet
- Garrison (Province)
- Assault
- Attrition (s30)
- No Native [G] (*)
- Full Garrison [H] (*)
- Change Religion [I] (*)
- Change Culture (s30) [J] (*)
- No Decay (s45) [K]
- Minimum Nation Points (s50) [L]
- Quick Exploration (new) [M]
- pointers
===========================================
[1] It will not go under 67000;
[2] That's it;
[3] It will not go under 90;
[4] It will not go under Maximum-4;
[6] It will not go under 67;
[7] It will not go under 30%;
[8] It will not go under 90%;
[A] Army and Fleet;
[B] That's it;
[C] That's it;
[D] Global Trade power will not go under 50 ...
... and Manpower will not go under 5000;
[E] Conquer the province and it will be yours;
[F] That's it;
[G] That's it;
[H] It will be set to full capacity;
[I] It will be set to player's main religion;
[J] It will be set to player's main culture;
[K] No decay for Human player;
[L] Minimum value is 400;
[M] Region Exploration in 1 Turn;
(*) The province should be selected in order to work;
(**)It will only change into a province when the month changes;
===========================================
[USAGE]
1) Run CE67 or greater;
2) Run Game;
3) Load the game process "EU4.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:
None pre-defined
===========================================
[IMPORTANT]
Save your game before unsing the cheats.
===========================================
[INFO]
Tested on Win 10 64bits
===========================================
Cheers!