Jump to content

Is the atmo switch broken in a vacuum?


Recommended Posts

I just posted this in the bug tracker. I was trying to switch from using a water lock to a fancy automated lock but the atmo switches don't appear to be able to detect a vacuum when set to above 0g.

I'm a little disappointed as aside from the atmo switch not switching off the concept works. For now it's time to reinstall the water lock.

image.thumb.png.d49048955165ea873188bf0294264a05.png

vacuum-test.sav

Link to comment
Share on other sites

2 hours ago, Moggles said:

I was trying to switch from using a water lock to a fancy automated lock but the atmo switches don't appear to be able to detect a vacuum when set to above 0g.

So you're saying that a vacuum is incorrectly sending a true signal when it's set to be true when greater than 0g?
If not then it sounds like you're disappointed that 0 is not greater than 0.
 

Link to comment
Share on other sites

25 minutes ago, Risu said:

So you're saying that a vacuum is incorrectly sending a true signal when it's set to be true when greater than 0g?
If not then it sounds like you're disappointed that 0 is not greater than 0.
 

I think the issue is that before it greater than or equal to implied in the sensor to account for detecting a vacuum

Link to comment
Share on other sites

1 hour ago, Risu said:

So you're saying that a vacuum is incorrectly sending a true signal when it's set to be true when greater than 0g?

Yes. The current pressure reads as 0g on the sensor. I assume 'above' is meant to mean greater than 0g therefore it should be off when it is equal to 0g. It should be on if there is even 1mcg.

If in game, above actually means greater than or equal to then it's a confusing term to use.

Link to comment
Share on other sites

No there is no equal to it. If you want that included then you use the opposite then add not gate.
Not seeing anything wrong in the code for this to be failing at. Will have to do some tests when I have time.

Edit: Hang on I found an issue with the code.
It performs no action at all if the mass is equal to the threshold. So this is a legit bug.

Here's the code snippet it uses:

if (this.activateAboveThreshold)
{
	if ((currentValue > this.threshold && !base.IsSwitchedOn) || (currentValue < this.threshold && base.IsSwitchedOn))
	{
		this.Toggle();
	}
}
else if ((currentValue > this.threshold && base.IsSwitchedOn) || (currentValue < this.threshold && !base.IsSwitchedOn))
{
	this.Toggle();
}

The ones with "base.IsSwitchedOn" require = to be added to be correct.
 

Link to comment
Share on other sites

I myself have noticed that certain things behave oddly in a vacuum. One of them being the new thermal transfer plates. Basically noticed that in a vacuum, plates that are touching a tile that contains some physical mass will heat up, but additional transfer plates that are only touching vacuum and the plate which is in contact with some solid won't have its temperature change, even though the first in the chain is being affected. So outside of the other issues you all are discussing it appears that vacuums themselves might be preventing heat transfer between certain tile types, as it also appeared as if heat wouldn't transfer between airlocks that were touching either if in a vacuum.

Link to comment
Share on other sites

16 minutes ago, clickrush said:

Wait, how is this a bug? It clearly states that the switch activates when 'above' or 'below' the threshold. I agree that 'at least' and 'at most' is more useful though.

The negation of "above" is "at or below", not "below". Can't be above something when standing beside it.
 

Link to comment
Share on other sites

21 minutes ago, Risu said:

The negation of "above" is "at or below", not "below". Can't be above something when standing beside it.

The negation of "below" is "at or above", not "above". Can't be below something when standing beside it. Funny like that.

It worked before for equals though I'm not sure which way.

 

Link to comment
Share on other sites

5 hours ago, clickrush said:

It clearly states that the switch activates when 'above' or 'below' the threshold. I agree that 'at least' and 'at most' is more useful though.

Exactly. When above or below. 0g is not above or below 0g. 1000g is not above or below 1000g. So it should not be active.

The original scenario with the checkpoint shows that the atmo switch will never turn off.

You'll either be above 0g and active. Or you'll be at 0g and active as can be seen.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...