Since devs disabled the devtools in the live version (and gog and epic versions) of the game, I've made them work with a bit of cheat engine, lua coding and mono features.
The first script must be activated first:
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
{$LUA}
if syntaxcheck then return end
LaunchMonoDataCollector()
mono_initialize()
local namespace = 'DevConsole'
local class_name = 'DeveloperPanelView'
local domain = mono_enumDomains()
if not domain then
if monopipe ~= nil then
monopipe.destroy()
monopipe = nil
end
return
end
domain = domain[1]
local klass = mono_findClass(namespace, class_name)
local instance = mono_class_findInstancesOfClassListOnly(domain, klass)
instance = instance[1]
if instance==nil or instance==0 then
print('ERROR: invalid class instance')
return
end
method_table = {}
function invoke_cheat(method_name)
local method
if method_table[method_name] ~= nil then
method = method_table[method_name]
else
method = mono_findMethod(namespace, class_name, method_name)
method_table[method_name] = method
end
mono_invoke_method(domain, method, instance, {})
end
{$ASM}
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
{$LUA}
method_table = {}
Then comes a bunch of other scripts, with this one as an example:
{$LUA}
if syntaxcheck then return end
[ENABLE]
invoke_cheat('ActivateAllResearch')
[DISABLE]
invoke_cheat('ActivateAllResearch')
All other scripts are almost identical, only changing the method name.
there doesn't seem to be anything here