Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CheckProgress()

static void Terraria.GameContent.Events.DD2Event.CheckProgress ( int slainMonsterID)
inlinestatic

Definition at line 338 of file DD2Event.cs.

339 {
340 if (Main.netMode == 1 || !Ongoing || LostThisRun || WonThisRun || EnemySpawningIsOnHold)
341 {
342 return;
343 }
346 float waveKills = NPC.waveKills;
347 NPC.waveKills += num;
348 NPC.totalInvasionPoints += num;
349 currentKillCount += (int)num;
350 bool flag = false;
351 int num2 = currentWave;
352 if (NPC.waveKills >= (float)requiredKillCount && requiredKillCount != 0)
353 {
354 NPC.waveKills = 0f;
355 NPC.waveNumber++;
356 flag = true;
358 if (WonThisRun)
359 {
360 if ((float)currentKillCount != waveKills && num != 0f)
361 {
362 if (Main.netMode != 1)
363 {
364 Main.ReportInvasionProgress(currentKillCount, requiredKillCount, 3, currentWave);
365 }
366 if (Main.netMode == 2)
367 {
368 NetMessage.SendData(78, -1, -1, null, Main.invasionProgress, Main.invasionProgressMax, 3f, currentWave);
369 }
370 }
371 return;
372 }
373 int num3 = currentWave;
374 string key = "DungeonDefenders2.WaveComplete";
375 if (num3 == 2)
376 {
377 key = "DungeonDefenders2.WaveCompleteFirst";
378 }
379 WorldGen.BroadcastText(NetworkText.FromKey(key), INFO_NEW_WAVE_COLOR);
381 if (OngoingDifficulty == 1)
382 {
383 if (num3 == 5)
384 {
385 DropMedals(1);
386 }
387 if (num3 == 4)
388 {
389 DropMedals(1);
390 }
391 }
392 if (OngoingDifficulty == 2)
393 {
394 if (num3 == 7)
395 {
396 DropMedals(6);
397 }
398 if (num3 == 6)
399 {
400 DropMedals(3);
401 }
402 if (num3 == 5)
403 {
404 DropMedals(1);
405 }
406 }
407 if (OngoingDifficulty == 3)
408 {
409 if (num3 == 7)
410 {
411 DropMedals(25);
412 }
413 if (num3 == 6)
414 {
415 DropMedals(11);
416 }
417 if (num3 == 5)
418 {
419 DropMedals(3);
420 }
421 if (num3 == 4)
422 {
423 DropMedals(1);
424 }
425 }
426 }
427 if ((float)currentKillCount == waveKills)
428 {
429 return;
430 }
431 if (flag)
432 {
433 int num4 = 1;
434 int num5 = 1;
435 if (Main.netMode != 1)
436 {
437 Main.ReportInvasionProgress(num4, num5, 3, num2);
438 }
439 if (Main.netMode == 2)
440 {
441 NetMessage.SendData(78, -1, -1, null, num4, num5, 3f, num2);
442 }
443 }
444 else
445 {
446 if (Main.netMode != 1)
447 {
448 Main.ReportInvasionProgress(currentKillCount, requiredKillCount, 3, currentWave);
449 }
450 if (Main.netMode == 2)
451 {
452 NetMessage.SendData(78, -1, -1, null, Main.invasionProgress, Main.invasionProgressMax, 3f, currentWave);
453 }
454 }
455 }
static readonly Color INFO_NEW_WAVE_COLOR
Definition DD2Event.cs:17
static void GetInvasionStatus(out int currentWave, out int requiredKillCount, out int currentKillCount, bool currentlyInCheckProgress=false)
Definition DD2Event.cs:485
static void SetEnemySpawningOnHold(int forHowLong)
Definition DD2Event.cs:927
static int GetMonsterPointsWorth(int slainMonsterID)
Definition DD2Event.cs:514
static void DropMedals(int numberOfMedals)
Definition DD2Event.cs:787
static NetworkText FromKey(string key, params object[] substitutions)

References Terraria.WorldGen.BroadcastText(), Terraria.GameContent.Events.DD2Event.DropMedals(), Terraria.GameContent.Events.DD2Event.EnemySpawningIsOnHold, Terraria.Localization.NetworkText.FromKey(), Terraria.GameContent.Events.DD2Event.GetInvasionStatus(), Terraria.GameContent.Events.DD2Event.GetMonsterPointsWorth(), Terraria.GameContent.Events.DD2Event.INFO_NEW_WAVE_COLOR, Terraria.Main.invasionProgress, Terraria.Main.invasionProgressMax, Terraria.GameContent.Events.DD2Event.LostThisRun, Terraria.Main.netMode, Terraria.GameContent.Events.DD2Event.Ongoing, Terraria.GameContent.Events.DD2Event.OngoingDifficulty, Terraria.Main.ReportInvasionProgress(), Terraria.NetMessage.SendData(), Terraria.GameContent.Events.DD2Event.SetEnemySpawningOnHold(), Terraria.NPC.waveKills, Terraria.NPC.waveNumber, and Terraria.GameContent.Events.DD2Event.WonThisRun.

Referenced by Terraria.NPC.checkDead(), and Terraria.NPC.HitEffect().