/// <summary> /// Initializes a new instance of the <see cref="Trap"/> class. /// </summary> /// <param name="spawnInfo">The spawn information.</param> /// <param name="stats">The stats.</param> /// <param name="map">The map on which this instance will spawn.</param> /// <param name="trapIntelligence">The trap intelligence.</param> public Trap(MonsterSpawnArea spawnInfo, MonsterDefinition stats, GameMap map, INpcIntelligence trapIntelligence) : base(spawnInfo, stats, map) { this.Attributes = new TrapAttributeHolder(this); this.intelligence = trapIntelligence; this.intelligence.Npc = this; this.intelligence.Start(); }
/// <summary> /// Initializes a new instance of the <see cref="Monster" /> class. /// </summary> /// <param name="spawnInfo">The spawn information.</param> /// <param name="stats">The stats.</param> /// <param name="map">The map on which this instance will spawn.</param> /// <param name="dropGenerator">The drop generator.</param> /// <param name="npcIntelligence">The monster intelligence.</param> /// <param name="plugInManager">The plug in manager.</param> public Monster(MonsterSpawnArea spawnInfo, MonsterDefinition stats, GameMap map, IDropGenerator dropGenerator, INpcIntelligence npcIntelligence, PlugInManager plugInManager) : base(spawnInfo, stats, map) { this.dropGenerator = dropGenerator; this.Attributes = new MonsterAttributeHolder(this); this.MagicEffectList = new MagicEffectsList(this); this.walker = new Walker(this, () => this.StepDelay); this.intelligence = npcIntelligence; this.plugInManager = plugInManager; this.intelligence.Npc = this; this.intelligence.Start(); }