Oxygen Not Included

Oxygen Not Included

31 ratings
Challenge collection
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
192.254 KB
Mar 6, 2020 @ 12:38am
Jul 24, 2024 @ 3:31pm
44 Change Notes ( view )

Subscribe to download
Challenge collection

Description
Description

Challenge Collection is a Scenario Generator to customise the map and settings.
This mod contains many new settings to dynamically create and manipulate a map, change the tech tree and immigration timer.

Maintainer Wanted

I cannot really continue to maintain the mods and want to pass them on.
If you want to take my mods maintain and maybe improve them please write me a message or comment.
I try to fix them from time to time on request but no warranty how long that takes i have no resources to do it frequently.


Installation

You need to install the Lua Scripting Engine since this is a pure Lua mod. And enable both mods.

Important

When using this mod you should restart the game if you want to reload a save otherwise some settings will apply twice ( as example if you set research difficulty to 4 and reload without restarting research difficulty will be 16 ) Sadly i was not able to fix the bug yet.

Tinkering

The Source files are plain text and easily read and manipulated. If you want to change them you need to first copy the files from \Documents\Klei\OxygenNotIncluded\mods\Steam\2014940545 to the local mods folder Documents\Klei\OxygenNotIncluded\mods\local\2014940545 . Then disable the steam mod and enable the local mod and you can edit the files. Remember that local mods do not update you will have to do this every new update.

Features

In the game creation Menu in the settings there is a new Entry where you can access a Varity of Panels.
Map Transformation:Transform the map on start or during the game with custom settings.
Immigration timer: Configureable immigration timer.
Scenarios: Some very challenging scenarios.
Temperature change: Dynamically changes the Termperature of the map over time.
Map size x / y: Sets the map size.
Tech Level: Enables techs in the tree.
Tech Difficulty: Changes how much Techs cost.

Please note that this mod is still in testing and there might be stuff that does not work. Please notify me if you find errors or a setting is too strong weak or should be added.
If you like the mod rate it up and favorite it.

Also check out my super building extension which provides extra buildings and some fixes to deal with the hardships:
https://steamcommunity.com/profiles/76561198361064570/myworkshopfiles/?appid=457140

A Summary of my published mods you can find at:
https://forums.kleientertainment.com/forums/topic/113661-mods-rainbowdesigns-mods/

Troubleshoot

Steam does right now a real mess with mods.
Updates does not work properly. If the mods do not work first use the mod updater.
If the modupdater does not update too you have to download it manually from https://github.com/peterhaneve/ONIMods/releases/ModsLatest
extract ModUpdateDate to \Documents\Klei\OxygenNotIncluded\mods\dev (create if not there)

If you like the mod add it as favorite and vote it up so more people will know about it:




To support me on Patreon follow that link:
[www.patreon.com]

[www.patreon.com]
64 Comments
Bummins Mar 11, 2022 @ 10:03am 
ahhh right understood
Rainbow  [author] Mar 5, 2022 @ 8:14pm 
You have now a single new entry in the planetgeneration menu on the top with that you can access a range of panels
Rainbow  [author] Mar 5, 2022 @ 5:31pm 
the planetgeneration menu did look like this. The image is edited
Bummins Mar 5, 2022 @ 4:09pm 
How exactly do you bring up the menu in your screenshot? there doesn't seem to be any quick userguide, can't see any change on the UI
Rainbow  [author] Jan 1, 2022 @ 9:51am 
The other error will be more of a headache.
Rainbow  [author] Jan 1, 2022 @ 9:50am 
I dont quite want to change the temperature settings, i would instead combine values below 1 over multiple iterations.Like its 0.1 i would add it till its 1 and then use it for the area.
FineStyle Jan 1, 2022 @ 7:48am 
I've just noticed that TemperaturePanel.TChange settings can be entered directly, using Value, Area and Timer.
I think TChange setting should be put in another panel as it is confusing (I thought that it is related to Value/Area/Timer settings)
So, for DeadlyCold workaround, it can be entered without changing lua script with:
Value=-0.2
Area=0.02
Timer=10times/day


I am just playing with SaltWaterWorld setting, great to see heated steam creeping to my base, I enjoy your mod very much, good work :)
FineStyle Jan 1, 2022 @ 7:48am 
Here is patch for RandomTilesPercentAll to work even with low tileamountpercenti:
public static HashSet<int> RandomTilesPercentAll(float tileamountpercenti, float variance = 0f)
double fnum2 = (double)Grid.CellCount * (num * 0.0099999997764825821);
int num2 = (int)(fnum2);
double frest2 = fnum2 - num2;
while (hashSet.Count < num2 || hashSet.Count == num2 && MapManipulate.randomi.NextDouble() < frest2)
// and removing hashSet.First<int>() from logging

even without that patch, lua scripts can be modified as a workaround (although it will use more cpu power)
Example for 256 x 384 map (multiply 0.0004 by 2.55 (1 / (256*384*0.0004*0.01)) and divide -10 by 2.55)
From:
function DeadlyCold()
for v in RandomTilesPercentAll(0.0004) do
AddToCell(v,"Temperature",-10)
end
end
To:
for v in RandomTilesPercentAll(0.00102) do
AddToCell(v,"Temperature",-3.92)
Rainbow  [author] Dec 29, 2021 @ 6:41am 
Yea it means that i dont catch an error when the celllist is empty. But if the area is 0.01 there it does nothing anyways. But i will fix it so it will not crash.

I must admit that i did not really test the techlevels regularly i will see if i can find the problem.
If you want to experiment you can make a copy of the lua files as in the description and edit the techlevel stuff its plaintext.
FineStyle Dec 29, 2021 @ 3:46am 
Hello
Not working In ONI (without DLC):
Temperature panel settings: T value=-10, T change=warm, T area=0.01, T timer=10/day
InvalidOperationException: Sequence contains no elements, System.Linq.Enumerable.First
in RandomTilesPercentAll
Log.DeepLog(string.Concat(new object[] ..., hashSet.First<int>()

Also, I think there is too low argument in call to RandomTilesPercentAll
function Warm()
for v in RandomTilesPercentAll(0.0004) do
AddToCell(v,"Temperature",0.5)
end
0.0004% of 384*384 is almost 0 tiles (0.59), so that exception is thrown immediately


Technology settings: Tech level=early, diff=expensive key techs
Error in WattsonMessage.WattsonMessage.OnSpawn
System.InvalidCastException: Specified cast is not valid.
at PlanScreen.OnResearchComplete
With tech level=disabled works fine