127
"[X] <== Europa Universalis IV v1.19.1.0 (fa37) Steam Script 7.3"
FF0000
Auto Assembler Script
{
===========================================
Game Title : Europa Universalis IV
Game Version : 1.19.1.0 (fa37)
Game Sponsor : Vodos (an official retail serial) + darkedone02 (DLC)
Proces Name : EU4.exe
Script Version: 7.3
CE Version : 6.6
Release date : 24-Nov-2016
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
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.6) then
ShowMessage('Sorry. CE version should be 6.6 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+0028d5e6) //25=#===#===#=#=#=#==
define(MPRS,EU4.exe+007e0527) //25=#=#=#===#=#=#=X=#
define(MSPE,EU4.exe+00b52f55) //25=#===#===#=#===#=#
define(MSAY,EU4.exe+00be6a11) //25=#===#=====#===#==
define(MAMP,EU4.exe+0078ae6c) //25=#===#=#=#=#===#==
define(MRPC,EU4.exe+00122b9d) //25=====#===#========
define(MCPS,EU4.exe+005e2a0d) //25=#===#===#=====#==
define(MPGN,EU4.exe+005ec609) //25=#===#===#=#===X=#
define(MPVE,EU4.exe+00218cee) //25=====#===#=#=#=#=#
define(MOCD,EU4.exe+006b3c85) //25=#===#===#=#=#=#==
define(GMD1,EU4.exe+006550f5) //25=#=========#===#==
define(GMD3,EU4.exe+001093d8) //25=#=#=#===#=#=#=X=#
define(GMD4,EU4.exe+005e0a80) //25=#===#===#=====#==
define(GMD5,EU4.exe+00790843) //25=#===#=====#===#==
define(GMD6,EU4.exe+000e872f) //25=#===#=====#===#=#
define(GMD8,EU4.exe+00787cc6) //25=#===#=====#===X==
define(MOEN,EU4.exe+0054fea2) //25=#=#=#=====#=#====
define(MEN2,EU4.exe+0054ffdb) //25=#===#=====#======
define(MONP,EU4.exe+0028d593) //25==================
//=========================================
[ENABLE]
//=========================================
//LuaCall(CheckVersion())
//=========================================
// Check if script is compatible to this game version
// If false the script will not be loaded
assert(MHPR,80 b9 22 19 00 00 06 ?? ?? 66 83 b9 28 19 00 00 00 8d 81 24 19 00)
assert(MPRS,8b 9a 30 01 00 00 8b 50 70 ff d2 8b 08 0f bf 50 04 a1 ?? ?? ?? ??)
assert(MSPE,8b 80 04 11 00 00 56 33 f6 57 bf 10 00 00 00 3b 83 7c 09 00 00 ??)
assert(MSAY,8b 53 2c 8b 72 20 2b 72 1c 8b 10 8b c8 8b 42 28 c1 fe 02 ff d0 3b f0)
assert(MAMP,39 83 d8 00 00 00 0f 8c ?? ?? ?? ?? 8b 4d 88 39 4b 64 ?? ?? 80 3d)
assert(MRPC,8b 5f 18 c1 fa 02 69 db e8 03 00 00 8b f2 c1 ee 1f 03 f2 8b 57 10)
assert(MCPS,39 86 20 0f 00 00 ?? ?? 85 db ?? ?? b8 ?? ?? ?? ?? 8d 75 d8 e8 ??)
assert(MPGN,8b 80 ac 01 00 00 8b 88 04 03 00 00 b8 d3 4d 62 10 f7 e9 c1 fa 06)
assert(MPVE,69 ff e8 03 00 00 80 b8 54 1a 00 00 00 ?? ?? 8b 80 44 1a 00 00 8b)
assert(MOCD,8b 90 a0 18 00 00 81 EA C0 55 9C 02 b8 ab aa aa 2a f7 ea c1 fa 02)
assert(GMD1,8b 46 20 29 46 18 8b 46 1c 39 46 24 ?? ?? 89 46 24 8b 4e 24 29 4e 1c)
assert(GMD3,2b 84 24 84 00 00 00 89 7b 18 3b c1 0f 4c c1 89 43 1c 8b 42 14 01)
assert(GMD4,89 8f 28 0f 00 00 5f 8b e5 5d c2 04 00 cc cc cc ?? ?? ?? ?? ?? ??)
assert(GMD5,0f 4c f0 89 73 18 8b 74 24 28 83 7d 18 00 8b 7c 24 14 0f 84 ?? ??)
assert(GMD6,0f 4c f8 89 7e 18 83 45 ec 04 8b 45 ec 8b 4d 08 e9 ?? ?? ?? ?? 8b)
assert(GMD8,89 7b 18 8b 13 8b 52 38 8d 44 24 38 50 8b cb ff d2 8b 00 f7 ee 6a 00)
assert(MOEN,81 7b 1c a0 86 01 00 ?? ?? a1 ?? ?? ?? ?? 8b 0d ?? ?? ?? ?? 3b c1)
assert(MEN2,81 79 1c a0 86 01 00 ?? ?? a1 ?? ?? ?? ?? 8b 15 ?? ?? ?? ?? 3b c2)
assert(MONP,69 c0 e8 03 00 00 f7 e9 6a 00 68 e8 03 00 00 52 50 e8 ?? ?? ?? ??)
//=========================================
alloc(MyCode,4096,$process)
//=========================================
// Declaration section
label(_MonHumanPlayer)
label(_BackMHP)
label(_ExitMHP)
label(_MonPlayerResources)
label(_MonPR00)
label(_MonPR10)
label(_MonPR01)
label(_MonPR02)
label(_MonPR03)
label(_MonPR13)
label(_MonPR04)
label(_MonPR05)
label(_MonPR06)
label(_MonPR07)
label(_MonPR08)
label(_MonPR09)
label(_BackMPR)
label(_ExitMPR)
label(_MonSelProvince)
label(_MonSP0Z)
label(_MonSP0Q)
label(_MonSP00)
label(_MonSP01)
label(_MonSP11)
label(_MonSP02)
label(_MonSP03)
label(_BackMSP)
label(_ExitMSP)
label(_MonSelArmy)
label(_BackMSA)
label(_ExitMSA)
label(_MonArmyMP)
label(_BackMAM)
label(_ExitMAM)
label(_MonRecProdConst)
label(_BackMRP)
label(_ExitMRP)
label(_MonColonizationProg)
label(_BackMCP)
label(_ExitMCP)
label(_MonProvinceGarrison)
label(_BackMPG)
label(_ExitMPG)
label(_MonPowerValue)
label(_BackMPV)
label(_ExitMPV)
label(_MonCurDate)
label(_BackMCD)
label(_ExitMCD)
label(_GodMode1)
label(_BackGM1)
label(_ExitGM1)
label(_GodMode3)
label(_BackGM3)
label(_ExitGM3)
label(_GodMode4)
label(_BackGM4)
label(_ExitGM4)
label(_GodMode5)
label(_BackGM5)
label(_ExitGM5)
label(_GodMode6)
label(_BackGM6)
label(_ExitGM6)
label(_GodMode8)
label(_BackGM8)
label(_ExitGM8)
label(_MonExploration)
label(_BackMEN)
label(_ExitMEN)
label(_MonExploration2)
label(_BackME2)
label(_ExitME2)
label(_MonNationPoints)
label(_BackMNP)
label(_ExitMNP)
label(_FindStatusAddress)
label(_FindSA0)
label(_FindSA1)
label(_ExitFSA)
label(pPlayer)
label(pProvince)
label(pArmy)
label(pReligion)
label(pCulture)
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(pGame)
label(aLast)
//=========================================
// Registering Symbols
registersymbol(MyCode)
registersymbol(pPlayer)
registersymbol(pProvince)
registersymbol(pArmy)
registersymbol(pReligion)
registersymbol(pCulture)
registersymbol(iPlayerID)
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(iMinNP)
registersymbol(iCurDate)
registersymbol(iAge)
registersymbol(iBornDate)
registersymbol(pGame)
registersymbol(aLast)
//=========================================
MyCode:
//========================================= 1.18.3.0
// This code finds out Player ID
_MonHumanPlayer:
push eax
mov eax,[ecx+00001920] // Get player ID
mov [iPlayerID],eax // Save it for further use
_ExitMHP:
pop eax
cmp byte ptr [ecx+00001922],06 // Original code
jmp _BackMHP // Back to main code
//=========================================
align 10,cc
//========================================= 1.19.1.0 (NHP s7.3)
// main game window
_MonPlayerResources:
mov dword ptr [aLast],'_MPR'
push eax
push ebx
push ecx
push edx
push esi
push edi
mov ecx,edx // 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+00001264] // Get Religion
mov [pReligion],eax // Save pointer for debugging
mov eax,[ecx+000018e0] // Get Culture
mov [pCulture],eax // Save pointer for debugging
// Ducats
cmp dword ptr [iEnableMMD],0
je _MonPR00 // Jump if feature is disabled
mov eax,#66000000 // Get minimum value (66000)
cmp eax,[ecx+000004fc] // Currrent Ducats >= 66000?
jle _MonPR00 // Jump if true
mov [ecx+000004fc],eax // Make Ducats = 65000
// Manpower
_MonPR00:
cmp dword ptr [iEnableFMP],0
je _MonPR10 // Jump if feature is disabled
mov eax,[ecx+00000c6c] // Get maximum Manpower
mov [ecx+00000c68],eax // Make Manpower = Max
mov eax,[ecx+00000c74] // Get maximum Sailors
cmp eax,[ecx+00000c70]
js _MonPR10
mov [ecx+00000c70],eax // Make Sailors = Max
// Stability
_MonPR10:
cmp dword ptr [iEnableMMS],0
je _MonPR01 // Jump if feature is disabled
mov eax,#3660 // Minimum Stability (3.66)
cmp eax,[ecx+0000096c]
js _MonPR01
mov [ecx+0000096c],eax // Make Stability = 3.66
// Prestige
_MonPR01:
cmp dword ptr [iEnableMMP],0
je _MonPR02 // Jump if feature is disabled
mov eax,#90000 // Minimum Prestige
cmp eax,[ecx+00000aa4]
js _MonPR02
mov [ecx+00000aa4],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+00000130] // Administrative Power
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000130],ebx
mov ebx,[ecx+00000134] // Diplomatic Power
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000134],ebx
mov ebx,[ecx+00000138] // Military Power
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000138],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,#66000 // Minimum value
mov ebx,[ecx+00000e40] // Army
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000e40],ebx
mov ebx,[ecx+00000e44] // Naval
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000e44],ebx
// Mercantilism
_MonPR05:
cmp dword ptr [iEnableMER],0
je _MonPR06 // Jump if feature is disabled
mov eax,#36600 // Minimum value
mov ebx,[ecx+000014bc]
cmp ebx,eax
cmovs ebx,eax
mov [ecx+000014bc],ebx
// Legitimacy
_MonPR06:
cmp dword ptr [iEnableLEG],0
je _MonPR07 // Jump if feature is disabled
mov eax,#90000 // Minimum value
mov ebx,[ecx+00001424]
test ebx,ebx
jz _MonPR07 // jump if republic
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00001424],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+00001a44] // General Status
test ebx,ebx
jz _MonPR09
lea ebx,[ecx+00001a44]
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 ebx,[edx+00000130] // Original code (Get RP)
jmp _BackMPR // Back to main code
//=========================================
align 10,cc
//========================================= 1.18.3.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+00000f6c] // Conquerer iID (2)
cmp ebx,[iPlayerID]
jne _MonSP0Q
mov ecx,[eax+00000f80] // pointer to 1st claimer
test ecx,ecx
jz _MonSP0Q
mov ebx,[eax+00000f68] // Conquerer aID
mov [eax+00000f60],ebx // (1)
mov [ecx+08],ebx
mov ebx,[eax+00000f6c] // Conquerer iID (2)
mov [eax+00000f64],ebx // (1)
mov [ecx+0c],ebx
_MonSP0Q:
mov ebx,[eax+00000f64]
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+00001104]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00001104],ebx
//Manpower Bonus
mov ecx,#6000
mov ebx,[eax+00000f08]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000f08],ebx
//Base Tax Value
mov ebx,[eax+00000f0c]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000f0c],ebx
//Base Production
mov ebx,[eax+00000f10]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000f10],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+00000f4c],ebx
mov [eax+00000f50],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+00000f44],ebx
mov [eax+00000f48],ebx
// No Natives
_MonSP01:
cmp dword ptr [iEnableNNE],0
je _MonSP02 // Jump if feature is disabled
xor ebx,ebx
mov [eax+00001014],ebx
mov [eax+00001018],ebx
mov [eax+0000101c],ebx
//Quick Onwership
_MonSP02:
cmp dword ptr [iEnableQOS],0
je _MonSP03 // Jump if feature is disabled
mov ebx,[eax+00000f60]
mov [eax+00000f68],ebx
mov ebx,[eax+00000f64]
mov [eax+00000f6c],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+00001104] // Original code (trade power)
jmp _BackMSP // Back to main code
//=========================================
align 10,cc
//========================================= 1.18.3.0 *
// Selected Army
_MonSelArmy:
mov edx,[ebx+2C] // Original code
mov [pArmy],edx
_ExitMSA:
mov esi,[edx+20] // Original code
jmp _BackMSA // Back to main code
//=========================================
align 10,cc
//========================================= 1.18.3.0 *
// During Turn
_MonArmyMP:
mov dword ptr [aLast],'_MAM'
push ecx
cmp dword ptr [iEnableMAM],0
je _ExitMAM // Jump if feature is disabled
mov ecx,[ebx+00000094]
cmp ecx,[iPlayerID]
jne _ExitMAM
mov [ebx+000000d8],eax
_ExitMAM:
pop ecx
cmp [ebx+000000D8],eax // Original code
jmp _BackMAM // Back to main code
//=========================================
align 10,cc
//========================================= 1.15.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 ebx,[edi+30]
cmp ebx,[iPlayerID]
jne _ExitMRP
mov dword ptr [edi+18],00
_ExitMRP:
mov ebx,[edi+18] // Original code (rds #days)
sar edx,02 // Original code
jmp _BackMRP // Back to main code
//=========================================
align 10,cc
//========================================= 1.18.3.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,[esi+00000f64]
cmp edi,[iPlayerID]
jne _ExitMCP
mov edi,#1000000
cmp edi,[esi+00000f20]
js _ExitMCP
mov [esi+00000f20],edi
_ExitMCP:
pop edi
cmp [esi+00000f20],eax // Original code (settlers)
jmp _BackMCP // Back to main code
//=========================================
align 10,cc
//========================================= 1.19.1.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+00000f64]
cmp edx,[iPlayerID]
jne _ExitMPG
mov edx,[eax+000001ac]
mov edx,[edx+00000304]
imul edx,edx,000003e8
mov [eax+00000f28],edx
_ExitMPG:
pop edi
pop edx
mov eax,[eax+000001AC] // Original code (pProvinceStatus)
jmp _BackMPG // Back to main code
//=========================================
align 10,cc
//========================================= 1.16.2.0 ok
// Find out Max Power
_MonPowerValue:
mov [iMaxPower],edi
_ExitMPV:
imul edi,edi,000003E8 // Original code
jmp _BackMPV // Back to main code
//=========================================
align 10,cc
//========================================= 1.18.3.0 *
// At main game screen
_MonCurDate:
push ebx
push ecx
mov edx,[eax+000018a0] // 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
//=========================================
align 10,cc
//========================================= 1.18.3.0 *
// 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,#66000
mov [esi+1c],eax
_ExitGM1:
mov eax,[esi+20] // Original code
sub [esi+18],eax // Original code
jmp _BackGM1 // Back to main code
//=========================================
align 10,cc
//========================================= 1.19.1.0 *
// During Assault (attacker)
_GodMode3:
mov dword ptr [aLast],'_GM3'
cmp dword ptr [iEnableGMD],0
je _ExitGM3 // Jump if feature is disabled
push eax
mov eax,[ebx+38]
cmp eax,[iPlayerID]
pop eax
jne _ExitGM3
xor edi,edi
mov [ebx+20],edi
mov [ebx+24],edi
mov [esp+00000084],edi
mov edi,#1000
cmp eax,[ebx+1c]
jns _ExitGM3
mov eax,[ebx+1c]
_ExitGM3:
sub eax,[esp+00000084] // Original code
jmp _BackGM3 // Back to main code
//=========================================
align 10,cc
//========================================= 1.18.3.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,[edi+00000f64]
cmp ebx,[iPlayerID]
jne _ExitGM4
cmp ecx,[edi+00000f28]
jge _ExitGM4
mov ecx,[edi+00000f28]
_ExitGM4:
pop ebx
mov [edi+00000F28],ecx // Original code (set garrison)
jmp _BackGM4 // Back to main code
//=========================================
align 10,cc
//========================================= 1.18.3.0
// During Assault (attacker)
_GodMode5:
mov dword ptr [aLast],'_GM5'
push ecx
cmovl esi,eax // Original code
cmp dword ptr [iEnableGMD],0
je _ExitGM5 // Jump if feature is disabled
mov ecx,[ebx+38]
cmp ecx,[iPlayerID]
jne _ExitGM5
xor ecx,ecx
mov [ebx+20],ecx
mov [ebx+24],ecx
mov esi,#1000
mov eax,esi
_ExitGM5:
pop ecx
mov [ebx+18],esi // Original code
jmp _BackGM5 // Back to main code
//=========================================
align 10,cc
//========================================= 1.18.3.0
// Just for precaution
_GodMode6:
mov dword ptr [aLast],'_GM6'
push ebx
cmovl edi,eax // Original code
cmp dword ptr [iEnableGMD],0
je _ExitGM6 // Jump if feature is disabled
mov ebx,[esi+38]
cmp ebx,[iPlayerID]
jne _ExitGM6
xor ebx,ebx
mov [esi+20],ebx
mov [esi+24],ebx
mov edi,#1000
mov eax,edi
_ExitGM6:
pop ebx
mov [esi+18],edi // Original code
jmp _BackGM6 // Back to main code
//=========================================
align 10,cc
//========================================= 1.18.3.0 NHP
// During Assault (attrition)
_GodMode8:
mov dword ptr [aLast],'_GM8'
cmp dword ptr [iEnableGMD],0
je _ExitGM8 // Jump if feature is disabled
mov edx,[ebx+38]
cmp edx,[iPlayerID]
jne _ExitGM8
xor ecx,ecx
mov [ebx+20],ecx
mov [ebx+24],ecx
mov edi,#1000
_ExitGM8:
mov [ebx+18],edi // Original code
mov edx,[ebx] // Original code
jmp _BackGM8 // Back to main code
//=========================================
align 10,cc
//========================================= 1.17.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,[edi+00000094]
cmp ecx,[iPlayerID]
jne _ExitMEN
mov dword ptr [ebx+1c],000186A0
_ExitMEN:
pop ecx
cmp [ebx+1C],000186A0 // Original code
jmp _BackMEN // Back to main code
//=========================================
align 10,cc
//========================================= 1.16.2.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,[edi+00000094]
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
//=========================================
align 10,cc
//========================================= 1.12.1.0 ok
// When creating a nation (Minimum Nation Points)
_MonNationPoints:
mov dword ptr [aLast],'_MNP'
cmp dword ptr [iEnableMNP],0
je _ExitMNP // Jump if feature is disabled
cmp eax,[iMinNP]
jns _ExitMNP
mov eax,[iMinNP]
_ExitMNP:
imul eax,eax,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.6 Script by Recifense 112416'
//=========================================
// 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 #634
iMinNP:
dd #400
iCurDate:
dd 0
iAge:
dd #40
iBornDate:
dd 0
pGame:
dd 0
aLast:
db 'CE66'
//=========================================
// 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
_BackMRP:
MCPS:
jmp _MonColonizationProg
nop
_BackMCP:
MPGN:
jmp _MonProvinceGarrison
nop
_BackMPG:
MPVE:
jmp _MonPowerValue
nop
_BackMPV:
MOCD:
jmp _MonCurDate
nop
_BackMCD:
GMD1:
jmp _GodMode1
nop
_BackGM1:
GMD3:
jmp _GodMode3
nop
nop
_BackGM3:
GMD4:
jmp _GodMode4
nop
_BackGM4:
GMD5:
jmp _GodMode5
nop
_BackGM5:
GMD6:
jmp _GodMode6
nop
_BackGM6:
GMD8:
jmp _GodMode8
_BackGM8:
MOEN:
jmp _MonExploration
db 90 90
_BackMEN:
MEN2:
jmp _MonExploration2
db 90 90
_BackME2:
MONP:
jmp _MonNationPoints
nop
_BackMNP:
//=========================================
// Script for Restoring Original Codes
[DISABLE]
MHPR:
// cmp byte ptr [ecx+00001922],06
db 80 b9 22 19 00 00 06
MPRS:
// mov ebx,[edx+00000130]
db 8b 9a 30 01 00 00
MSPE:
// mov eax,[eax+00001104]
db 8b 80 04 11 00 00
MSAY:
// mov edx,[ebx+2C]
// mov esi,[edx+20]
db 8b 53 2c 8b 72 20
MAMP:
// cmp [ebx+000000D8],eax
db 39 83 d8 00 00 00
MRPC:
// mov ebx,[edi+18]
// sar edx,02
db 8b 5f 18 c1 fa 02
MCPS:
// cmp [esi+00000F20],eax
db 39 86 20 0f 00 00
MPGN:
// mov eax,[eax+000001AC]
db 8b 80 ac 01 00 00
MPVE:
// imul edi,edi,000003E8
db 69 ff e8 03 00 00
MOCD:
// mov edx,[eax+000018A0]
db 8b 90 a0 18 00 00
GMD1:
// mov eax,[esi+20]
// sub [esi+18],eax
db 8b 46 20 29 46 18
GMD3:
// sub eax,[esp+00000084]
db 2b 84 24 84 00 00 00
GMD4:
// mov [edi+00000F28],ecx
db 89 8f 28 0f 00 00
GMD5:
// cmovl esi,eax
// mov [ebx+18],esi
db 0f 4c f0 89 73 18
GMD6:
// cmovl edi,eax
// mov [esi+18],edi
db 0f 4c f8 89 7e 18
GMD8:
// mov [ebx+18],edi
// mov edx,[ebx]
db 89 7b 18 8b 13
MOEN:
// cmp [ebx+1C],000186A0
db 81 7b 1c a0 86 01 00
MEN2:
// cmp [ecx+1C],000186A0
db 81 79 1c a0 86 01 00
MONP:
// imul eax,eax,000003E8
db 69 c0 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
1
pPlayer
14
18f8
150
"Administrative Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
68
18f8
151
"Diplomatic Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
6c
18f8
152
"Military Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
70
18f8
259
"Current Legitimacy (x1000)"
FF00FF
4 Bytes
pPlayer
1424
208
"Current Born Date ==>"
FF00FF
4 Bytes
pPlayer
98
18f8
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
1
pPlayer
2564
258
"Country Name (>=16)"
0000FF
String
16
0
1
pPlayer
0
2564
153
"Current Administrative Power ==> (x1)"
FF00FF
4 Bytes
pPlayer
130
154
"Current Diplomatic Power ==> (x1)"
FF00FF
4 Bytes
pPlayer
134
155
"Current Military Power ==> (x1)"
FF00FF
4 Bytes
pPlayer
138
156
"Current Money (Ducats) ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
4fc
404
"Current Inflation ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
968
263
"Current Stability ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
96c
230
"Current Prestige ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
aa4
157
"Current Army Tradition ==> (x1000)"
FF00FF
4 Bytes
pPlayer
e40
158
"Current Navy Tradition ==> (x1000)"
FF00FF
4 Bytes
pPlayer
e44
387
"Current Republican Tradition (x10)"
FF00FF
4 Bytes
pPlayer
1428
163
"Current Papal Influence ==> (x1000)"
FF00FF
4 Bytes
pPlayer
1274
406
"Current Corruption ==> (x100)"
FF00FF
4 Bytes
pPlayer
ffc
209
"[X] <======================= Advisors Info ========================"
404080
1
219
"Administrative"
FF0080
1
210
"Name (Size bigger than 15)"
0000FF
String
32
0
1
pPlayer
0
14
0
1B2c
218
"Name (Size smallerr than 16)"
0000FF
String
16
0
1
pPlayer
14
0
1B2c
211
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
30
0
1B2c
220
"Diplomatic"
FF0080
1
260
"Name (Size bigger than 15)"
0000FF
String
32
0
1
pPlayer
0
14
4
1B2c
261
"Name (Size smallerr than 16)"
0000FF
String
16
0
1
pPlayer
14
4
1B2c
223
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
30
4
1B2c
224
"Military"
FF0080
1
225
"Name (Size bigger than 15)"
0000FF
String
32
0
1
pPlayer
0
14
8
1B2c
226
"Name (Size smallerr than 16)"
0000FF
String
16
0
1
pPlayer
14
8
1B2c
227
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
30
8
1B2c
286
"[X] <======================= Province Info ========================"
404080
1
295
"[X] <============== Current Selected Province"
0000FF
1
287
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pProvince
110
16c
338
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pProvince
ECC
288
"Manpower Bonus ==> (x1000)"
FF00FF
4 Bytes
pProvince
F08
296
"Base Tax Value ==> (x1000)"
FF00FF
4 Bytes
pProvince
F0c
297
"Base Production ==> (x1000)"
FF00FF
4 Bytes
pProvince
F10
289
"Culture 01 ==>"
1
FF00FF
4 Bytes
pProvince
f44
301
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince
50
f44
339
"Culture 02 ==>"
1
FF00FF
4 Bytes
pProvince
f48
340
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince
50
f48
298
"Religion 01 ==>"
1
FF00FF
4 Bytes
pProvince
f4c
302
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince
60
f4c
341
"Religion 02 ==>"
1
FF00FF
4 Bytes
pProvince
f50
342
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince
60
f50
299
"Production Item ==>"
1
FF00FF
4 Bytes
pProvince
f54
300
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince
C
f54
303
"[X] <============= Previous Selected Province"
0000FF
1
304
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pProvince+04
110
16c
343
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pProvince+04
ECC
305
"Manpower Bonus ==> (x1000)"
FF00FF
4 Bytes
pProvince+04
F08
307
"Base Tax Value ==> (x1000)"
FF00FF
4 Bytes
pProvince+04
F0c
306
"Base Production ==> (x1000)"
FF00FF
4 Bytes
pProvince+04
F10
308
"Culture 01 ==>"
1
FF00FF
4 Bytes
pProvince+04
f44
309
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince+04
50
f44
344
"Culture 02 ==>"
1
FF00FF
4 Bytes
pProvince+04
f48
345
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince+04
50
f48
310
"Religion 01 ==>"
1
FF00FF
4 Bytes
pProvince+04
f4c
311
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince+04
60
f4c
346
"Religion 02 ==>"
1
FF00FF
4 Bytes
pProvince+04
f50
347
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince+04
60
f50
312
"Production Item ==>"
1
FF00FF
4 Bytes
pProvince+04
f54
313
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince+04
C
f54
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
1
pArmy
0
ec
351
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pArmy
ec
352
"Siege Current Phase # Days ==>"
1
FF00FF
4 Bytes
pArmy
20
8c
382
"Siege Current DieRoll ==>"
1
FF00FF
4 Bytes
pArmy
78
8C
228
"[X] <== Table/Script Information"
0000FF
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
getMainForm().CommentButton.doClick()
{$ASM}
[disable]
Recifense
20161124
===========================================
Game Title : Europa Universalis IV
Game Version : 1.19.1.0 (fa37)
Game Sponsor : Vodos (an official retail serial) + darkedone02 (DLC)
Proces Name : EU4.exe
Script Version: 7.3
CE Version : 6.6
Release date : 24-Nov-2016
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
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 65000;
[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 64;
[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 CE65;
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!