First of all, we find the ildasm program on our computer (I found it on C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v10.0A \ bin \ NETFX 4.6.1 Tools). We launch it. Such a window should appear.
Open the Assembly-CSharp.dll file, usually located in C: \ Program Files (x86) \ Steam \ steamapps \ common \ Planetbase \ Planetbase_Data \ Managed, but on my Z drive.
Tip: Before doing anything, make a backup copy of the Assembly-CSharp.dll file.
Save the dump for further editing.
In my case, I saved it as 123 (in addition to 123.il, another 123.res file will appear in the folder).
Now open the 123.il file with any text editor convenient for us, you can even use a stock Windows notebook.
Looking for the PlanetClassD value
A piece of code responsible for weather conditions (the value is in the line above the name of the parameter)
IL_004c: ldc.i4.2
IL_004d: stfld valuetype Planetbase.Planet / Quantity Planetbase.Planet :: mAtmosphereDensity
IL_0052: ldarg.0
IL_0053: ldc.i4.2
IL_0054: stfld valuetype Planetbase.Planet / Quantity Planetbase.Planet :: mLightAmount
IL_0059: ldarg.0
IL_005a: ldc.i4.2
IL_005b: stfld valuetype Planetbase.Planet / Quantity Planetbase.Planet :: mSandstormRisk
IL_0060: ldarg.0
IL_0061: ldc.i4.0
IL_0062: stfld valuetype Planetbase.Planet / Quantity Planetbase.Planet :: mSolarFlareRisk
IL_0067: ldarg.0
IL_0068: ldc.i4.1
IL_0069: stfld valuetype Planetbase.Planet / Quantity Planetbase.Planet :: mMeteorRisk
A piece responsible for the number of people.
For example, the line IL-006f: idc.i4.3 indicates that Worker`s will be 3. The maximum that I put is the value 4. But you can check.
IL_006e: ldarg.0
IL_006f: ldc.i4.3
IL_0070: call instance void Planetbase.Planet :: addStartingSpecialization (int32)
IL_0075: ldarg.0
IL_0076: ldc.i4.2
IL_0077: call instance void Planetbase.Planet :: addStartingSpecialization (int32)
IL_007c: ldarg.0
IL_007d: ldc.i4.1
IL_007e: call instance void Planetbase.Planet :: addStartingSpecialization (int32)
IL_0083: ldarg.0
IL_0084: ldc.i4.1
IL_0085: call instance void Planetbase.Planet :: addStartingSpecialization (int32)
IL_008a: ldarg.0
IL_008b: ldc.i4.1
IL_008c: call instance void Planetbase.Planet :: addStartingSpecialization (int32)
IL_0091: ldarg.0
IL_0092: ldc.i4.1
IL_0093: call instance void Planetbase.Planet :: addStartingSpecialization (int32)
The next part of the code is responsible for the number of starting resources. That is, metal will be 35, bioplastics – 30, food – 25, etc. I tried to change it to 1000, but after compilation the game did not start. Therefore, I put only 99, you can experiment.
IL_0098: ldarg.0
IL_0099: ldc.i4.s 35
IL_009b: call instance void Planetbase.Planet :: addStartingResource (int32)
IL_00a0: ldarg.0
IL_00a1: ldc.i4.s 30
IL_00a3: call instance void Planetbase.Planet :: addStartingResource (int32)
IL_00a8: ldarg.0
IL_00a9: ldc.i4.s 25
IL_00ab: call instance void Planetbase.Planet :: addStartingResource (int32)
IL_00b0: ldarg.0
IL_00b1: ldc.i4.s 10
IL_00b3: call instance void Planetbase.Planet :: addStartingResource (int32)
IL_00b8: ldarg.0
IL_00b9: ldc.i4.s 10
IL_00bb: call instance void Planetbase.Planet :: addStartingResource (int32)
Save the modified file.
Now we are looking for the ilasm.exe program, I found it in the C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 folder, copy it to the folder with the saved modified 123.il file. We start the console (Win + R, write cmd and launch).
Through the console, using the “CD” command, go to the folder where you saved 123.il (I have – Z: \ Program Files (x86) \ Steam \ steamapps \ common \ Planetbase \ Planetbase_Data \ Managed).
We type in the console “ilasm 123.il /resource=123.res / dll”
If we succeed, then the console will write “Operation completed successfully”, and if they were mistaken, then “***** FAILURE *****”, and the error line above, try to reduce the amount indicated in that line.
And the last step, replace 123.dll with Assembly-CSharp.dll.
Have a good time!