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; }
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; }
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; }
/// <summary> /// Milliseconds before creature attacks. /// </summary> /// <param name="limit"></param> protected void SetAggroLimit(AggroLimit limit) { _aggroLimit = limit; }