public static void Post(Severity severity, VesselEvent e, Vessel v) { bool is_eva = v.isEVA; bool is_probe = Lib.CrewCapacity(v) == 0; string text = ""; string subtext = ""; // vessel if (!v.isEVA) { switch(e) { // electric charge case VesselEvent.ec: // manned vessel if (Lib.CrewCapacity(v) > 0) { switch(severity) { case Severity.relax: text = "$VESSEL batteries recharged"; subtext = "The crew is allowed music again"; break; case Severity.warning: text = "On $VESSEL, batteries are almost empty"; subtext = "We are squeezing the last bit of juice"; break; case Severity.danger: text = "There is no more electric charge on $VESSEL"; subtext = "Life support systems are off"; break; } } // probe else { switch(severity) { case Severity.relax: text = "$VESSEL batteries recharged"; subtext = "Systems are back online"; break; case Severity.warning: text = "On $VESSEL, batteries are almost empty"; subtext = "Shutting down non-essential systems"; break; case Severity.danger: text = "There is no more electric charge on $VESSEL"; subtext = "We lost control"; break; } } break; // food case VesselEvent.food: switch(severity) { case Severity.relax: text = "$VESSEL food reserves restored"; subtext = "Double snack rations for everybody"; break; case Severity.warning: text = "On $VESSEL, food reserves are getting low"; subtext = "Anything edible is being scrutinized"; break; case Severity.danger: text = "There is no more food on $VESSEL"; subtext = "The crew prepares for the inevitable"; break; // FIXED was “prepare to” } break; // oxygen case VesselEvent.oxygen: switch(severity) { case Severity.relax: text = "$VESSEL oxygen reserves restored"; subtext = "The crew is taking a breather"; break; case Severity.warning: text = "On $VESSEL, oxygen reserves are dangerously low"; subtext = "There is mild panic among the crew"; break; // FIXED was “mildly panic” case Severity.danger: text = "There is no more oxygen on $VESSEL"; subtext = "Everybody stop breathing"; break; } break; } } // eva else { switch(e) { // electric charge case VesselEvent.ec: switch(severity) { case Severity.relax: text = "$VESSEL recharged the battery"; break; case Severity.warning: text = "$VESSEL is running out of power"; break; case Severity.danger: text = "$VESSEL is out of power"; break; } break; // oxygen case VesselEvent.oxygen: switch(severity) { case Severity.relax: text = "$VESSEL oxygen tank has been refilled"; break; case Severity.warning: text = "$VESSEL is running out of oxygen"; break; case Severity.danger: text = "$VESSEL is out of oxygen"; break; } break; } } text = text.Replace("$VESSEL", "" + v.vesselName + ""); Post(severity, text, subtext); } // add a message related to a kerbal public static void Post(Severity severity, KerbalEvent e, Vessel v, ProtoCrewMember c, KerbalBreakdown breakdown = KerbalBreakdown.mumbling) { string pretext = (!v.isActiveVessel ? ("On " + (v.isEVA ? "EVA" : v.vesselName) + ", ") : "") + "" + c.name + " "; string text = ""; string subtext = ""; switch(e) { // climate (cold) case KerbalEvent.climate_low: switch(severity) { case Severity.relax: text = "hypothermia is under control"; break; case Severity.warning: text = "feels cold"; break; case Severity.danger: text = "is freezing to death"; break; case Severity.fatality: text = "froze to death"; break; // FIXED was “freezed” } break; // climate (hot) case KerbalEvent.climate_high: switch(severity) { case Severity.relax: text = "is hugging the climatizer"; break; case Severity.warning: text = "is sweating"; break; case Severity.danger: text = "is burning alive"; break; case Severity.fatality: text = “was burned alive"; break; // FIXED added “was” } break; // food case KerbalEvent.food: switch(severity) { case Severity.relax: text = "has got a mouthful of snacks now"; break; case Severity.warning: text = "is hungry"; break; case Severity.danger: text = "is starving"; break; case Severity.fatality: text = "starved to death"; break; } break; // oxygen case KerbalEvent.oxygen: switch(severity) { case Severity.relax: text = "is breathing again"; break; case Severity.warning: text = "can't breathe”; break; // FIXED was “can’t breath” case Severity.danger: text = "is suffocating"; break; case Severity.fatality: text = "suffocated to death"; break; } break; // radiation case KerbalEvent.radiation: switch(severity) { // note: no recovery from radiation case Severity.warning: text = "has been exposed to intense radiation"; break; case Severity.danger: text = "is reporting symptoms of radiation poisoning"; break; case Severity.fatality: text = "died after being exposed to extreme radiation"; break; } break; // quality-of-life case KerbalEvent.stress: switch(severity) { // note: no recovery from stress case Severity.warning: text = "is losing $HIS_HER mind"; subtext = "Concentration is becoming a problem"; break; case Severity.danger: text = "is about to breakdown"; subtext = "Starting to hear voices"; break; case Severity.breakdown: switch(breakdown) { case KerbalBreakdown.mumbling: text = "has been in space for too long"; subtext = "Mumbling incoherently"; break; case KerbalBreakdown.argument: text = "had an argument with the rest of the crew"; subtext = "Morale is degenerating at an alarming rate"; break; case KerbalBreakdown.fat_finger: text = "is pressing buttons at random on the control panel"; subtext = "Science data has been lost"; break; case KerbalBreakdown.rage: text = "is possessed by a blind rage"; subtext = "A component has been damaged"; break; case KerbalBreakdown.depressed: text = "is not respecting the rationing guidelines"; subtext = "Food has been lost"; break; case KerbalBreakdown.wrong_valve: text = "opened the wrong valve"; subtext = "Oxygen has been lost"; break; } break; } break; } text = text.Replace("$HIS_HER", c.gender == ProtoCrewMember.Gender.Male ? "his" : "her"); text = text.Replace("$HIM_HER", c.gender == ProtoCrewMember.Gender.Male ? "him" : "her"); Post(severity, pretext + text, subtext); }