Example #1
0
        protected AiScript()
        {
            this.Phrases = new List <string>();

            _lastBeat       = DateTime.MinValue;
            _heartbeat      = IdleHeartbeat;
            _heartbeatTimer = new Timer(this.Heartbeat, null, -1, -1);

            _rnd       = new Random(RandomProvider.Get().Next());
            _reactions = new Dictionary <AiState, Dictionary <AiEvent, Func <IEnumerable> > >();
            _reactions[AiState.Idle]  = new Dictionary <AiEvent, Func <IEnumerable> >();
            _reactions[AiState.Aware] = new Dictionary <AiEvent, Func <IEnumerable> >();
            _reactions[AiState.Alert] = new Dictionary <AiEvent, Func <IEnumerable> >();
            _reactions[AiState.Aggro] = new Dictionary <AiEvent, Func <IEnumerable> >();
            _reactions[AiState.Love]  = new Dictionary <AiEvent, Func <IEnumerable> >();

            _state          = AiState.Idle;
            _aggroRadius    = 500;
            _aggroMaxRadius = 3000;
            _alertDelay     = TimeSpan.FromMilliseconds(8000);
            _hateTags       = new Dictionary <string, string>();
            _loveTags       = new Dictionary <string, string>();
            _doubtTags      = new Dictionary <string, string>();

            _maxDistanceFromSpawn = 3000;

            _aggroLimit = AggroLimit.One;
        }
Example #2
0
        public AiScript()
        {
            this.Phrases = new List<string>();

            _lastBeat = DateTime.MinValue;
            _heartbeat = IdleHeartbeat;
            _heartbeatTimer = new Timer(this.Heartbeat, null, -1, -1);

            _rnd = new Random(RandomProvider.Get().Next());

            _state = AiState.Idle;
            _aggroRadius = 500;
            _aggroMaxRadius = 3000;
            _alertDelay = TimeSpan.FromMilliseconds(8000);
            _aggroDelay = TimeSpan.FromMilliseconds(4000);
            _hateTags = new Dictionary<string, string>();
            _loveTags = new Dictionary<string, string>();

            _aggroType = AggroType.Passive;
            _aggroLimit = AggroLimit.One;
        }
Example #3
0
		protected AiScript()
		{
			this.Phrases = new List<string>();

			_lastBeat = DateTime.MinValue;
			_heartbeat = IdleHeartbeat;
			_heartbeatTimer = new Timer(this.Heartbeat, null, -1, -1);

			_rnd = new Random(RandomProvider.Get().Next());
			_reactions = new Dictionary<AiState, Dictionary<AiEvent, Func<IEnumerable>>>();
			_reactions[AiState.Idle] = new Dictionary<AiEvent, Func<IEnumerable>>();
			_reactions[AiState.Aware] = new Dictionary<AiEvent, Func<IEnumerable>>();
			_reactions[AiState.Alert] = new Dictionary<AiEvent, Func<IEnumerable>>();
			_reactions[AiState.Aggro] = new Dictionary<AiEvent, Func<IEnumerable>>();
			_reactions[AiState.Love] = new Dictionary<AiEvent, Func<IEnumerable>>();

			_state = AiState.Idle;
			_aggroRadius = 500;
			_aggroMaxRadius = 3000;
			_alertDelay = TimeSpan.FromMilliseconds(8000);
			_hateTags = new Dictionary<string, string>();
			_loveTags = new Dictionary<string, string>();
			_doubtTags = new Dictionary<string, string>();

			_maxDistanceFromSpawn = 3000;

			_aggroLimit = AggroLimit.One;
		}
Example #4
0
		/// <summary>
		/// Milliseconds before creature attacks.
		/// </summary>
		/// <param name="limit"></param>
		protected void SetAggroLimit(AggroLimit limit)
		{
			_aggroLimit = limit;
		}
Example #5
0
 /// <summary>
 /// Milliseconds before creature attacks.
 /// </summary>
 /// <param name="limit"></param>
 protected void SetAggroLimit(AggroLimit limit)
 {
     _aggroLimit = limit;
 }