Exemple #1
0
        private void ResetFleeStatus()
        {
            var methodName = "ResetFleeStatus";

            LogTrace(methodName);

            LogMessage(methodName, LogSeverityTypes.Debug, "Resetting flee status: {0}",
                       FleeReason);

            //This pulses before movement so we need to remove the flee desti from the desti queue
            if (_movement.DestinationQueue.Count > 0 &&
                _movement.DestinationQueue[0] == FleeDestination)
            {
                LogMessage(methodName, LogSeverityTypes.Debug, "No longer need to flee to FleeDestination, clearing the movement queue.");
                _movement.ClearDestinations(true);
            }

            FleeReason      = FleeReasons.None;
            FleeDestination = null;
        }
Exemple #2
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;
            }
        }