Exemple #1
0
        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;
            }
        }