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; }
/// <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; }