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

◆ CheckProgressFrostMoon()

void Terraria.NPC.CheckProgressFrostMoon ( )
inlineprivate

Definition at line 70742 of file NPC.cs.

70743 {
70744 if (!Main.snowMoon)
70745 {
70746 return;
70747 }
70748 int num = 0;
70751 switch (waveNumber)
70752 {
70753 case 1:
70754 networkText = Lang.GetInvasionWaveText(2, 338, 350);
70755 break;
70756 case 2:
70757 networkText = Lang.GetInvasionWaveText(3, 338, 350, 342, 348);
70758 break;
70759 case 3:
70760 networkText = Lang.GetInvasionWaveText(4, 344, 338, 350, 342);
70761 break;
70762 case 4:
70763 networkText = Lang.GetInvasionWaveText(5, 344, 338, 350, 348);
70764 break;
70765 case 5:
70766 networkText = Lang.GetInvasionWaveText(6, 344, 350, 348, 347);
70767 break;
70768 case 6:
70769 networkText = Lang.GetInvasionWaveText(7, 346, 342, 350, 338);
70770 break;
70771 case 7:
70772 networkText = Lang.GetInvasionWaveText(8, 346, 347, 350, 348, 351);
70773 break;
70774 case 8:
70775 networkText = Lang.GetInvasionWaveText(9, 346, 344, 348, 347, 342);
70776 break;
70777 case 9:
70778 networkText = Lang.GetInvasionWaveText(10, 346, 344, 351, 338, 347);
70779 break;
70780 case 10:
70781 networkText = Lang.GetInvasionWaveText(11, 345, 352, 338, 342);
70782 break;
70783 case 11:
70784 networkText = Lang.GetInvasionWaveText(12, 345, 344, 342, 343, 338);
70785 break;
70786 case 12:
70787 networkText = Lang.GetInvasionWaveText(13, 345, 346, 342, 352, 343, 347);
70788 break;
70789 case 13:
70790 networkText = Lang.GetInvasionWaveText(14, 345, 346, 344, 343, 351);
70791 break;
70792 case 14:
70793 networkText = Lang.GetInvasionWaveText(15, 345, 346, 344, 343, 347);
70794 break;
70795 case 15:
70796 networkText = Lang.GetInvasionWaveText(16, 345, 346, 344, 343, 352);
70797 break;
70798 case 16:
70799 networkText = Lang.GetInvasionWaveText(17, 345, 346, 344, 343, 351, 347);
70800 break;
70801 case 17:
70802 networkText = Lang.GetInvasionWaveText(18, 345, 346, 344, 343, 348, 351);
70803 break;
70804 case 18:
70805 networkText = Lang.GetInvasionWaveText(19, 345, 346, 344, 343);
70806 break;
70807 case 19:
70808 networkText = Lang.GetInvasionWaveText(-1, 345, 346, 344);
70809 break;
70810 }
70811 float num2 = 0f;
70812 switch (type)
70813 {
70814 case 338:
70815 case 339:
70816 case 340:
70817 num2 = 1f;
70818 break;
70819 case 341:
70820 num2 = 20f;
70821 break;
70822 case 342:
70823 num2 = 2f;
70824 break;
70825 case 343:
70826 num2 = 18f;
70827 break;
70828 case 344:
70829 num2 = 50f;
70830 break;
70831 case 345:
70832 num2 = 150f;
70833 break;
70834 case 346:
70835 num2 = 100f;
70836 break;
70837 case 347:
70838 num2 = 8f;
70839 break;
70840 case 348:
70841 case 349:
70842 num2 = 4f;
70843 break;
70844 case 350:
70845 num2 = 3f;
70846 break;
70847 case 351:
70848 num2 = 10f;
70849 break;
70850 case 352:
70851 num2 = 5f;
70852 break;
70853 }
70855 float num3 = waveKills;
70856 waveKills += num2;
70858 if (waveKills >= (float)num && num != 0)
70859 {
70860 waveKills = 0f;
70861 waveNumber++;
70864 {
70865 if (Main.netMode == 0)
70866 {
70867 Main.NewText(networkText.ToString(), 175, 75);
70868 }
70869 else if (Main.netMode == 2)
70870 {
70872 }
70873 if (waveNumber == 15)
70874 {
70876 }
70877 }
70878 }
70879 if (waveKills != num3 && num2 != 0f)
70880 {
70881 if (Main.netMode != 1)
70882 {
70883 Main.ReportInvasionProgress((int)waveKills, num, 1, waveNumber);
70884 }
70885 if (Main.netMode == 2)
70886 {
70887 NetMessage.SendData(78, -1, -1, null, Main.invasionProgress, Main.invasionProgressMax, 1f, waveNumber);
70888 }
70889 }
70890 }
static void BroadcastChatMessage(NetworkText text, Color color, int excludedPlayer=-1)
Definition ChatHelper.cs:46
static readonly NetworkText Empty
static int waveNumber
Definition NPC.cs:77
float GetMoonEventPointScalar()
Definition NPC.cs:70729
static int[] MoonEventRequiredPointsPerWaveLookup
Definition NPC.cs:605
static float totalInvasionPoints
Definition NPC.cs:73
int type
Definition NPC.cs:445
static float waveKills
Definition NPC.cs:75

References Terraria.Chat.ChatHelper.BroadcastChatMessage(), Microsoft.Xna.Framework.Graphics.Color, Terraria.Localization.NetworkText.Empty, Terraria.Lang.GetInvasionWaveText(), Terraria.NPC.GetMoonEventPointScalar(), Terraria.Main.invasionProgress, Terraria.Main.invasionProgressMax, Terraria.NPC.MoonEventRequiredPointsPerWaveLookup, Terraria.Main.netMode, Terraria.Main.NewText(), Terraria.GameContent.Achievements.AchievementsHelper.NotifyProgressionEvent(), Terraria.Main.ReportInvasionProgress(), Terraria.NetMessage.SendData(), Terraria.Main.snowMoon, Terraria.NPC.totalInvasionPoints, Terraria.NPC.type, Terraria.NPC.waveKills, and Terraria.NPC.waveNumber.

Referenced by Terraria.NPC.checkDead().