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

◆ CheckProgressPumpkinMoon()

void Terraria.NPC.CheckProgressPumpkinMoon ( )
inlineprivate

Definition at line 70892 of file NPC.cs.

70893 {
70894 if (!Main.pumpkinMoon)
70895 {
70896 return;
70897 }
70898 int num = 0;
70901 switch (waveNumber)
70902 {
70903 case 1:
70904 networkText = Lang.GetInvasionWaveText(2, 326, 305);
70905 break;
70906 case 2:
70907 networkText = Lang.GetInvasionWaveText(3, 329, 326);
70908 break;
70909 case 3:
70910 networkText = Lang.GetInvasionWaveText(4, 330, 326, 305);
70911 break;
70912 case 4:
70913 networkText = Lang.GetInvasionWaveText(5, 315, 329);
70914 break;
70915 case 5:
70916 networkText = Lang.GetInvasionWaveText(6, 325, 326, 305);
70917 break;
70918 case 6:
70919 networkText = Lang.GetInvasionWaveText(7, 325, 330, 329);
70920 break;
70921 case 7:
70922 networkText = Lang.GetInvasionWaveText(8, 315, 330, 329);
70923 break;
70924 case 8:
70925 networkText = Lang.GetInvasionWaveText(9, 325, 330, 329, 326, 305);
70926 break;
70927 case 9:
70928 networkText = Lang.GetInvasionWaveText(10, 327, 329, 326);
70929 break;
70930 case 10:
70931 networkText = Lang.GetInvasionWaveText(11, 325, 330, 326);
70932 break;
70933 case 11:
70934 networkText = Lang.GetInvasionWaveText(12, 327, 330);
70935 break;
70936 case 12:
70937 networkText = Lang.GetInvasionWaveText(13, 325, 315, 330, 329, 326);
70938 break;
70939 case 13:
70940 networkText = Lang.GetInvasionWaveText(14, 327, 325, 315, 330, 329, 326, 305);
70941 break;
70942 case 14:
70943 networkText = Lang.GetInvasionWaveText(15, 327, 325, 330, 326, 305);
70944 break;
70945 case 15:
70946 networkText = Lang.GetInvasionWaveText(16, 327, 315, 330, 329, 326);
70947 break;
70948 case 16:
70949 networkText = Lang.GetInvasionWaveText(17, 327, 325, 315, 330, 329);
70950 break;
70951 case 17:
70952 networkText = Lang.GetInvasionWaveText(18, 327, 325, 315, 330);
70953 break;
70954 case 18:
70955 networkText = Lang.GetInvasionWaveText(19, 327, 325, 315);
70956 break;
70957 case 19:
70958 networkText = Lang.GetInvasionWaveText(-1, 327, 325, 315);
70959 break;
70960 }
70961 float num2 = 0f;
70962 switch (type)
70963 {
70964 case 305:
70965 case 306:
70966 case 307:
70967 case 308:
70968 case 309:
70969 case 310:
70970 case 311:
70971 case 312:
70972 case 313:
70973 case 314:
70974 num2 = 1f;
70975 break;
70976 case 315:
70977 num2 = 50f;
70978 break;
70979 case 325:
70980 num2 = 75f;
70981 break;
70982 case 326:
70983 num2 = 2f;
70984 break;
70985 case 327:
70986 num2 = 150f;
70987 break;
70988 case 329:
70989 num2 = 5f;
70990 break;
70991 case 330:
70992 num2 = 10f;
70993 break;
70994 }
70996 float num3 = waveKills;
70997 waveKills += num2;
70999 if (waveKills >= (float)num && num != 0)
71000 {
71001 waveKills = 0f;
71002 waveNumber++;
71005 {
71006 if (Main.netMode == 0)
71007 {
71008 Main.NewText(networkText.ToString(), 175, 75);
71009 }
71010 else if (Main.netMode == 2)
71011 {
71013 }
71014 if (waveNumber == 15)
71015 {
71017 }
71018 }
71019 }
71020 if (waveKills != num3 && num2 != 0f)
71021 {
71022 if (Main.netMode != 1)
71023 {
71024 Main.ReportInvasionProgress((int)waveKills, num, 2, waveNumber);
71025 }
71026 if (Main.netMode == 2)
71027 {
71028 NetMessage.SendData(78, -1, -1, null, Main.invasionProgress, Main.invasionProgressMax, 2f, waveNumber);
71029 }
71030 }
71031 }
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.pumpkinMoon, Terraria.Main.ReportInvasionProgress(), Terraria.NetMessage.SendData(), Terraria.NPC.totalInvasionPoints, Terraria.NPC.type, Terraria.NPC.waveKills, and Terraria.NPC.waveNumber.

Referenced by Terraria.NPC.checkDead().