Beispiel #1
0
            public static void StartInvasion(WaveSet waveset)
            {
                //Disallow the starting of more invasions.
                invasionStarted = true;

                //Initialize the variables
                CurrentInvasion = waveset;
                CurrentWave     = waveset.Waves[0];
                if (CurrentWave.SpawnGroup.PlayerMultiplier)
                {
                    WaveSize = CurrentWave.SpawnGroup.KillAmount * TShock.Utils.ActivePlayers();
                }
                else
                {
                    WaveSize = CurrentWave.SpawnGroup.KillAmount;
                }

                CurrentWaveIndex = 0;
                spawnedBosses    = false;

                //Send start message
                TSPlayer.All.SendInfoMessage("Invasion: {0} has started!", waveset.WaveSetName);

                //Start timer
                InvasionTimer.Elapsed += InvasionTimer_Elapsed;
                InvasionTimer.Enabled  = true;
            }
Beispiel #2
0
        /// <summary>
        /// Writes the configuration to a stream
        /// </summary>
        /// <param name="stream">stream</param>
        public void Write(Stream stream)
        {
            //minion spawns
            List <SpawnMinion> SpawnMinions1 = new List <SpawnMinion>();
            SpawnMinion        SpawnMinion1  = new SpawnMinion("customnpc id", 100, BiomeTypes.None, SpawnConditions.None, false, true);
            SpawnMinion        SpawnMinion2  = new SpawnMinion("customnpc id2", 100, BiomeTypes.None, SpawnConditions.None, false, true);

            SpawnMinions1.Add(SpawnMinion1);
            SpawnMinions1.Add(SpawnMinion2);

            //SpawnGroups
            SpawnsGroups SpawnGroup1 = new SpawnsGroups(true, true, SpawnMinions1, 100);

            //Waves
            List <Waves> Waves1 = new List <Waves>();
            Waves        Wave1  = new Waves("Insert Wavename", SpawnGroup1);

            Waves1.Add(Wave1);

            //WaveSets
            WaveSets = new Dictionary <string, WaveSet>();
            WaveSet WaveSets1 = new WaveSet("WaveName", Waves1);

            WaveSets.Add("WaveSet Name", WaveSets1);

            var str = JsonConvert.SerializeObject(this, Formatting.Indented);

            using (var sw = new StreamWriter(stream))
            {
                sw.Write(str);
            }
        }
 public void StartInvasion(WaveSet waveset)
 {
     CurrentInvasion = waveset;
     WaveSize        = CurrentWave.SpawnGroup.KillAmount;
     if (CurrentWave.SpawnGroup.PlayerMultiplier)
     {
         WaveSize *= TShock.Utils.ActivePlayers();
     }
     CurrentWave            = waveset.Waves[0];
     CurrentWaveIndex       = 0;
     InvasionTimer.Elapsed += InvasionTimer_Elapsed;
     InvasionTimer.Enabled  = true;
 }