using Terraria.ID;
namespace ProgressionGates
{
public enum Engagements
{
SlimeRain = -1,
GoblinArmy = -2,
OldOnesArmy = -3,
BloodMoon = -4,
FrostLegion = -5,
SolarEclipse = -6,
PirateInvasion = -7,
FrostMoon = -8,
PumpkinMoon = -9,
MartianMadness = -10,
LunarPillars = -11,
UnusedOrError = 0,
KingSlime = 1,
EyeOfCthulhu = 2,
EaterOfWorlds = 3,
BrainOfCthulhu = 4,
Deerclops = 5,
QueenBee = 6,
Skeletron = 7,
WallOfFlesh = 8,
QueenSlime = 9,
Destroyer = 10,
Twins = 11,
SkeletronPrime = 12,
DukeFishron = 13,
Plantera = 14,
EmpressOfLight = 15,
Golem = 16,
LunaticCultist = 17,
MoonLord = 18,
}
public static class EngagementsFunctions
{
public static Engagements FromID(int id)
{
switch (id)
{
case NPCID.KingSlime:
return Engagements.KingSlime;
case NPCID.EyeofCthulhu:
return Engagements.EyeOfCthulhu;
case NPCID.EaterofWorldsHead:
case NPCID.EaterofWorldsBody:
case NPCID.EaterofWorldsTail:
return Engagements.EaterOfWorlds;
case NPCID.BrainofCthulhu:
return Engagements.BrainOfCthulhu;
case NPCID.Deerclops:
return Engagements.Deerclops;
case NPCID.QueenBee:
return Engagements.QueenBee;
case NPCID.SkeletronHead:
case NPCID.SkeletronHand:
return Engagements.Skeletron;
case NPCID.WallofFlesh:
case NPCID.WallofFleshEye:
return Engagements.WallOfFlesh;
case NPCID.QueenSlimeBoss:
return Engagements.QueenSlime;
case NPCID.TheDestroyer:
case NPCID.TheDestroyerBody:
case NPCID.TheDestroyerTail:
return Engagements.Destroyer;
case NPCID.Spazmatism:
case NPCID.Retinazer:
return Engagements.Twins;
case NPCID.SkeletronPrime:
case NPCID.PrimeLaser:
case NPCID.PrimeCannon:
case NPCID.PrimeSaw:
case NPCID.PrimeVice:
return Engagements.SkeletronPrime;
case NPCID.DukeFishron:
return Engagements.DukeFishron;
case NPCID.Plantera:
case NPCID.PlanterasTentacle:
return Engagements.Plantera;
case NPCID.HallowBoss:
return Engagements.EmpressOfLight;
case NPCID.Golem:
case NPCID.GolemHead:
case NPCID.GolemFistLeft:
case NPCID.GolemFistRight:
return Engagements.Golem;
case NPCID.CultistBoss:
return Engagements.LunaticCultist;
case NPCID.MoonLordCore:
case NPCID.MoonLordHead:
case NPCID.MoonLordHand:
return Engagements.MoonLord;
case -1:
return Engagements.GoblinArmy;
case -2:
return Engagements.FrostLegion;
case -3:
return Engagements.PirateInvasion;
case -4:
return Engagements.PumpkinMoon;
case -5:
return Engagements.FrostMoon;
case -6:
return Engagements.SolarEclipse;
case -7:
return Engagements.MartianMadness;
case -10:
return Engagements.BloodMoon;
default:
return Engagements.UnusedOrError;
}
}
}
}