public override void OnTick() { TimeSpan ts = DateTime.Now.Subtract(LastSpawn); int compteur = (int)ts.TotalSeconds; if (Frequency == 0) { Console.WriteLine("BaseSpawner frequency = 0, {0},{1},{2},{3},{4}", ci.ToString(), X, Y, Z, MapId); return; } if (compteur / Frequency > howMuch) { compteur = howMuch * Frequency; } while (compteur > 0) { if (CurrentAmount < howMuch) { BaseCreature bc = (BaseCreature)ci.Invoke(null); bc.InitStats(); bc.SpawnerLink = this; bc.Orientation = this.Orientation; // if ( bc.AIEngine != null && bc.AIEngine.CustomBehaviours != null && bc.AIEngine.CustomBehaviours.Contains( CustomBehavioursTypes.Stay ) ) World.Add(bc, X, Y, Z, MapId); /*else*/ // World.Add( bc, realx, realy, realz, MapId ); Bind(bc); bc.ZoneId = ZoneId; LastSpawn = DateTime.Now; compteur -= Frequency; bc.OnAddToWorld(); } else { break; } } }