Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vehicle cooler #30720

Merged
merged 3 commits into from May 24, 2019
Merged

Vehicle cooler #30720

merged 3 commits into from May 24, 2019

Conversation

ghost
Copy link

@ghost ghost commented May 21, 2019

Summary

SUMMARY: Features "Adds a vehicle-mounted area cooler"

Purpose of change

Adds a part that can cool 3-4 tile radius of indoor/sheltered space down to around 4-5 C to make a walk-in fridge or a refridgerated truck area etc

Describe the solution

Makes a new field type - cold air, which operates on the opposite principle to hot air.
Instead of worrying about venting ports and where to redirect the heat exchange waste heat to, I just made it a roof mounted part, an the assumption is it just pumps the hot air out above where it dissipates rapidly ( which it seems a lot of refrigerated trucks do aswell irl )

Describe alternatives you've considered

A part that worked like a rimworld cooler, and had a hot side and a cold side, but that would require some unnecessary logic to how the part worked when the vehicle was turning etc.

Additional context

N/A

@ifreund ifreund added <Enhancement / Feature> New features, or enhancements on existing [C++] Changes (can be) made in C++. Previously named `Code` [JSON] Changes (can be) made in JSON Vehicles Vehicles, parts, mechanics & interactions Items / Item Actions / Item Qualities Items and how they work and interact labels May 21, 2019
@nexusmrsep
Copy link
Contributor

Good job. Cold air was on my TODO list and I can scratch that now.

Shouldn't cold air and hot air cancel each other out? Also with different levels of hotness/coldness it would need to be gradual. Such interaction might be added to the field processing chunk of the code.

@ZhilkinSerg ZhilkinSerg self-assigned this May 21, 2019
@ghost
Copy link
Author

ghost commented May 21, 2019

Good job. Cold air was on my TODO list and I can scratch that now.

Shouldn't cold air and hot air cancel each other out? Also with different levels of hotness/coldness it would need to be gradual. Such interaction might be added to the field processing chunk of the code.

Mixing different fields and interacting different gases is something none of the other fields and gases do, and could be extremely complex.
Hot air and cold air do cancel each other out when it comes to the temperature calculation.
If someone wants to do simulation of gaseous motion and mixing, then thatd be great, but that would be way beyond me!

@nexusmrsep
Copy link
Contributor

I volunteer to do those interactions when this gets merged. The logic behind it would be following: cold/hot air both have effective 4x3=12 levels of intensity. If you compare and substract those levels at a tile with both cold+hot air you can destroy both fields and spawn a new one based on the resulting intensity. If the levels are equal you just destroy both fields effectively cancelling each other out. There might be some logic involved with field's age, but I believe that if a new field would not be older then the max age of interacting old fields it'd fine.

src/vehicle.cpp Outdated Show resolved Hide resolved
Co-Authored-By: Isaac Freund <isaac.a.freund@gmail.com>
@ZhilkinSerg ZhilkinSerg merged commit 86bd00c into CleverRaven:master May 24, 2019
@ZhilkinSerg ZhilkinSerg removed their assignment May 24, 2019
@ghost ghost deleted the cold_air branch September 11, 2019 10:04
@Shibimon
Copy link

How hard would be to add some kind of regulator to manually choose the temperature this will go for?
It would be a really useful tool to cool places during summer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C++] Changes (can be) made in C++. Previously named `Code` <Enhancement / Feature> New features, or enhancements on existing Items / Item Actions / Item Qualities Items and how they work and interact [JSON] Changes (can be) made in JSON Vehicles Vehicles, parts, mechanics & interactions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants