Beispiel #1
0
        private void SpawnRift()
        {
            var rift = (Rift)_entityServices.Factory.CreateWithRandomEID(DefinitionNames.RIFT);

            rift.SetDespawnTime(TimeSpan.FromHours(3));
            rift.RemovedFromZone += OnRiftRemovedFromZone;

            // generate a stronghold teleport and make it random chance.
            // make sure we have at least one stronghold enabled.
            if (_zonemanager.Zones.OfType <StrongHoldZone>().Count() > 0)
            {
                int rand = r.Next(0, 10);
                if (rand == 2 && !StrongHoldRiftGenerated)
                {
                    rift.DestinationStrongholdZone = GetRandomStrongHoldZone();
                    rift.OriginZone = this._zone.Id;
                }
            }

            var spawnPosition = _spawnPositionFinder.FindSpawnPosition().ToPosition();

            if (_zone is StrongHoldZone)
            {
                //TODO: Fixme for I should be a DB table for valid spawn locations on strongholds
                spawnPosition = new Position(1120, 1039);
            }

            rift.AddToZone(_zone, spawnPosition, ZoneEnterType.NpcSpawn);
            Logger.Info(string.Format("Rift spawned on zone {0} {1} ({2}) Stronghold Zone ID: {3}", _zone.Id, rift.ED.Name, rift.CurrentPosition, rift.DestinationStrongholdZone));
        }
        private void SpawnRift()
        {
            var rift = (Rift)_entityServices.Factory.CreateWithRandomEID(DefinitionNames.RIFT);

            rift.SetDespawnTime(TimeSpan.FromHours(3));
            rift.RemovedFromZone += OnRiftRemovedFromZone;

            var spawnPosition = _spawnPositionFinder.FindSpawnPosition().ToPosition();

            rift.AddToZone(_zone, spawnPosition, ZoneEnterType.NpcSpawn);
            Logger.Info("Rift spawned. " + rift.ED.Name + " (" + rift.CurrentPosition + ")");
        }