void Awake() { Instance = this; }
/// <summary> /// Initialize the preferences based on the appearance of the alien /// </summary> /// <param name="in_Alien"></param> public AlienRequirements(AlienAI in_Alien) { MyAlien = in_Alien; BreathableAtmosphere.Add(GasType.Oxygen, new Gas(GasType.Oxygen) { Percentage = in_Alien.HeadLimbCount[HeadLimbType.Eye_Stalk] * 0.05f }); BreathableAtmosphere.Add(GasType.Carbon_Dioxide, new Gas(GasType.Carbon_Dioxide) { Percentage = (in_Alien.HeadLimbCount[HeadLimbType.Eye_Stalk] * -0.05f) + in_Alien.ArmLimbCount[ArmLimbType.Tentacle] * 0.01f }); BreathableAtmosphere.Add(GasType.Nitrogen, new Gas(GasType.Nitrogen) { Percentage = in_Alien.HeadLimbCount[HeadLimbType.EyeBalls] * 0.05f }); BreathableAtmosphere.Add(GasType.Methane, new Gas(GasType.Methane) { Percentage = in_Alien.HeadLimbCount[HeadLimbType.EyeBalls] * -0.10f + in_Alien.ArmLimbCount[ArmLimbType.Tentacle] * 0.5f }); BreathableAtmosphere.Add(GasType.Sulfur, new Gas(GasType.Sulfur) { Percentage = in_Alien.ArmLimbCount[ArmLimbType.Robot] * -0.05f + (in_Alien.HeadLimbCount[HeadLimbType.Antennae] > 0 ? 0.65f : 0f) }); BreathableAtmosphere.Add(GasType.Hydrogen, new Gas(GasType.Hydrogen) { Percentage = in_Alien.HeadLimbCount[HeadLimbType.Mouth] > 0 ? 0.65f : 0f + in_Alien.HeadLimbCount[HeadLimbType.Antennae] > 0 ? 0.21f : 0f }); BreathableAtmosphere.Add(GasType.Chlorine, new Gas(GasType.Chlorine) { Percentage = in_Alien.HeadLimbCount[HeadLimbType.Mouth] * -0.42f }); switch (in_Alien.ArmLimbCount[ArmLimbType.Tentacle]) { case 1: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.01f; break; case 2: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.10f; break; case 3: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.14f; break; case 4: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.10f; break; case 5: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.02f; break; case 6: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.03f; break; case 7: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.04f; break; case 8: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.02f; break; case 9: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.03f; break; case 10: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.10f; break; case 11: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.21f; break; case 12: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.04f; break; case 13: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.10f; break; case 14: BreathableAtmosphere[GasType.Nitrogen].Percentage += 0.05f; break; } switch (in_Alien.HeadLimbCount[HeadLimbType.Warts]) { case 1: BreathableAtmosphere[GasType.Chlorine].Percentage += 0.09f; break; case 2: BreathableAtmosphere[GasType.Chlorine].Percentage += 0.13f; break; case 3: BreathableAtmosphere[GasType.Chlorine].Percentage += 0.5f; break; case 4: BreathableAtmosphere[GasType.Chlorine].Percentage += 0.15f; break; case 5: BreathableAtmosphere[GasType.Chlorine].Percentage += 0.15f; break; } LikedRadio = new Radio(RadioType.NULL, 0.5f, 0.1f); HatedRadio = new Radio(RadioType.Cantina, 0.5f, 0.1f); LikedHeat = new Heat(20, 5); switch (MyAlien.TorsoColor) { case TorsoLimbType.Red: LikedHeat.TemperatureDegrees = HeatingManager.Instance.MinTemperature; break; case TorsoLimbType.Blue: LikedHeat.TemperatureDegrees = HeatingManager.Instance.MaxTemperature; break; case TorsoLimbType.Green: LikedHeat.TemperatureDegrees = HeatingManager.Instance.MaxTemperature / 2; break; } }