127
"[X] <== Europa Universalis IV v1.21.1.0 (63a8) Steam Script 7.3"
FF0000
Auto Assembler Script
{
===========================================
Game Title : Europa Universalis IV
Game Version : 1.21.1.0 (63a8)
Game Sponsor : Vodos (game) + darkedone02 (DLC)
Proces Name : EU4.exe
Script Version: 7.3
CE Version : 6.6
Release date : 27-Apr-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
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.5) then
ShowMessage('Sorry. CE version should be 6.5 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+00348ff5) //40#===#=#=
define(MPRS,EU4.exe+007ede4c) //40X=#=#=#=
define(MSPE,EU4.exe+00b2d489) //40#=#=#=#=
define(MSAY,EU4.exe+00bb335d) //40#===#===
define(MAMP,EU4.exe+007a068f) //40#===#=#=
define(MRPC,EU4.exe+001f5699) //40====#===
define(MCPS,EU4.exe+006274c6) //40#===#===
define(MPGN,EU4.exe+00b2cd43) //40X=#=X=#=
define(MOCD,EU4.exe+006f3225) //40#===#===
define(GMD1,EU4.exe+0068ec73) //40#===#===
define(GMD3,EU4.exe+001e26db) //40X=#=X===
define(GMD4,EU4.exe+00625e28) //40#===#===
define(GMD5,EU4.exe+00182dcd) //40#===#===
define(GMD8,EU4.exe+0079dbb9) //40X===X===
define(MOEN,EU4.exe+005a5263) //40====#===
define(MEN2,EU4.exe+005a53b6) //40====#===
define(MONP,EU4.exe+00348fb6) //40====X===
//=========================================
[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)
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 44 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)
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 88 0d 00 00 e7 03 00 00 0f 9d c0 84 c0 ?? ?? 8b 75 0c 85 f6)
assert(MPGN,8b 80 90 0d 00 00 39 83 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 90 0d 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(_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(_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(_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.21.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.21.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+00001294] // Get Religion
mov [pReligion],eax // Save pointer for debugging
mov eax,[ecx+00001960] // 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+00000494] // Currrent Ducats >= 66000?
jle _MonPR00 // Jump if true
mov [ecx+00000494],eax // Make Ducats = 65000
// Manpower
_MonPR00:
cmp dword ptr [iEnableFMP],0
je _MonPR10 // Jump if feature is disabled
mov eax,[ecx+00000cc8] // Get maximum Manpower
mov [ecx+00000cc4],eax // Make Manpower = Max
mov eax,[ecx+00000cd0] // Get maximum Sailors
cmp eax,[ecx+00000ccc]
js _MonPR10
mov [ecx+00000ccc],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+00000a28]
js _MonPR01
mov [ecx+00000a28],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+00000b04]
js _MonPR02
mov [ecx+00000b04],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,#66000 // Minimum value
mov ebx,[ecx+00000e94] // Army
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000e94],ebx
mov ebx,[ecx+00000e98] // Naval
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00000e98],ebx
// Mercantilism
_MonPR05:
cmp dword ptr [iEnableMER],0
je _MonPR06 // Jump if feature is disabled
mov eax,#36600 // Minimum value
mov ebx,[ecx+000015a0]
cmp ebx,eax
cmovs ebx,eax
mov [ecx+000015a0],ebx
// Legitimacy
_MonPR06:
cmp dword ptr [iEnableLEG],0
je _MonPR07 // Jump if feature is disabled
mov eax,#90000 // Minimum value
mov ebx,[ecx+00001508]
test ebx,ebx
jz _MonPR07 // jump if republic
cmp ebx,eax
cmovs ebx,eax
mov [ecx+00001508],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+00001a94] // General Status
test ebx,ebx
jz _MonPR09
lea ebx,[ecx+00001a94]
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.21.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+00000dd4] // Conquerer iID (2)
cmp ebx,[iPlayerID]
jne _MonSP0Q
mov ecx,[eax+00000de8] // pointer to 1st claimer
test ecx,ecx
jz _MonSP0Q
mov ebx,[eax+00000dd0] // Conquerer aID
mov [eax+00000dc8],ebx // (1)
mov [ecx+08],ebx
mov ebx,[eax+00000dd4] // Conquerer iID (2)
mov [eax+00000dcc],ebx // (1)
mov [ecx+0c],ebx
_MonSP0Q:
mov ebx,[eax+00000dcc]
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+00000f44]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000f44],ebx
//Manpower Bonus
mov ecx,#6000
mov ebx,[eax+00000d70]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000d70],ebx
//Base Tax Value
mov ebx,[eax+00000d74]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000d74],ebx
//Base Production
mov ebx,[eax+00000d78]
cmp ebx,ecx
cmovs ebx,ecx
mov [eax+00000d78],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+00000db4],ebx
mov [eax+00000db8],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+00000dac],ebx
mov [eax+00000db0],ebx
// No Natives
_MonSP01:
cmp dword ptr [iEnableNNE],0
je _MonSP02 // Jump if feature is disabled
xor ebx,ebx
mov [eax+00000e64],ebx
mov [eax+00000e68],ebx
mov [eax+00000e6c],ebx
//Quick Onwership
_MonSP02:
cmp dword ptr [iEnableQOS],0
je _MonSP03 // Jump if feature is disabled
mov ebx,[eax+00000dc8]
mov [eax+00000dd0],ebx
mov ebx,[eax+00000dcc]
mov [eax+00000dd4],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+00000F44] // 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.21.0.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.20.0.0 ok
// 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+00000dcc]
cmp edi,[iPlayerID]
jne _ExitMCP
mov edi,#1000000
cmp edi,[ecx+00000d88]
js _ExitMCP
mov [ecx+00000d88],edi
_ExitMCP:
pop edi
cmp [ecx+00000D88],000003E7 // Original code (settlers)
jmp _BackMCP // Back to main code
//========================================= 1.21.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+00000dcc]
cmp edx,[iPlayerID]
jne _ExitMPG
mov edx,[eax+00000174]
test edx,edx
jz _ExitMPG
mov edx,[edx+00000304]
imul edx,edx,000003e8
mov [eax+00000d90],edx
_ExitMPG:
pop edi
pop edx
mov eax,[eax+00000D90] // 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,#66000
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,#66000
cmp [edx+1c],eax
jns _ExitGM3
mov [edx+1c],eax
_ExitGM3:
jmp _BackGM3 // Back to main code
//========================================= 1.20.0.0 ok
// 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+00000dcc]
cmp ebx,[iPlayerID]
jne _ExitGM4
cmp ecx,[esi+00000d90]
jge _ExitGM4
mov ecx,[esi+00000d90]
_ExitGM4:
pop ebx
mov [esi+00000D90],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
//========================================= 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
//=========================================
db '===============================>'
db 'CE6.6 Script by Recifense 042717'
//=========================================
// 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 '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
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+00000F44]
db 8b 80 44 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+00000D88],000003E7
db 81 b9 88 0d 00 00 e7 03 00 00
MPGN:
// mov eax,[eax+00000D90]
db 8b 80 90 0d 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+00000D90],ecx
db 89 8e 90 0d 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
1
pPlayer
14
1978
150
"Administrative Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
44
1974
151
"Diplomatic Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
48
1974
152
"Military Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
4c
1974
259
"Current Legitimacy (x1000)"
FF00FF
4 Bytes
pPlayer
1508
208
"Current Born Date ==>"
FF00FF
4 Bytes
pPlayer
70
1974
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
2484
258
"Country Name (>=16)"
0000FF
String
16
0
1
pPlayer
0
2484
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
494
404
"Current Inflation ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
a24
263
"Current Stability ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
a28
230
"Current Prestige ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
b04
157
"Current Army Tradition ==> (x1000)"
FF00FF
4 Bytes
pPlayer
e94
158
"Current Navy Tradition ==> (x1000)"
FF00FF
4 Bytes
pPlayer
e98
387
"Current Republican Tradition (x10)"
FF00FF
4 Bytes
pPlayer
150c
163
"Current Papal Influence ==> (x1000)"
FF00FF
4 Bytes
pPlayer
12a4
406
"Current Corruption ==> (x100)"
FF00FF
4 Bytes
pPlayer
1048
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
1Bbc
218
"Name (Size smallerr than 16)"
0000FF
String
16
0
1
pPlayer
14
0
1Bbc
211
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
2c
0
1Bbc
220
"Diplomatic"
FF0080
1
260
"Name (Size bigger than 15)"
0000FF
String
32
0
1
pPlayer
0
14
4
1Bbc
261
"Name (Size smallerr than 16)"
0000FF
String
16
0
1
pPlayer
14
4
1Bbc
223
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
2c
4
1Bbc
224
"Military"
FF0080
1
225
"Name (Size bigger than 15)"
0000FF
String
32
0
1
pPlayer
0
14
8
1Bbc
226
"Name (Size smallerr than 16)"
0000FF
String
16
0
1
pPlayer
14
8
1Bbc
227
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
2c
8
1Bbc
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
f4
140
338
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pProvince
d40
288
"Manpower Bonus ==> (x1000)"
FF00FF
4 Bytes
pProvince
d70
296
"Base Tax Value ==> (x1000)"
FF00FF
4 Bytes
pProvince
d74
297
"Base Production ==> (x1000)"
FF00FF
4 Bytes
pProvince
d78
289
"Culture 01 ==>"
1
FF00FF
4 Bytes
pProvince
dac
301
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince
48
dac
339
"Culture 02 ==>"
1
FF00FF
4 Bytes
pProvince
db0
340
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince
48
db0
298
"Religion 01 ==>"
1
FF00FF
4 Bytes
pProvince
db4
302
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince
74
db4
341
"Religion 02 ==>"
1
FF00FF
4 Bytes
pProvince
db8
342
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince
74
db8
299
"Production Item ==>"
1
FF00FF
4 Bytes
pProvince
dbc
300
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince
C
dbc
303
"[X] <============= Previous Selected Province"
0000FF
1
304
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pProvince+04
f4
140
343
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pProvince+04
d40
305
"Manpower Bonus ==> (x1000)"
FF00FF
4 Bytes
pProvince+04
d70
307
"Base Tax Value ==> (x1000)"
FF00FF
4 Bytes
pProvince+04
d74
306
"Base Production ==> (x1000)"
FF00FF
4 Bytes
pProvince+04
d78
308
"Culture 01 ==>"
1
FF00FF
4 Bytes
pProvince+04
dac
309
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince+04
48
dac
344
"Culture 02 ==>"
1
FF00FF
4 Bytes
pProvince+04
db0
345
"Culture Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince+04
48
db0
310
"Religion 01 ==>"
1
FF00FF
4 Bytes
pProvince+04
db4
311
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince+04
74
db4
346
"Religion 02 ==>"
1
FF00FF
4 Bytes
pProvince+04
db8
347
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince+04
74
db8
312
"Production Item ==>"
1
FF00FF
4 Bytes
pProvince+04
dbc
313
"Production Item Name (DO NOT CHANGE THIS)"
1
0080FF
String
16
0
1
pProvince+04
C
dbc
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
d4
351
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
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]
6096
"[X] <== Europa Universalis IV v1.21.1.0 (63a8) Table Extension v2.8"
FF0000
1
6097
"[X] <== Enable Console/Developer Mode in Ironman"
C08000
Auto Assembler Script
//=========================================
[ENABLE]
//=========================================
label(CHP)
label(CHP2)
label(CHP3)
registersymbol(CHP)
registersymbol(CHP2)
registersymbol(CHP3)
aobscan(aob1, 80 7D 0F ?? 74 ?? 6A ?? 68 ?? ?? ?? ??) //ironman
aobscan(aob2, 80 7F 0D ?? C7 85 ?? ?? ?? ?? 0F 00 00) //dev mode
aobscan(aob3, C7 05 00 00 00 00 39 05 00 00 8B ?? ??) //crash point
//=========================================
// Actual script
//=========================================
//Removes the check for ironman
aob1:
CHP:
nop
nop
cmp eax,eax
//Removes the check for developer mode
aob2:
CHP2:
nop
nop
cmp eax,eax
//This function disables the deliberate crashing on console cheating.
//Real 1337 of you, Paradox ;)
aob3:
CHP3:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
//=========================================
[DISABLE]
//=========================================
CHP:
//cmp byte ptr[ebp+0F],00
db 80 7D 0F 00
CHP2:
//cmp byte ptr[ebp+0D],00
db 80 7F 0D 00
CHP3:
//mov [00000000],00000539
db C7 05 00 00 00 00 39 05 00 00
unregistersymbol(CHP)
unregistersymbol(CHP2)
unregistersymbol(CHP3)
6098
"! -- List of console commands on the wiki -- !"
0080FF
1
6099
"http://www.euivwiki.com/Console_commands"
0080FF
1
6100
"[X] <======== Pointers (Requires Recifence's Script) ========"
000080
1
6101
"[X] <== Ruler Info ========================="
008000
1
6102
"Name (<16)"
0000FF
String
16
0
1
pPlayer
14
1974
6103
"Name (>=16)"
0000FF
String
16
0
1
pPlayer
0
14
1974
6104
"Administrative Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
44
1974
6105
"Diplomatic Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
48
1974
6106
"Military Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
4c
1974
6107
"Current Legitimacy (x1000)"
FF00FF
4 Bytes
pPlayer
1508
6108
"Current Born Date ==>"
FF00FF
4 Bytes
pPlayer
70
1974
6109
"Enter desired Age ===>"
0080FF
4 Bytes
iAge
6110
"New Born Date (copy and paste on Current Born Date)"
0000FF
4 Bytes
iBornDate
6111
"[X] <== Heir Info =========================="
008000
1
6290
"Name (<16)"
0000FF
String
16
0
1
pPlayer
14
1978
6291
"Name (>=16)"
0000FF
String
16
0
1
pPlayer
0
14
1978
6292
"Administrative Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
44
1978
6293
"Diplomatic Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
48
1978
6294
"Military Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
4c
1978
6296
"Current Born Date ==>"
FF00FF
4 Bytes
pPlayer
70
1974
6297
"Enter desired Age ===>"
0080FF
4 Bytes
iAge
6298
"New Born Date (copy and paste on Current Born Date)"
0000FF
4 Bytes
iBornDate
6120
"[X] <== Queen Info ========================"
008000
1
6112
"Name (<16)"
0000FF
String
16
0
1
pPlayer
14
197C
6113
"Name (>=16)"
0000FF
String
16
0
1
pPlayer
0
14
197C
6114
"Administrative Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
44
197C
6115
"Diplomatic Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
48
197C
6116
"Military Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
4c
197C
6117
"Current Born Date ==>"
FF00FF
4 Bytes
pPlayer
70
197C
6118
"Enter desired Age ===>"
0080FF
4 Bytes
iAge
6119
"New Born Date (copy and paste on Current Born Date)"
0000FF
4 Bytes
iBornDate
6289
"[X] <== Advisors Info ======================="
008000
1
6130
"Administrative"
800000
Array of byte
0
+0
0
6281
"Name (<16) ==>"
0000FF
String
16
0
1
pPlayer
14
0
1Bbc
6280
"Name (>=16) ==>"
0000FF
String
32
0
1
pPlayer
0
14
0
1Bbc
6282
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
2c
0
1Bbc
6134
"Diplomatic"
800000
Array of byte
0
+4
0
6283
"Name (<16) ==>"
0000FF
String
16
0
1
pPlayer
14
4
1Bbc
6284
"Name (>=16) ==>"
0000FF
String
32
0
1
pPlayer
0
14
4
1Bbc
6285
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
2c
4
1Bbc
6138
"Military"
800000
Array of byte
0
+8
0
6286
"Name (<16) ==>"
0000FF
String
16
0
1
pPlayer
14
8
1Bbc
6287
"Name (>=16) ==>"
0000FF
String
32
0
1
pPlayer
0
14
8
1Bbc
6288
"Main Skill ==> (x1)"
FF00FF
4 Bytes
pPlayer
2c
8
1Bbc
6142
"[X] <== Country Info ======================="
1
008000
Array of byte
0
pPlayer
0
6143
"[X] <== Government ==============="
1
800000
Array of byte
0
+0
6299
"Country Name (<16) (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pPlayer
2484
6145
"Country Name (>=16) (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pPlayer
0
2484
6146
"Administrative Power ==> (x1)"
1
FF00FF
4 Bytes
pPlayer
110
6147
"Diplomatic Power ==> (x1)"
1
FF00FF
4 Bytes
pPlayer
114
6148
"Military Power ==> (x1)"
1
FF00FF
4 Bytes
pPlayer
118
6149
"Stability ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
a28
6150
"Prestige ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
b04
6151
"Corruption ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
1048
6152
"Legitimacy/Horde Unity ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
1508
6153
"Republic Tradition ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
150C
6154
"Devotion ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
1B4C
6155
"Splendor ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
28
6329
"Prussian Militarization ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
2328
6330
"Absolutism ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
2C
6156
"Accepted Cultures ==>(x1000)"
FF00FF
4 Bytes
pPlayer
196C
6331
"Meritocracy ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
1B50
6157
"Government ==>"
1
0
FF00FF
4 Bytes
pPlayer
1B44
6158
"Government Name (DO NOT CHANGE THIS)"
0
0000FF
String
16
0
1
+0
D4
6159
"Government Name (>=16) (DO NOT CHANGE THIS)"
0
0000FF
String
32
0
1
+0
0
D4
6160
"Culture ==>"
1
0
FF00FF
4 Bytes
pPlayer
1960
6161
"Culture Name (DO NOT CHANGE THIS)"
0
0000FF
String
16
0
1
+0
30
6162
"Culture Name (>=16) (DO NOT CHANGE THIS)"
0
0000FF
String
32
0
1
+0
0
30
6163
"[X] <== Economy/Trade ============="
1
800000
Array of byte
0
+0
6164
"Money (Ducats) ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
494
6165
"Inflation ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
A24
6166
"Mercantilism ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
15A0
6167
"[X] <== Military =================="
1
800000
Array of byte
0
+0
6168
"Army Tradition ==> (x1000)"
FF00FF
4 Bytes
pPlayer
E94
6169
"Navy Tradition ==> (x1000)"
FF00FF
4 Bytes
pPlayer
E98
6170
"Manpower ==> (x1)"
1
FF00FF
4 Bytes
pPlayer
CC4
6171
"Sailors ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
CCC
6172
"War Exaustion ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
B64
6173
"[X] <== Technology ==============="
1
800000
Array of byte
0
+0
6174
"Technology levels"
1
1
800080
Array of byte
0
pPlayer
A8
26A4
6175
"Administrative Tech ==> (x1)"
1
FF00FF
4 Bytes
pPlayer
0
AC
269C
6301
"Diplomatic Tech ==> (x1)"
1
FF00FF
4 Bytes
pPlayer
4
AC
269C
6300
"Military Tech ==> (x1)"
1
FF00FF
4 Bytes
pPlayer
8
AC
269C
6178
"Administrative"
1
1
800080
Array of byte
0
+26A4
6302
"Administrative Efficiency ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
60
269C
6306
"Number of idea groups (Change Admin Tech Level for Effect) ==> (x1)"
1
FF00FF
4 Bytes
pPlayer
10
269C
6305
"Development Efficiency ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
64
269C
6304
"Production Efficiency ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
1C
269C
6303
"Number of states ==> (x1)"
1
FF00FF
4 Bytes
pPlayer
14
269C
6184
"Diplomatic"
1
1
800080
Array of byte
0
+26A4
6307
"Trade Efficiency (From Technology) ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
18
269C
6308
"Trade Range ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
4C
269C
6309
"Naval Maintenance ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
54
269C
6310
"Colonial Range ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
48
269C
6311
"Naval Morale ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
24
269C
6313
"Global Settler Increase ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
28
269C
6312
"Max promoted cultures ==> (x1)"
1
FF00FF
4 Bytes
pPlayer
68
269C
6192
"Military"
1
1
800080
Array of byte
0
+26A4
6314
"Improved Flanking Range ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
5C
269C
6318
"Military Tactics ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
50
269C
6317
"Land Morale ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
20
269C
6316
"Combat Width ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
58
269C
6315
"Supply Limit ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
7C
269C
6198
"Army bonuses"
1
1
800080
Array of byte
0
+26A4
6319
"Infantry Fire ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
30
269C
6324
"Infantry Shock ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
3C
269C
6323
"Cavalry Fire ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
34
269C
6322
"Cavalry Shock ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
40
269C
6321
"Artillery Fire ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
38
269C
6320
"Artillery Shock ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
44
269C
6205
"[X] <== Religion =================="
1
800000
Array of byte
0
+0
6206
"Papal Influence ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
12a4
6207
"Patriachial Authority ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
12BC
6208
"Muslim Piety ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
1308
6209
"Aztec DOOOM!!! ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
13B0
6210
"Buddhist Karma ==> (x1000) "
1
FF00FF
4 Bytes
pPlayer
1448
6211
"Reformed Fervor ==> (x1000) "
1
FF00FF
4 Bytes
pPlayer
B0
12A8
6212
"Incan Authority ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
13FC
6213
"Protestant Church Power ==> (x1000) "
1
FF00FF
4 Bytes
pPlayer
8
12AC
6214
"Confusian Harmony ==> (x1000)"
1
FF00FF
4 Bytes
pPlayer
1494
6328
"Harmonization Progress ==> (x10)"
1
FF00FF
4 Bytes
pPlayer
14A4
6215
"Religion ==>"
1
0
FF00FF
4 Bytes
pPlayer
1294
6216
"Religion Name (DO NOT CHANGE THIS)"
0
0000FF
String
16
0
1
+0
5C
6217
"Religion Name (>=16) (DO NOT CHANGE THIS)"
0
0000FF
String
32
0
1
+0
0
5c
6218
"Syncretic Religion ==>"
1
0
FF00FF
4 Bytes
pPlayer
1298
6219
"Religion Name (DO NOT CHANGE THIS)"
0
0000FF
String
16
0
1
+0
5C
6220
"Religion Name (>=16) (DO NOT CHANGE THIS)"
0
0000FF
String
32
0
1
+0
0
5C
6221
"[X] <== Estates ==================="
1
800000
Array of byte
0
pPlayer
2264
6222
"== Estate 1 =="
800080
1
6223
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
+0
8
8
6224
"Alternate name (DO NOT CHANGE THIS) -->"
0000FF
String
32
0
1
+0
0
8
8
6225
"Loyalty ==> (x1000)"
4080FF
4 Bytes
+0
14
6226
"Influence ==> (x1000)"
4080FF
4 Bytes
+0
C
6227
"== Estate 2 =="
800080
1
6228
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
+0
8
74
6229
"Alternate name (DO NOT CHANGE THIS) -->"
0000FF
String
32
0
1
+0
0
8
74
6230
"Loyalty ==> (x1000)"
4080FF
4 Bytes
+0
80
6231
"Influence ==> (x1000)"
4080FF
4 Bytes
+0
78
6232
"== Estate 3 =="
800080
1
6233
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
+0
8
E0
6234
"Alternate name (DO NOT CHANGE THIS) -->"
0000FF
String
32
0
1
+0
0
8
E0
6235
"Loyalty ==> (x1000)"
4080FF
4 Bytes
+0
EC
6236
"Influence ==> (x1000)"
4080FF
4 Bytes
+0
E4
6237
"== Estate 4 =="
800080
1
6238
"Name (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
+0
8
14C
6239
"Alternate name (DO NOT CHANGE THIS) -->"
0000FF
String
32
0
1
+0
0
8
14C
6240
"Loyalty ==> (x1000)"
4080FF
4 Bytes
+0
158
6241
"Influence ==> (x1000)"
4080FF
4 Bytes
+0
150
6242
"[X] <== Province Info ======================="
008000
1
6243
"Province Name (<16) (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pProvince
8
14
6244
"Province Name (>=16) (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pProvince
0
8
14
6245
"City name (<16) (DO NOT CHANGE THIS)"
0000FF
String
16
0
1
pProvince
D40
6246
"City name (>=16) (DO NOT CHANGE THIS)"
0000FF
String
32
0
1
pProvince
0
D40
6247
"Province Owner"
1
FF00FF
Byte
pProvince
DDC
6248
"Province Occupier"
1
FF00FF
Byte
pProvince
DD4
6249
"Base Tax Value ==> (x1000)"
1
FF00FF
4 Bytes
pProvince
d74
6250
"Base Production ==> (x1000)"
1
FF00FF
4 Bytes
pProvince
d78
6251
"Base Manpower ==> (x1000)"
1
FF00FF
4 Bytes
pProvince
d70
6252
"Local Autonomy ==> (x1000)"
1
FF00FF
4 Bytes
pProvince
d9c
6253
"Province in HRE (1 or 0)==> (x1)"
1
FF00FF
Byte
pProvince
FE9
6254
"Number of Natives ==> (x10)"
1
FF00FF
4 Bytes
pProvince
E64
6255
"Native Aggressiveness"
1
FF00FF
4 Bytes
pProvince
E6C
6256
"Native Ferocity"
1
FF00FF
4 Bytes
pProvince
E68
6257
"Original Culture ==>"
1
FF00FF
4 Bytes
pProvince
dac
6258
"Culture Name (DO NOT CHANGE THIS)"
1
0000FF
String
16
0
1
pProvince
48
dac
6259
"Culture Name (>=16) (DO NOT CHANGE THIS)"
1
0000FF
String
32
0
1
pProvince
0
48
dac
6260
"Current Culture ==>"
1
FF00FF
4 Bytes
pProvince
db0
6261
"Culture Name (DO NOT CHANGE THIS)"
1
0000FF
String
16
0
1
pProvince
48
db0
6262
"Culture Name (>=16) (DO NOT CHANGE THIS)"
1
0000FF
String
32
0
1
pProvince
0
48
db0
6263
"Current Religion ==>"
1
FF00FF
4 Bytes
pProvince
db4
6264
"Religion Name (DO NOT CHANGE THIS)"
1
0000FF
String
16
0
1
pProvince
74
db4
6265
"Religion Name (>=16) (DO NOT CHANGE THIS)"
1
0000FF
String
32
0
1
pProvince
0
74
db4
6266
"Production Item ==>"
1
FF00FF
4 Bytes
pProvince
dbc
6267
"Production Item Name (DO NOT CHANGE THIS)"
1
0000FF
String
16
0
1
pProvince
C
dbc
6268
"Production Item Name (>=16) (DO NOT CHANGE THIS)"
1
0000FF
String
32
0
1
pProvince
0
C
dbc
6269
"[X] <== Last Selected Army Info ================"
008000
1
6270
"[X] <== Valid if sieging a province ===="
1
800000
Array of byte
0
+0
0
6271
"Name (<16)"
0000FF
String
16
0
1
pArmy
d4
6272
"Name (>=16)"
0000FF
String
32
0
1
pArmy
0
d4
6273
"Siege Current Phase # Days ==>"
1
FF00FF
4 Bytes
pArmy
20
7c
6274
"Siege Total # Days ==>"
1
FF00FF
4 Bytes
pArmy
78
7C
6275
"[X] <== General Info ========================"
008000
1
6276
"!-- Use debug mode to find tag numbers ingame --!"
0080FF
1
6277
"Current Imperial Authority ==> (x1000)"
1
FF00FF
4 Bytes
pGame
1520
6278
"Current HRE Emperor ==> (Tag Number)"
0
FF00FF
Byte
pGame
151C
6332
"Current Mandate ==> (x1000)"
1
FF00FF
4 Bytes
pGame
1760
Recifense
20170427
pPlayer
0B0D083C
pProvince
0B0D0840
pArmy
0B0D0848
pReligion
0B0D084C
pCulture
0B0D0850
iPlayerID
0B0D0854
iEnableMMD
0B0D07E0
iEnableFMP
0B0D07E4
iEnableMMP
0B0D07E8
iEnableMRP
0B0D07EC
iEnableANM
0B0D07F0
iEnableANT
0B0D07F4
iEnableMER
0B0D07F8
iEnableLEG
0B0D07FC
iEnableMRR
0B0D0800
iEnableMAM
0B0D0804
iEnableRPC
0B0D0808
iEnableMCP
0B0D080C
iEnableBSP
0B0D0810
iEnableQOS
0B0D0814
iEnableGMD
0B0D0818
iEnableNNE
0B0D081C
iEnableMPG
0B0D0820
iEnableCHR
0B0D0824
iEnableCHC
0B0D0828
iEnableMMS
0B0D082C
iEnableMPD
0B0D0830
iEnableMNP
0B0D0834
iEnableQEN
0B0D0838
iMinNP
0B0D085C
iCurDate
0B0D0860
iAge
0B0D0864
iBornDate
0B0D0868
pGame
0B0D086C
aLast
0B0D0870
CHP
01AC5447
CHP2
01AC5569
CHP3
01AC55E5
===========================================
Game Title : Europa Universalis IV
Game Version : 1.21.1.0 (63a8)
Game Sponsor : Vodos (game) + darkedone02 (DLC)
Proces Name : EU4.exe
Script Version: 7.3
CE Version : 6.6
Release date : 27-Apr-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
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 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!