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);
}