Skip to content

Commit

Permalink
Experiments on steroids (#365)
Browse files Browse the repository at this point in the history
* Squashed commit of the following:

commit b65071b
Author: SirMortimer <43166475+SirMortimer@users.noreply.github.com>
Date:   Wed Mar 27 16:11:00 2019 +0100

    Added doc for Experiement module

commit 906fceb
Author: Martin Domig <martin.domig@finkzeit.at>
Date:   Wed Mar 27 15:26:37 2019 +0100

    Added a bunch of new requirements for Experiment. Also renamed some of the config values, I figure since noone really used those before we won't make people angry.

commit 85ff242
Author: Martin Domig <martin.domig@finkzeit.at>
Date:   Wed Mar 27 15:26:01 2019 +0100

    Hide fixed generators (like the launch clamps)

commit 7fc9dff
Author: Martin Domig <martin@domig.net>
Date:   Wed Mar 27 00:43:01 2019 +0100

    Changelog.

commit 2348a75
Author: Martin Domig <martin@domig.net>
Date:   Wed Mar 27 00:41:44 2019 +0100

    Hide sickbay if it has no slots

commit 89471be
Author: Martin Domig <martin@domig.net>
Date:   Wed Mar 27 00:34:43 2019 +0100

    Experiment will now generate proper experiment IDs as required by KSP.
    The Kerbalism-specific situation filter is gone for now, we use whatever is defined by the experiement itself.

* Update modules.rst

* limited drive capacities. WIP. do not merge.

* Update modules.rst

* Limited storage. WIP. Do not merge.

* Should be good now.

* final touches

* Updated Arthurs ScienceReworks

* proper multi-drive support in the whole mod. not tested once. WIP. do not merge.

* Juggling with persistence of hard drives.

* WIP WIP wipetywip

* Kerbals display no variance in height or weight. They stand roughly 0.75 meters tall (2'5½"). A Kerbal in an EVA suit has a mass of 93.75 kilograms.

* ...

* Multiple hard drives working... somewhat. not bug free, not tested very well. but they will no longer be lost when you reload the game.

* tweaked hard drive + file manager. experiments now test for shrouded.

* Updated Science experiment definition configs. Those need balancing, please help

* updated the readme on science.

* Introducing sample mass. There's a bug when running it tho.

* sample masses. seems to work now.

* Transferral of samples from EVA to pod works :)

* Update modules.rst

* added experiment_desc to experiment, new requirement options, minor tweaks

* Update modules.rst

* fixed the thing for KSP 1.3... i hope

* fix for the #autoloc issue

* Minor tweaks to configure: titles should be uppercase words. and don't spam configure stuff over the available parts section in R&D

* working on balancing the early career game, tweaking some stuff

* the single most useless piece of macOS right there. be gone!

* finishing touches.

* Air pumps only if you add them.

* experiment was inoperable after having collected 100% once. fixed that.

* antenna power nerf when science is enabled

* balancing a few things.

* nerfed the nerf

* the remaining transmission time tooltip will no longer replace the remaining info (science points, biome data etc)

* automated transmission of a file will only kick in if the file has not been changed for 3 seconds or is bigger than 3Kb. That way you can cancel the transmission of a file in the FileManager when it is almost completely transmitted, this was not possible before.

* Docs + Changelog.

Ready to merge.

* updated bin
  • Loading branch information
SirMortimer authored and steamport committed Mar 31, 2019
1 parent 8a05ceb commit 0911c3f
Show file tree
Hide file tree
Showing 56 changed files with 3,645 additions and 785 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,8 @@ KSPAssets.dll
Assembly-*.dll
UnityEngine*.dll

# mcCrap
.DS_Store

# Windows shortcuts
*.lnk
Expand Down
31 changes: 15 additions & 16 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
with the fuel cell (Sir Mortimer)
* Added LSS system diagrams, and a small guide on how to set up O2 + water recycling (Sir Mortimer)
* Hide Sickbay from automation if it is unavailable (Sir Mortimer)
* Some Changes to the Kerbalism Experiment part module (Sir Mortimer, Arthur)
* New Science system (Sir Mortimer, Arthur)

------------------------------------------------------------------------------------------------------

Expand Down Expand Up @@ -112,7 +112,7 @@
stress and radiation. When under stress they can make mistakes, some do better than others. (Sir Mortimer)
* A laboratory with high level crew members in it will work faster (Sir Mortimer)
* Harvesters will work better with an engineer on board. (Sir Mortimer)
* Fixed another icons sometimes not displaying bug (PiezPiedPy)
* Fixed another icons sometimes not displaying bug (PiezPiedPy)
* SSPX 2.5m Greenhouse now producing food at the expected rate. (theJesuit)
* ResourceBalance run the pressurizing\depressurizing (old "equalize\venting"), it gives priority to habitats with crew. (HaullyGames)
* Habitats equalize/venting function changed to pressurizing/depressurizing, crewed habitats have priority while multiple habitats are pressurizing. (HaullyGames)
Expand Down Expand Up @@ -161,19 +161,19 @@

* Kerbalism documents are now available here: https://kerbalism.readthedocs.io Note they are still a Work in Progress

* Fixed the icons sometimes not displaying bug and icon scaling bug (PiezPiedPy)
* Fixed the icons sometimes not displaying bug and icon scaling bug (PiezPiedPy)
* RemoteTech support now integrates correctly with the planner and signal system (PiezPiedPy)
* Improved RemoteTech support (simulate in planner buttons, reliability, antenna EC consumption) (Gordon Dry & PiezPiedPy)
* RemoteTech antennas will need power even if vessel is unloaded (Sir Mortimer)
* RemoteTech antennas fitted to Vessels without power will no longer relay signals to other vessels (Sir Mortimer)
* RemoteTech antennas can now be enabled/disabled in Automation (Sir Mortimer)
* RemoteTech antennas can now break down due to reliability failures (Sir Mortimer)
* Chemical Plant and ECLSS parts are now surface attachable, ECLSS part capacity increased to support 3 crew (PiezPiedPy)
* Chemical Plant and ECLSS parts are now surface attachable, ECLSS part capacity increased to support 3 crew (PiezPiedPy)
* Added support for ConfigurableContainers, they now have 6 additional tank configs as defined below:
KerbalismSupplies (Food, Water) - KerbalismBreathing (Oxygen, Nitrogen)
KerbalismWaste (Waste, WasteWater) - KerbalismGreenhouse (CarbonDioxide, Ammonia, Water)
KerbalismFuelcellH2 (Oxygen, Hydrogen) - KerbalismFuelcellMP (Oxygen, MonoPropellant) (Gordon Dry)
* Containers have had their volume and mass calculated with a calculator (PiezPiedPy)
* Containers have had their volume and mass calculated with a calculator (PiezPiedPy)
* Science labs can now reset experiments (PiezPiedPy)
* CryoTanks are now simulated in the background, also fuel boiloff is simulated in the planner (PiezPiedPy)
* Reverted the Quick'n'dirty fix for GPOSpeedFuelPump because it has been fixed with v1.8.14 (Gordon Dry)
Expand All @@ -183,16 +183,16 @@
to dump overboard, the Dump button is also usable InFlight allowing for changes of strategies on the go (PiezPiedPy)
* Overhaul of all Chemical Plant and ISRU processes using CRP densities and molar masses (PiezPiedPy)
* SOE process now converts wasted Carbon into Shielding, Haber process now needs EC (PiezPiedPy)
* Hydrazine process now outputs Oxygen and requires EC and A New Nitrogen injected Hydrazine process added (PiezPiedPy)
* Vessel group filter can now search for vessel names that contain multiple words (Sir Mortimer)
* Hydrazine process now outputs Oxygen and requires EC and A New Nitrogen injected Hydrazine process added (PiezPiedPy)
* Vessel group filter can now search for vessel names that contain multiple words (Sir Mortimer)
* Changed the Small Supply Container to be 0.625m in diameter instead of 0.5m (Gordon Dry)
* Added radiation belts to ExtraSolar planets and moons - science definition texts still missing (Gordon Dry)
* Fixed a commented out bracket in another patch that hindered the Bluedog_DB Geiger counter from being a sensor (Gordon Dry)
* Configurable parts can now contain the same process in multiple slots (PiezPiedPy)
* Fixed MRE not running when shielding is full or does not exist on a vessel (PiezPiedPy)
* MRE process now outputs a small amount of CO2 (PiezPiedPy)
* GeigerCounter science experiment fixes for OPM and NewHorizons. Also SEP support fixes (Gordon Dry)
* Rebalanced Sabatier and Anthraquinone processes to output LiquidFuel and Oxidizer at Stock ratio of 9:11 (PiezPiedPy)
* Rebalanced Sabatier and Anthraquinone processes to output LiquidFuel and Oxidizer at Stock ratio of 9:11 (PiezPiedPy)
* Rebalanced H2+O2 and LH2+O2 fuel cells to output more realistic EC levels (PiezPiedPy)
* Some tooltip colors changed from a nasty hard to see red to a nice gold (PiezPiedPy)
* Fixed antennas bug having no science data rate in languages other than English (PiezPiedPy)
Expand Down Expand Up @@ -243,7 +243,7 @@
* Added LH2+O2 processes to the Fuel Cells for USI and CryoTanks Support (PiezPiedPy)
* Added Hydrogen Liquefaction and Liquid Hydrogen Evaporator processes to USI and CryoTanks Support (PiezPiedPy)
* Fixed CryoTanks NRE in Planner and added LH2 to radial tanks for CryoTanks Support (PiezPiedPy)

### For Developers

------------------------------------------------------------------------------------------------------
Expand All @@ -268,7 +268,7 @@
though, when changing scenes with the [ESC]Pause menu you may notice the target readout pointing to the wrong vessel and
some signals that where previously dis-connected wrongly connecting back online, simply changing scene from for example
the Space Center to Tracking Station will solve all errors in the network.
*Thanks to (PiezPiedPy) for the transmitter overhaul.*
*Thanks to (PiezPiedPy) for the transmitter overhaul.*

* Nitrogen added to pods on rescue, Humidity controller now detects breathable atmospheres (PiezPiedPy)
* Kerbalism Communotron 8 transmitter is back (PiezPiedPy)
Expand All @@ -292,7 +292,7 @@

* Harvesters can now extract Nitrogen from the surface (JadeOfMom)
* Filters can now extract Ammonia from the atmosphere (JadeOfMom)
* New parts MiniPump and RadialPump to extract Water, Nitrogen and Ammonia from oceans (thanks to JadeOfMom for the Harvesters and PiezPiedPy for the parts)
* New parts MiniPump and RadialPump to extract Water, Nitrogen and Ammonia from oceans (thanks to JadeOfMom for the Harvesters and PiezPiedPy for the parts)
* Harvesters are now spec'd at 10% abundance by default (madman2003)
** The percentage is specified in the UI when selecting the process the harvester will run
** The percentage can be overruled for individual parts
Expand Down Expand Up @@ -321,7 +321,7 @@
* Give Greenhouses the basic resources needed to run (madman2003)
* There is now a help file on GitHub for those wishing to report bugs or contribute to Kerbalism.
see [CONTRIBUTING.md](https://github.com/MoreRobustThanYou/Kerbalism/blob/master/CONTRIBUTING.md)

### For Developers

* Profile importing is now available to modders who wish to import their own processes, rules, supplies etc (thanks to PiezPiedPy)
Expand Down Expand Up @@ -350,7 +350,7 @@

1.4.3
- RemoteTech antennas now show in the Ship Monitor

1.4.2
- Updated B9Switch config

Expand All @@ -363,10 +363,10 @@

1.4.1.2
- Implement player101's science fix.

1.4.1.1
- Actually fix relay strength this time

1.2.9
- ported to KSP 1.3.0.1804
- improved SSTU support patch (@Maxzhao1999)
Expand Down Expand Up @@ -1032,4 +1032,3 @@

0.9.9.0
First public release

Binary file modified GameData/Kerbalism/Kerbalism16.bin
Binary file not shown.
Binary file modified GameData/Kerbalism/KerbalismBootstrap.dll
Binary file not shown.
58 changes: 14 additions & 44 deletions GameData/Kerbalism/Profiles/Default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Profile
// Kerbals use 1/16 of an astronauts use and have 2 meals/day giving figures of 0.10125Kg/day drinking
// and 0.033125Kg/day to rehydrate food 2 times/day = 0.134375Kg/day.
// Water to WasteWater mass difference is calculated internally.
interval = 5400.0 // 4 drinks per-day
interval = 5400.0 // 4 drinks per-day
degeneration = 0.08333 // 12 drinks, 3 days
individuality = 0.01
warning_message = #KERBALISM_water_warning
Expand Down Expand Up @@ -159,8 +159,8 @@ Profile
rate = 0.0001799451815
// Based on a humans output of humidity from breathing, a humans breath is at 100% humidity and at 50Ltr/day MoistAtmosphere,
// contains 850 mL of Water/day.
// Kerbals use 1/16 of a humans use giving figures of 3.125Ltr/day MoistAtmosphere containing 53.125mL of Water/day
// If a kerbal runs out of food or water the water contained in its breath is sourced from its internal fat reserves of all the snacks previously eaten.
// Kerbals use 1/16 of a humans use giving figures of 3.125Ltr/day MoistAtmosphere containing 53.125mL of Water/day
// If a kerbal runs out of food or water the water contained in its breath is sourced from its internal fat reserves of all the snacks previously eaten.
input_threshold = 0.95
// When `input` resource reaches this percentage of its max capacity trigger degeneration. (The humidity is set to trigger at 95%)
degeneration = 0.0000231481 // 2 days
Expand Down Expand Up @@ -313,7 +313,7 @@ Profile
{
name = atmo leaks
modifier = surface,non_breathable
input = Atmosphere@0.000001899785682 // leakage of Atmosphere (N2) per second for a surface area of 1 m²
input = Atmosphere@0.000001899785682 // leakage of Atmosphere (N2) per second for a surface area of 1 m²
// From ISS: see https://www.nasa.gov/pdf/179225main_ISS_Poster_Back.pdf and https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20110012997.pdf
// 935 m³ volume, ~1105 m² surface (estimated), 0.227 Kg/day (structural)
// Surface estimation: see the "Atmo Leak Estimation" spreadsheet in misc.
Expand Down Expand Up @@ -452,7 +452,7 @@ Profile
input = ElectricCharge@2.0 // 2 kW MRE reactor at 2300 K with heat corrosion resistant crucible
input = Ore@0.00006342
output = Oxygen@0.088843 // 42% of regolith is O2
output = CarbonDioxide@0.00444215 // approx 2% of regolith is CO2, released in the pre-heating stage @950K
output = CarbonDioxide@0.00444215 // approx 2% of regolith is CO2, released in the pre-heating stage @950K
output = Shielding@0.000000112 // makes Shielding out of waste Slag
dump_valve = Shielding&CarbonDioxide,Shielding,Shielding&Oxygen,CarbonDioxide,Oxygen,CarbonDioxide&Oxygen
}
Expand Down Expand Up @@ -487,7 +487,7 @@ Profile
input = ElectricCharge@0.057 // 32" OLED TV, source : https://www.rtings.com/tv/learn/led-oled-power-consumption-and-electricity-cost
cures = stress@0.00000000463
}
Process
{
name = zero gravity shower // showers are complex
Expand All @@ -499,7 +499,7 @@ Profile
interval = 64800.0 // one shower every 18 hours / 3 days
cures = stress@0.00000000463
}
Process
{
name = washer-dryer // laundry is hard
Expand All @@ -511,7 +511,7 @@ Profile
interval = 259200.0 // kerbals change clothes every 72 hours / 12 days
cures = stress@0.00000000463
}
}
Expand Down Expand Up @@ -555,15 +555,6 @@ PARTUPGRADE:NEEDS[ProfileDefault]
running = true
}
MODULE
{
name = ProcessController
resource = _AirPump
title = Air Pump
capacity = #$/CrewCapacity$
running = true
}
MODULE
{
name = ProcessController
Expand Down Expand Up @@ -651,14 +642,6 @@ PARTUPGRADE:NEEDS[ProfileDefault]
id_value = _PressureControl
}
// Air pump always is add with pressureControl
MODULE
{
type = ProcessController
id_field = resource
id_value = _AirPump
}
RESOURCE
{
// approx 5 days of leaks and volume of a crew member
Expand Down Expand Up @@ -904,14 +887,6 @@ PARTUPGRADE:NEEDS[ProfileDefault]
id_field = resource
id_value = _PressureControl
}
// Air pump always is add with pressureControl
MODULE
{
type = ProcessController
id_field = resource
id_value = _AirPump
}
}
SETUP
Expand Down Expand Up @@ -1011,7 +986,7 @@ PARTUPGRADE:NEEDS[ProfileDefault]
// ============================================================================
// container volume is in Liters, calculated from the containers size and stored in the parts .cfg file
// amount and maxAmount are percentages of a full container at atmospheric pressure, e.g. 1 = 100%, 0.5 = 50%, 5 = 500% (or pressurized to 5 bar)
// amount and maxAmount are percentages of a full container at atmospheric pressure, e.g. 1 = 100%, 0.5 = 50%, 5 = 500% (or pressurized to 5 bar)
@PART[kerbalism-container-inline-*]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
Expand Down Expand Up @@ -1133,7 +1108,7 @@ PARTUPGRADE:NEEDS[ProfileDefault]
// ============================================================================
// container volume is in Liters, calculated from the containers size and stored in the parts .cfg file
// amount and maxAmount are percentages of a full container at atmospheric pressure, e.g. 1 = 100%, 0.5 = 50%, 5 = 500% (or pressurized to 5 bar)
// amount and maxAmount are percentages of a full container at atmospheric pressure, e.g. 1 = 100%, 0.5 = 50%, 5 = 500% (or pressurized to 5 bar)
@PART[kerbalism-container-radial-*]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
Expand Down Expand Up @@ -1329,15 +1304,6 @@ PARTUPGRADE:NEEDS[ProfileDefault]
running = true
}
MODULE
{
name = ProcessController
resource = _AirPump
title = Air Pump
capacity = 0.2143
running = true
}
RESOURCE
{
name = Ammonia
Expand Down Expand Up @@ -2452,3 +2418,7 @@ RESOURCE_DEFINITION
isVisible = false
}
@PHYSICSGLOBALS:FOR[Kerbalism]
{
%kerbalCrewMass = 0.09375
}

0 comments on commit 0911c3f

Please sign in to comment.