public static IList <VanillaInvasionType> GetCurrentEventTypes()
        {
            var eventTypes = new List <VanillaInvasionType>();
            var invType    = (VanillaInvasionType)NPCInvasionHelpers.GetEventTypeOfInvasionType(Main.invasionType);

            if (invType != VanillaInvasionType.None)
            {
                eventTypes.Add(invType);
            }

            if (Sandstorm.Happening)
            {
                eventTypes.Add(VanillaInvasionType.Sandstorm);
            }
            if (Main.bloodMoon)
            {
                eventTypes.Add(VanillaInvasionType.BloodMoon);
            }
            if (Main.slimeRain)
            {
                eventTypes.Add(VanillaInvasionType.SlimeRain);
            }
            if (Main.eclipse)
            {
                eventTypes.Add(VanillaInvasionType.SolarEclipse);
            }
            if (Main.snowMoon)
            {
                eventTypes.Add(VanillaInvasionType.FrostMoon);
            }
            if (Main.pumpkinMoon)
            {
                eventTypes.Add(VanillaInvasionType.PumpkinMoon);
            }
            if (NPC.LunarApocalypseIsUp)
            {
                eventTypes.Add(VanillaInvasionType.LunarApocalypse);
            }

            return(eventTypes);
        }
        public static VanillaEventFlag GetCurrentEventTypeSet()
        {
            int flags             = 0;
            int invasionEventType = (int)NPCInvasionHelpers.GetEventTypeOfInvasionType(Main.invasionType);

            if (((VanillaEventFlag)invasionEventType & VanillaEventFlag.None) == 0)
            {
                flags |= invasionEventType;
            }

            if (Sandstorm.Happening)
            {
                flags |= (int)VanillaEventFlag.Sandstorm;
            }
            if (Main.bloodMoon)
            {
                flags |= (int)VanillaEventFlag.BloodMoon;
            }
            if (Main.slimeRain)
            {
                flags |= (int)VanillaEventFlag.SlimeRain;
            }
            if (Main.eclipse)
            {
                flags |= (int)VanillaEventFlag.SolarEclipse;
            }
            if (Main.snowMoon)
            {
                flags |= (int)VanillaEventFlag.FrostMoon;
            }
            if (Main.pumpkinMoon)
            {
                flags |= (int)VanillaEventFlag.PumpkinMoon;
            }
            if (NPC.LunarApocalypseIsUp)
            {
                flags |= (int)VanillaEventFlag.LunarApocalypse;
            }

            return((VanillaEventFlag)flags);
        }
 public static VanillaInvasionType GetInvasionType(int which)
 {
     return((VanillaInvasionType)NPCInvasionHelpers.GetEventTypeOfInvasionType(which));
 }