private void SetFleeStatus(FleeReasons fleeReason) { var methodName = "SetFleeStatus"; LogTrace(methodName, "FleeReason: {0}", fleeReason); FleeReason = fleeReason; //update the fleeing timer UpdateFleeTimer(); //Play an alert if necessary switch (fleeReason) { case FleeReasons.InCapsule: LogMessage(methodName, LogSeverityTypes.Critical, "Fleeing because we're in a pod."); _alerts.Fleeing("In Capsule"); break; case FleeReasons.DowntimeNear: LogMessage(methodName, LogSeverityTypes.Critical, "Fleeing because downtime is imminent."); _alerts.Fleeing("Downtime Near"); break; case FleeReasons.LocalUnsafe: LogMessage(methodName, LogSeverityTypes.Critical, "Fleeing because local is not safe."); //_alerts.Alert_Flee("Local Unsafe"); break; case FleeReasons.LowAmmunition: LogMessage(methodName, LogSeverityTypes.Critical, "Fleeing because we're low on ammunition."); _alerts.Fleeing("Low Ammunition"); break; case FleeReasons.LowArmorTank: LogMessage(methodName, LogSeverityTypes.Critical, "Fleeing because our armor tank is low."); _alerts.Fleeing("Low armor tank"); break; case FleeReasons.LowShieldTank: LogMessage(methodName, LogSeverityTypes.Critical, "Fleeing because our shield tank is low."); _alerts.Fleeing("Low shield tank"); break; case FleeReasons.LowCapacitor: LogMessage(methodName, LogSeverityTypes.Critical, "Fleeing because we're low on capacitor."); _alerts.Fleeing("Low Capacitor"); break; case FleeReasons.LowDrones: LogMessage(methodName, LogSeverityTypes.Critical, "Fleeing because we're low on drones."); _alerts.Fleeing("Low Drones"); break; case FleeReasons.TargetJammed: LogMessage(methodName, LogSeverityTypes.Critical, "Fleeing because we're target jammed."); //_alerts.Alert_Flee("Target Jammed"); break; case FleeReasons.OfficerPresent: LogMessage(methodName, LogSeverityTypes.Critical, "Fleeing from officer spawn \"{0}\".", _officerName); _alerts.FactionSpawn(_officerName); break; } }