Oxygen Not Included

Oxygen Not Included

Better Repair
23 Comments
The Toblin 2 hours ago 
That's honestly a good solution. I've seen a lot of mods either disabling repairs entirely, or forcing a deconstruct/rebuild. This one keeps the core mechanics, while disabling the incentive to cheese with a deconstruct.

I guess the MOST fair solution would be to just let a rebuild also cost extra resources, but I guess that would really complicate things. So I really liket his solution.
nairacirino 8 Sep @ 6:44am 
Nice one!
Jaggid Edje 9 Aug @ 11:17pm 
Fantastic idea!

I have always found it to be ridiculous that I have to micromanage 'repairs' by doing deconstruct, then placing a new one, simply because the game's repair functionality is not aligned with that other option.
Thanks for making and sharing this.
mementh 7 Aug @ 11:27am 
sounds and looks like a good middle ground.. added to my huge mod collection
Maxi 7 Aug @ 4:41am 
Wow, this is a great implementation! I didn't knew it was possible to set the temperature gradually according to the repaired damage percent, I believe this is the perfect solution. :) Kudos for the setting configuration too, not every mod has such features. :)
Airen  [author] 7 Aug @ 1:24am 
Thanks for all sharing and ideas ❤️ it is really interesting to read about all the quirks this game has 🤭
I've added time threshold option, so if your building not getting damaged for, by default, 1/4 cycle, dupe will be happy to repair it to full. Otherwise they only go for it when it reaches low hp condition.
@mementh, I also put an option to repair building temperature in the mod options.
Example of how it works: if building is 100 C and fully broken after repair, all the heat will reset, and it will go down fully to default 45 C just like rebuild. If it is half broken, then half of the heat will be gone etc. Should give some breather if things went really funky.
I hope it's a decent middle ground between difficulty of mechanics and implementation and the end result we try to achieve here. 💕
Kaedys 6 Aug @ 9:30pm 
In this case, resetting the temp wouldn't have mattered. 50 kg of Cobalt for the radiant pipe versus the 800 kg per tile of too-hot petroleum in my heat exchanger, especially given that buildings only inherit 1/5th of the SHC of their material. That radiant pipe has about 3% the thermal mass of a tile of petroleum. That said, in other contexts, I could definitely see the argument, and in this case, the pipe wasn't taking damage from overheating, it was from fluid boiling off inside it.

So what you're proposing is if the building is currently overheated, repairs should take materials as normal, and repairing it would reset its temperature as if it were freshly built from hot materials (so to 45 C, I believe). If it is not currently overheating, the repairs would be free and would not affect the building temp? I don't see a problem with that, especially if it's an optional feature in the mod (and, of course, assuming @Airen agrees and wants to implement said feature =P)
mementh 6 Aug @ 8:25pm 
kaedys thats why i say repair using parts should reset temp, and if not repairing due to temp issues should not use parts.
Kaedys 6 Aug @ 7:13pm 
Of note on the automatic repair band-aiding a problem, one thing of distinct note in the game's normal repair setup is that the resources required to repair the item do not depend on the item's breakage status (as you previously noted, Maxi) and also are not consumed until the repair actually finishes. I found that out after watching a boop spend half a cycle continuously repairing the same radiant pipe at the end of my petroleum boiler, where the incoming crude was getting a bit too hot and breaking the pipe, which of course exacerbated the issue because now there's less incoming "cooling" from crude to get the petroleum temp (and my heat battery from the magma) under control. The pipe kept getting damaged by more crude entering it and boiling over, and said boop kept channeling the repair into it, essentially exactly keeping up with the damage rate and never having to add more materials to it, which was frankly a bit hilarious.
Maxi 6 Aug @ 3:28pm 
[Continued from previous comment due to Steam's stupid character limit]

the case, please disregard the above part.

"Machinery repair bonus was always in base game"

Ohh, I didn't knew this, thank you for the info :)

"Tho it just looks like automating band-aid for a heat problem instead of trying to fix it."

In a way, the game already applies an automatic band-aid fix with autorepair. If you set up a building wrong the duplicants will continually repair it and will never break until you run out of materials (assuming they can reach it), you don't need to actually fix the problem with a different design or such.
Also in other way, it is already a vanilla option to deconstruct and rebuild buildings at 45 C. This can be even used for volcano material extracting at an acceptable temperature, you make a lot of commands in vacuum to build metal/igneous tiles/any other building and you instantly delete thousands of degrees worth of heat.
Maxi 6 Aug @ 3:27pm 
[Continued from previous comment due to Steam's stupid character limit]

click on the building and enable it again.

The idea of my previous comment(s) was to make the disabled status the default one upon construction, and when a building gets fully broken the game enables autorepair for it, so the duplicants will only go to repair it if it's fully broken, minimising travel and labor time. (This way a duplicant wont go multiple times to repair every small damage on it, instead they wait for it to be fully broken and only go once to repair it.)
The single building part refers to the ability of the player to manually click on the building and enable autorepair even if the building isn't fully broken yet, only damaged.

Or, you didn't mean the in-game clicking on every building to click enable-disable, and this sentence is coding related. If this is

[Continue in following comment due to Steam's stupid character limit]
Maxi 6 Aug @ 3:27pm 
I'm glad you liked it :)

"Dunno about per-building basis thing, I'm sure won't be bothered. It would be too much hassle for me to set up all the broken buildings."

I believe there is a misunderstanding. I meant to write "don't go to repair until the building is fully broken, not just damaged", but with already implemented in-game technical terms.

In vanilla, there is a setting called "autorepair", which can be either enabled or disabled. The default setting for all buildings upon construction is enabled. This means if a building gets damaged, a duplicant automatically gains the task to repair it, regardless actually how much damage the building has. If the autorepair is disabled, duplicants will never repair it until you manually

[Continue in following comment due to Steam's stupid character limit]
Airen  [author] 6 Aug @ 11:41am 
Well, now I’ve got myself into a situation where I have a dozen partially broken buildings 😂 Wondering, how to decide when to fully repair them, preferably without going through each one and toggling individually, is a good food for thoughts before bed. Repair to full if it didn't took damage for awhile? Oof 😵‍💫
mementh 6 Aug @ 11:31am 
" Tho it just looks like automating band-aid for a heat problem instead of trying to fix it." yes.. its a band aid for when needed since things can go funky. but i like maxi's ideas and if the "damaged but not broken" could not show a alert/warning.
Airen  [author] 6 Aug @ 10:00am 
@Maxi, It was very fun to read insight, thanks a lot for sharing. I'm literally pushing update right now, after playing a bit 😂

I've added global threshold setting for starting Repair (defaulted it to 40%).
Dunno about per-building basis thing, I'm sure won't be bothered. It would be too much hassle for me to set up all the broken buildings.

Machinery repair bonus was always in base game so I kept it. U can always remove bonus from strength in the mod settings. Main reason I did it in case I want Tidying duplicants do the repairs, so it wouldn't take ages for them to complete.

Repairing half broken building takes half time, this is feature already, maybe I wasn't too clear in mod description 😅

So per-building settings and temperature reset thing I personally wouldn't use, but I guess if there will be people who would love that it would be fun to implement. Tho it just looks like automating band-aid for a heat problem instead of trying to fix it.
Maxi 6 Aug @ 8:35am 
[Continued from previous comment due to Steam's stupid character limit]

percentage of the full construction time based on how damaged it is. For example, if a building is 20% broken and has 80% of it's health left, it only takes a fifth of the full construction time to repair. If it is 50%-50%, it takes half of the full construction time to repair. If it 75% broken and has 25% health left, it takes 75% of the full construction time to repair it. I guess you get what I'm thinking.

Regarding temperature for repairing non-broken buildings, I believe it's best if either the temperature stays the same, or upon finishing it resets to 45 C. This is the closest to vanilla-repair, and construct-and-rebuild behaviour respectively.

What do you all think about this idea?
Maxi 6 Aug @ 8:34am 
[Continued from previous comment due to Steam's stupid character limit]

enables autorepair for that single building. This way duplicants will only go to repair completely broken buildings, saving on travel time and dupe labour, but also still allows the choice to manually enable/disable the setting on a per-building basis if the player wishes so. When a duplicant goes and repairs a completely broken building, it uses the full construction time, which is affected by the construction attribute and uses a construction errand. (Personally I can understand machinery, but strength is a stretch for me. Perhaps could be a configuration option where you can toggle on-off the three attribute each.) After repairing, if the building was hotter than 45 C, it's temperature resets to 45 C, mimicking deconstruct-and-rebuild behaviour.

For a possibly optional feature, repairing non-completely broken but damaged buildings uses a

[Continue in following comment due to Steam's stupid character limit]
Maxi 6 Aug @ 8:34am 
This concept is wonderful!
It always bothered me that repairing something costs materials, while deconstructing a broken building and rebuilding it doesn't cost extra resources.

I think messing with temperatures and implementing a custom solution is futile, because if you build something from above 45 C materials the building will automatically cap at 45 C after construction. Essentially when you deconstruct and rebuild an overheated building it will straight up delete the heat, meaning repairing a building which isn't completely broken will have questionable heat physics (questionable in the ONI-vanilla-logic, not real world logic).

In my vision (which isn't gospel, just my personal idea) the mod could be something like this:

From now on 'disabled autorepair' is the default setting for damaged but not completely broken buildings, but when a building becomes completely broken and unusable, the mod automatically

[Continue in following comment due to Steam's stupid character limit]
Stroomschok 6 Aug @ 1:29am 
@mementh if you need the repair to reset the temperature, you can always just rebuild it.
mementh 6 Aug @ 12:03am 
add materials reset temp ( goal is to fix when its overheating like a Aqua tuner that go too hot for a moment and area is not cool er yet ) or just repair and keep temp.
Airen  [author] 5 Aug @ 8:37pm 
@mementh, dunno resetting temps feels kinda hacky for me (says the person who removes repair cost 😂)
Maybe the way is removing heat based on overall mass of material lost, but then would it be helpful even and where can I send this heat. All complications 😵‍💫
吐泡泡的小鱼 5 Aug @ 5:31pm 
维修不再消耗材料,但修理所需时间与建造时间相同。维修时间,因负智人属性有所不同
mementh 5 Aug @ 12:27pm 
the idea of needing things is to replace bad parts, but when 90% of my issues is temp based its annoying to spend so much..
Could there be a toggle on device to select which option to choose? parts = repair and reset temps? no parts repair no temp change?