Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of HIFUVariants v1.0.0
plugins/HIFUVariants/HIFUVariants.dll
Decompiled 13 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using EntityStates; using EntityStates.BrotherMonster; using EntityStates.GlobalSkills.LunarNeedle; using EntityStates.GravekeeperBoss; using EntityStates.ImpBossMonster; using EntityStates.NullifierMonster; using EntityStates.TitanMonster; using HG.Reflection; using MSU; using Microsoft.CodeAnalysis; using RoR2; using RoR2.CharacterAI; using RoR2.ContentManagement; using RoR2.Skills; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; using VAPI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: OptIn] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("HIFUVariants")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+c988079955e49d627ea90ee7f89be9a0c0585f20")] [assembly: AssemblyProduct("HIFUVariants")] [assembly: AssemblyTitle("HIFUVariants")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace HIFUVariants { internal sealed class Content : IContentPackProvider { private readonly ContentPack contentPack = new ContentPack(); private Dictionary<string, Material> monsterMaterials; private Dictionary<string, Material> bossMaterials; private static readonly Dictionary<string, string> stubbedShaders = new Dictionary<string, string> { ["StubbedShader/deferred/hgstandard"] = "RoR2/Base/Shaders/HGStandard.shader", ["StubbedShader/fx/hgopaquecloudremap"] = "RoR2/Base/Shaders/HGOpaqueCloudRemap.shader" }; private static readonly Dictionary<string, string> moddedBodies = new Dictionary<string, string> { ["MoffeinArchWisp"] = "com.Moffein.ArchaicWisp", ["MoffeinClayManBody"] = "com.Moffein.ClayMen" }; public string identifier => "com.HIFU.HIFUVariants"; private static bool BodyAvailable(VariantDefs.Variant v) { string value; return !moddedBodies.TryGetValue(v.body, out value) || Chainloader.PluginInfos.ContainsKey(value); } public IEnumerator LoadStaticContentAsync(LoadStaticContentAsyncArgs args) { contentPack.identifier = identifier; Shader hgStandard = Addressables.LoadAssetAsync<Shader>((object)stubbedShaders["StubbedShader/deferred/hgstandard"]).WaitForCompletion(); monsterMaterials = LoadMaterials("hifuvariantsassets", hgStandard); bossMaterials = LoadMaterials("hifuvariantsbossesassets", hgStandard); bossMaterials["@CDLeggy"] = Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/ClayBoss/matGooTrailLegs.mat").WaitForCompletion(); Log.Info($"Loaded {VariantData.Monsters.all.Length} monster and {VariantData.Bosses.all.Length} boss variants", "D:\\Games\\LostItems\\hifuvariants\\HIFUVariants\\Content.cs", "LoadStaticContentAsync", 49); contentPack.skillDefs.Add(VariantDefs.allSkills.ToArray()); args.ReportProgress(1f); yield break; } private static Dictionary<string, Material> LoadMaterials(string bundleName, Shader fallback) { //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) Dictionary<string, Material> dictionary = new Dictionary<string, Material>(); AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(Main.PluginDirectory, bundleName)); if (!Object.op_Implicit((Object)(object)val)) { Log.Error("Failed to load " + bundleName + ", variants will use vanilla visuals", "D:\\Games\\LostItems\\hifuvariants\\HIFUVariants\\Content.cs", "LoadMaterials", 62); return dictionary; } foreach (string item in from p in val.GetAllAssetNames() where p.EndsWith(".mat") select p) { Material val2 = val.LoadAsset<Material>(item); string key = (Object.op_Implicit((Object)(object)val2.shader) ? ((Object)val2.shader).name : ""); val2.shader = (stubbedShaders.TryGetValue(key, out var value) ? Addressables.LoadAssetAsync<Shader>((object)value).WaitForCompletion() : fallback); dictionary[((Object)val2).name] = val2; } return dictionary; } public IEnumerator GenerateContentPackAsync(GetContentPackAsyncArgs args) { ContentPack.Copy(contentPack, args.output); args.ReportProgress(1f); yield break; } public IEnumerator FinalizeAsync(FinalizeAsyncArgs args) { AddPack("HIFU_PACK_MONSTERS", "icon.png", VariantData.Monsters.all, monsterMaterials, ((BaseUnityPlugin)Main.Instance).Config); AddPack("HIFU_PACK_BOSSES", "iconBosses.png", VariantData.Bosses.all, bossMaterials, new ConfigFile(Path.Combine(Paths.ConfigPath, "com.HIFU.HIFUVariants.Bosses.cfg"), true)); args.ReportProgress(1f); yield break; } private static Sprite LoadIcon(string fileName) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Expected O, but got Unknown //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) Texture2D val = new Texture2D(2, 2); ImageConversion.LoadImage(val, File.ReadAllBytes(Path.Combine(Main.PluginDirectory, fileName))); return Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f)); } private void AddPack(string token, string iconFile, VariantDefs.Variant[] variants, Dictionary<string, Material> materials, ConfigFile config) { //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Expected O, but got Unknown VariantPack val = new VariantPack("com.HIFU.HIFUVariants." + token, token + "_NAME", token + "_NAME", token + "_DESC", LoadIcon(iconFile), (BaseUnityPlugin)(object)Main.Instance, (ConfigFile)null, config, false); val.characterVariantDefs.Add((from v in variants.Where(BodyAvailable) select VariantDefs.Build(v, materials) into def where Object.op_Implicit((Object)(object)def) select def).ToArray()); VariantPackManager.AddVariantPack(val); } } internal static class Log { internal static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } private static string getLogPrefix(string callerPath, string callerMemberName, int callerLineNumber) { int num = callerPath.LastIndexOf("HIFUVariants"); if (num >= 0) { callerPath = callerPath.Substring(num + "HIFUVariants".Length + 1); } return $"{callerPath}:{callerLineNumber} ({callerMemberName}) "; } internal static void Debug(object data, [CallerFilePath] string callerPath = "", [CallerMemberName] string callerMemberName = "", [CallerLineNumber] int callerLineNumber = -1) { _logSource.LogDebug((object)(getLogPrefix(callerPath, callerMemberName, callerLineNumber) + data)); } internal static void Debug_NoCallerPrefix(object data) { _logSource.LogDebug(data); } internal static void Error(object data, [CallerFilePath] string callerPath = "", [CallerMemberName] string callerMemberName = "", [CallerLineNumber] int callerLineNumber = -1) { _logSource.LogError((object)(getLogPrefix(callerPath, callerMemberName, callerLineNumber) + data)); } internal static void Error_NoCallerPrefix(object data) { _logSource.LogError(data); } internal static void Fatal(object data, [CallerFilePath] string callerPath = "", [CallerMemberName] string callerMemberName = "", [CallerLineNumber] int callerLineNumber = -1) { _logSource.LogFatal((object)(getLogPrefix(callerPath, callerMemberName, callerLineNumber) + data)); } internal static void Fatal_NoCallerPrefix(object data) { _logSource.LogFatal(data); } internal static void Info(object data, [CallerFilePath] string callerPath = "", [CallerMemberName] string callerMemberName = "", [CallerLineNumber] int callerLineNumber = -1) { _logSource.LogInfo((object)(getLogPrefix(callerPath, callerMemberName, callerLineNumber) + data)); } internal static void Info_NoCallerPrefix(object data) { _logSource.LogInfo(data); } internal static void Message(object data, [CallerFilePath] string callerPath = "", [CallerMemberName] string callerMemberName = "", [CallerLineNumber] int callerLineNumber = -1) { _logSource.LogMessage((object)(getLogPrefix(callerPath, callerMemberName, callerLineNumber) + data)); } internal static void Message_NoCallerPrefix(object data) { _logSource.LogMessage(data); } internal static void Warning(object data, [CallerFilePath] string callerPath = "", [CallerMemberName] string callerMemberName = "", [CallerLineNumber] int callerLineNumber = -1) { _logSource.LogWarning((object)(getLogPrefix(callerPath, callerMemberName, callerLineNumber) + data)); } internal static void Warning_NoCallerPrefix(object data) { _logSource.LogWarning(data); } } [BepInPlugin("com.HIFU.HIFUVariants", "HIFUVariants", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Main : BaseUnityPlugin { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static CollectContentPackProvidersDelegate <>9__12_0; internal void <Awake>b__12_0(AddContentPackProviderDelegate add) { add.Invoke((IContentPackProvider)(object)new Content()); } } public const string PluginGUID = "com.HIFU.HIFUVariants"; public const string PluginAuthor = "HIFU"; public const string PluginName = "HIFUVariants"; public const string PluginVersion = "1.0.0"; internal static Main Instance { get; private set; } public static string PluginDirectory { get; private set; } public void Awake() { //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Expected O, but got Unknown Instance = this; Log.Init(((BaseUnityPlugin)this).Logger); PluginDirectory = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); LanguageFileLoader.AddLanguageFilesFromMod((BaseUnityPlugin)(object)this, "languages"); object obj = <>c.<>9__12_0; if (obj == null) { CollectContentPackProvidersDelegate val = delegate(AddContentPackProviderDelegate add) { add.Invoke((IContentPackProvider)(object)new Content()); }; <>c.<>9__12_0 = val; obj = (object)val; } ContentManager.collectContentPackProviders += (CollectContentPackProvidersDelegate)obj; } } internal static class VariantData { internal static class Monsters { private static readonly VariantDefs.VariantItems BrilliantItems = new VariantDefs.VariantItems { items = new(string, int)[2] { ("Behemoth", 3), ("HealthDecay", 30) } }; private static readonly VariantDefs.VariantItems ColossalItems = new VariantDefs.VariantItems { items = new(string, int)[3] { ("Knurl", 4), ("Seed", 10), ("BarrierOnOverHeal", 20) } }; private static readonly VariantDefs.VariantItems CorruptedItems = new VariantDefs.VariantItems { items = new(string, int)[2] { ("RandomDamageZone", 3), ("ShieldOnly", 1) }, equipment = "Meteor", useChance = (Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 0f, 0f, 0f), new Keyframe(1f, 0.7464f, 2f, 2f) } }; private static readonly VariantDefs.VariantItems CrazedItems = new VariantDefs.VariantItems { items = new(string, int)[3] { ("SecondarySkillMagazine", 4), ("UtilitySkillMagazine", 1), ("SecondaryCDR", 30) } }; private static readonly VariantDefs.VariantItems CurativeItems = new VariantDefs.VariantItems { items = new(string, int)[4] { ("Mushroom", 10), ("HealWhileSafe", 7), ("RepeatHeal", 3), ("AutoCastEquipment", 1) }, equipment = "PassiveHealing", useChance = (Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 1f, 0f, 0f), new Keyframe(1f, 1f, 0f, 0f) } }; private static readonly VariantDefs.VariantItems HavocItems = new VariantDefs.VariantItems { items = new(string, int)[2] { ("Plus1Crit", 100), ("AttackSpeedOnCrit", 2) }, equipment = "TeamWarCry", useChance = (Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 0f, 0f, 0f), new Keyframe(1f, 0.7464f, 2f, 2f) } }; private static readonly VariantDefs.VariantItems HereticItems = new VariantDefs.VariantItems { items = new(string, int)[3] { ("LunarSecondaryReplacement", 1), ("ExtraPrimary", 1), ("ExtraSecondary", 1) } }; private static readonly VariantDefs.VariantItems JuggernautItems = new VariantDefs.VariantItems { items = new(string, int)[4] { ("Knurl", 4), ("HealWhileSafe", 3), ("RepeatHeal", 1), ("Medkit", 1) }, equipment = "CommandMissile", useChance = (Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 0f, 0f, 0f), new Keyframe(1f, 0.7464f, 2f, 2f) }, buffs = new(string, int, float)[1] { ("bdLunarShell", 1, 2f) } }; private static readonly VariantDefs.VariantItems NeverdieItems = new VariantDefs.VariantItems { items = new(string, int)[2] { ("ExtraLife", 2), ("ArmorPlate", 1) }, equipment = "Fruit", useChance = (Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 0f, 0f, 0f), new Keyframe(1f, 0.7464f, 2f, 2f) } }; private static readonly VariantDefs.VariantItems NocturneItems = new VariantDefs.VariantItems { items = new(string, int)[2] { ("GlobalCDR", 75), ("ArmorReductionOnHit", 1) } }; private static readonly VariantDefs.VariantItems PredatoryItems = new VariantDefs.VariantItems { items = new(string, int)[2] { ("SprintOutOfCombat", 2), ("Hoof", 2) }, equipment = "Tonic", useChance = (Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 0f, 0f, 0f), new Keyframe(1f, 0.7464f, 2f, 2f) } }; private static readonly VariantDefs.VariantItems PrimalItems = new VariantDefs.VariantItems { items = new(string, int)[2] { ("Plus1Crit", 100), ("CooldownOnCrit", 1) } }; private static readonly VariantDefs.VariantItems RammingItems = new VariantDefs.VariantItems { items = new(string, int)[3] { ("Hoof", 7), ("SprintBonus", 7), ("SprintOutOfCombat", 5) } }; private static readonly VariantDefs.VariantItems WardingItems = new VariantDefs.VariantItems { items = new(string, int)[3] { ("CrippleWardOnLevel", 2), ("WardOnLevel", 1), ("LevelBonus", 1) } }; private static readonly VariantDefs.Visual AlloyVultureBrilliantMat = new VariantDefs.Visual { materials = new(int, string)[1] { (4, "Brilliant") } }; private static readonly VariantDefs.Visual AlloyVultureCorruptedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (3, "Corrupted") } }; private static readonly VariantDefs.Visual AlloyVultureCrazedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (2, "Crazed") } }; private static readonly VariantDefs.Visual AlloyVultureHavocMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Havoc") } }; private static readonly VariantDefs.Visual AlloyVultureJuggernautMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Juggernaut") } }; private static readonly VariantDefs.Visual AlloyVultureNeverdieMat = new VariantDefs.Visual { materials = new(int, string)[1] { (2, "Neverdie") } }; private static readonly VariantDefs.Visual AlloyVultureNocturneMat = new VariantDefs.Visual { materials = new(int, string)[1] { (3, "Nocturne") } }; private static readonly VariantDefs.Visual AlloyVulturePredatoryMat = new VariantDefs.Visual { materials = new(int, string)[1] { (3, "Predatory") } }; private static readonly VariantDefs.Visual AlloyVulturePrimalMat = new VariantDefs.Visual { materials = new(int, string)[1] { (4, "Primal") } }; private static readonly VariantDefs.Visual AlloyVultureWardingMat = new VariantDefs.Visual { materials = new(int, string)[1] { (2, "Warding") } }; private static readonly VariantDefs.Visual ClayManColossalMat = new VariantDefs.Visual { materials = new(int, string)[1] { (2, "Colossal") } }; private static readonly VariantDefs.Visual ClayManCorruptedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Corrupted") } }; private static readonly VariantDefs.Visual ClayManCrazedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Crazed") } }; private static readonly VariantDefs.Visual ClayManHavocMat = new VariantDefs.Visual { materials = new(int, string)[1] { (2, "Havoc") } }; private static readonly VariantDefs.Visual ClayManJuggernautMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Juggernaut") } }; private static readonly VariantDefs.Visual ClayManNeverdieMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Neverdie") } }; private static readonly VariantDefs.Visual ClayManNocturneMat = new VariantDefs.Visual { materials = new(int, string)[1] { (2, "Nocturne") } }; private static readonly VariantDefs.Visual ClayManPredatoryMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Predatory") } }; private static readonly VariantDefs.Visual ClayManPrimalMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Primal") } }; private static readonly VariantDefs.Visual ClayTemplarCorruptedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (4, "Corrupted") } }; private static readonly VariantDefs.Visual ClayTemplarCrazedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Crazed") } }; private static readonly VariantDefs.Visual ClayTemplarCurativeMat = new VariantDefs.Visual { materials = new(int, string)[1] { (2, "Curative") } }; private static readonly VariantDefs.Visual ClayTemplarHavocMat = new VariantDefs.Visual { materials = new(int, string)[1] { (3, "Havoc") } }; private static readonly VariantDefs.Visual ClayTemplarJuggernautMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Juggernaut") } }; private static readonly VariantDefs.Visual ClayTemplarNeverdieMat = new VariantDefs.Visual { materials = new(int, string)[1] { (2, "Corrupted") } }; private static readonly VariantDefs.Visual ClayTemplarNocturneMat = new VariantDefs.Visual { materials = new(int, string)[1] { (4, "Nocturne") } }; private static readonly VariantDefs.Visual ClayTemplarPredatoryMat = new VariantDefs.Visual { materials = new(int, string)[1] { (4, "Predatory") } }; private static readonly VariantDefs.Visual ClayTemplarPrimalMat = new VariantDefs.Visual { materials = new(int, string)[1] { (3, "Primal") } }; private static readonly VariantDefs.Visual GreaterWispCorruptedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Corrupted") }, lights = new(int, Color)[1] { (0, new Color(0.1961f, 0.1451f, 0.3608f, 1f)) } }; private static readonly VariantDefs.Visual GreaterWispCrazedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Crazed") }, lights = new(int, Color)[1] { (0, new Color(0.4667f, 0.3294f, 0.1725f, 1f)) } }; private static readonly VariantDefs.Visual GreaterWispHavocMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Havoc") }, lights = new(int, Color)[1] { (0, new Color(0.5686f, 0.3529f, 0.6431f, 1f)) } }; private static readonly VariantDefs.Visual GreaterWispJuggernautMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Juggernaut") }, lights = new(int, Color)[1] { (0, new Color(0.1569f, 0.4f, 0.3255f, 1f)) } }; private static readonly VariantDefs.Visual GreaterWispNeverdieMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Neverdie") }, lights = new(int, Color)[1] { (0, new Color(0.2706f, 0.1765f, 0.4353f, 1f)) } }; private static readonly VariantDefs.Visual GreaterWispNocturneMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Nocturne") }, lights = new(int, Color)[1] { (0, new Color(0.6981f, 0.1493f, 0.135f, 1f)) } }; private static readonly VariantDefs.Visual GreaterWispPredatoryMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Predatory") }, lights = new(int, Color)[1] { (0, new Color(0.2392f, 0.1412f, 0.1686f, 1f)) } }; private static readonly VariantDefs.Visual GreaterWispPrimalMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Primal") }, lights = new(int, Color)[1] { (0, new Color(0.4667f, 0.3569f, 0.3529f, 1f)) } }; private static readonly VariantDefs.Visual LunarExploderCorruptedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Corrupted") } }; private static readonly VariantDefs.Visual LunarExploderCrazedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Crazed") } }; private static readonly VariantDefs.Visual LunarExploderHavocMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Havoc") } }; private static readonly VariantDefs.Visual LunarExploderJuggernautMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Juggernaut") } }; private static readonly VariantDefs.Visual LunarExploderNeverdieMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Neverdie") } }; private static readonly VariantDefs.Visual LunarExploderNocturneMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Nocturne") } }; private static readonly VariantDefs.Visual LunarExploderPredatoryMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Predatory") } }; private static readonly VariantDefs.Visual LunarExploderPrimalMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Primal") } }; private static readonly VariantDefs.Visual ParentCorruptedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Corrupted") } }; private static readonly VariantDefs.Visual ParentCrazedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Crazed") } }; private static readonly VariantDefs.Visual ParentHavocMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Havoc") } }; private static readonly VariantDefs.Visual ParentJuggernautMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Juggernaut") }, lights = new(int, Color)[1] { (0, new Color(0.1569f, 0.4f, 0.3255f, 1f)) } }; private static readonly VariantDefs.Visual ParentNeverdieMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Neverdie") } }; private static readonly VariantDefs.Visual ParentNocturneMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Nocturne") } }; private static readonly VariantDefs.Visual ParentPredatoryMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Predatory") }, lights = new(int, Color)[1] { (0, new Color(0.2392f, 0.1412f, 0.1686f, 1f)) } }; private static readonly VariantDefs.Visual ParentPrimalMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Primal") } }; private static readonly VariantDefs.Visual SharedBrilliantMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Brilliant") } }; private static readonly VariantDefs.Visual SharedColossalMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Colossal") } }; private static readonly VariantDefs.Visual SharedCorruptedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Corrupted") } }; private static readonly VariantDefs.Visual SharedCrazedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Crazed") } }; private static readonly VariantDefs.Visual SharedCurativeMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Curative") } }; private static readonly VariantDefs.Visual SharedHavocMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Havoc") } }; private static readonly VariantDefs.Visual SharedHereticMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Heretic") } }; private static readonly VariantDefs.Visual SharedJuggernautMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Juggernaut") } }; private static readonly VariantDefs.Visual SharedNeverdieMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Neverdie") } }; private static readonly VariantDefs.Visual SharedNocturneMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Nocturne") } }; private static readonly VariantDefs.Visual SharedPredatoryMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Predatory") } }; private static readonly VariantDefs.Visual SharedPrimalMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Primal") } }; private static readonly VariantDefs.Visual SharedRammingMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Ramming") } }; private static readonly VariantDefs.Visual SharedWardingMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Warding") } }; private static readonly VariantDefs.Visual VoidReaverCorruptedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Corrupted") } }; private static readonly VariantDefs.Visual VoidReaverCrazedMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Crazed") } }; private static readonly VariantDefs.Visual VoidReaverHavocMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Havoc") } }; private static readonly VariantDefs.Visual VoidReaverJuggernautMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Juggernaut") } }; private static readonly VariantDefs.Visual VoidReaverNeverdieMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Neverdie") } }; private static readonly VariantDefs.Visual VoidReaverNocturneMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Nocturne") } }; private static readonly VariantDefs.Visual VoidReaverPredatoryMat = new VariantDefs.Visual { materials = new(int, string)[1] { (1, "Predatory") } }; private static readonly VariantDefs.Visual VoidReaverPrimalMat = new VariantDefs.Visual { materials = new(int, string)[1] { (0, "Primal") } }; internal static readonly VariantDefs.Variant[] all = new VariantDefs.Variant[218] { new VariantDefs.Variant("HIFU_CorruptedBeetle", "BeetleBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedBeetle", "BeetleBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocBeetle", "BeetleBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_HereticBeetle", "BeetleBody", "HIFU_VARIANT_HERETIC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { unstable = true, stats = new VariantDefs.Stats(1f, 1.25f, 1f, 0.15f, 1f, 0f), scale = 1.25f, inventory = HereticItems, visual = SharedHereticMat, skills = new(SkillSlot, SkillDef)[1] { ((SkillSlot)0, LunarSecondaryReplacement) } }, new VariantDefs.Variant("HIFU_JuggernautBeetle", "BeetleBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieBeetle", "BeetleBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneBeetle", "BeetleBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryBeetle", "BeetleBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalBeetle", "BeetleBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_ColossalBeetleGuard", "BeetleGuardBody", "HIFU_VARIANT_COLOSSAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1.5f, 0.6f, 0.75f, 1f, 1.2f, 25f), scale = 2.5f, inventory = ColossalItems, visual = SharedColossalMat }, new VariantDefs.Variant("HIFU_CorruptedBeetleGuard", "BeetleGuardBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedBeetleGuard", "BeetleGuardBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocBeetleGuard", "BeetleGuardBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautBeetleGuard", "BeetleGuardBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieBeetleGuard", "BeetleGuardBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneBeetleGuard", "BeetleGuardBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryBeetleGuard", "BeetleGuardBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalBeetleGuard", "BeetleGuardBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_CorruptedBrassContraption", "BellBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedBrassContraption", "BellBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocBrassContraption", "BellBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautBrassContraption", "BellBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieBrassContraption", "BellBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneBrassContraption", "BellBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryBrassContraption", "BellBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalBrassContraption", "BellBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_CorruptedBighornBison", "BisonBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedBighornBison", "BisonBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocBighornBison", "BisonBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautBighornBison", "BisonBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieBighornBison", "BisonBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneBighornBison", "BisonBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryBighornBison", "BisonBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalBighornBison", "BisonBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_RammingBighornBison", "BisonBody", "HIFU_VARIANT_RAMMING", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.25f) { alwaysSprint = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1f, 0.75f, 1f, 0f), scale = 1.5f, inventory = RammingItems, visual = SharedRammingMat }, new VariantDefs.Variant("HIFU_CorruptedClayTemplar", "ClayBruiserBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = ClayTemplarCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedClayTemplar", "ClayBruiserBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = ClayTemplarCrazedMat }, new VariantDefs.Variant("HIFU_CurativeClayTemplar", "ClayBruiserBody", "HIFU_VARIANT_CURATIVE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { stats = new VariantDefs.Stats(0.5f, 0f, 1.25f, 1f, 1f, 0f), scale = 1.25f, inventory = CurativeItems, visual = ClayTemplarCurativeMat }, new VariantDefs.Variant("HIFU_HavocClayTemplar", "ClayBruiserBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = ClayTemplarHavocMat }, new VariantDefs.Variant("HIFU_JuggernautClayTemplar", "ClayBruiserBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = ClayTemplarJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieClayTemplar", "ClayBruiserBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = ClayTemplarNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneClayTemplar", "ClayBruiserBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = ClayTemplarNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryClayTemplar", "ClayBruiserBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = ClayTemplarPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalClayTemplar", "ClayBruiserBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = ClayTemplarPrimalMat }, new VariantDefs.Variant("HIFU_ColossalStoneGolem", "GolemBody", "HIFU_VARIANT_COLOSSAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1.5f, 0.6f, 0.75f, 1f, 1.2f, 25f), scale = 2.5f, inventory = ColossalItems, visual = SharedColossalMat }, new VariantDefs.Variant("HIFU_CorruptedStoneGolem", "GolemBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedStoneGolem", "GolemBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocStoneGolem", "GolemBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_HereticStoneGolem", "GolemBody", "HIFU_VARIANT_HERETIC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 0.66f, 0.1f, 1f, 0f), scale = 1.25f, inventory = HereticItems, visual = SharedHereticMat, skills = new(SkillSlot, SkillDef)[1] { ((SkillSlot)0, LunarSecondaryReplacement) } }, new VariantDefs.Variant("HIFU_JuggernautStoneGolem", "GolemBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieStoneGolem", "GolemBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneStoneGolem", "GolemBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryStoneGolem", "GolemBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalStoneGolem", "GolemBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_CorruptedGreaterWisp", "GreaterWispBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = GreaterWispCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedGreaterWisp", "GreaterWispBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = GreaterWispCrazedMat }, new VariantDefs.Variant("HIFU_HavocGreaterWisp", "GreaterWispBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = GreaterWispHavocMat }, new VariantDefs.Variant("HIFU_JuggernautGreaterWisp", "GreaterWispBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = GreaterWispJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieGreaterWisp", "GreaterWispBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = GreaterWispNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneGreaterWisp", "GreaterWispBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = GreaterWispNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryGreaterWisp", "GreaterWispBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = GreaterWispPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalGreaterWisp", "GreaterWispBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = GreaterWispPrimalMat }, new VariantDefs.Variant("HIFU_BrilliantHermitCrab", "HermitCrabBody", "HIFU_VARIANT_BRILLIANT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1f, 1.35f, 1f, 0.75f, 1f, 0f), scale = 1.25f, inventory = BrilliantItems, visual = SharedBrilliantMat }, new VariantDefs.Variant("HIFU_CorruptedHermitCrab", "HermitCrabBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedHermitCrab", "HermitCrabBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_CurativeHermitCrab", "HermitCrabBody", "HIFU_VARIANT_CURATIVE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { stats = new VariantDefs.Stats(0.5f, 0f, 1.25f, 1f, 1f, 0f), scale = 1.25f, inventory = CurativeItems, visual = SharedCurativeMat }, new VariantDefs.Variant("HIFU_HavocHermitCrab", "HermitCrabBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautHermitCrab", "HermitCrabBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieHermitCrab", "HermitCrabBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneHermitCrab", "HermitCrabBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryHermitCrab", "HermitCrabBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalHermitCrab", "HermitCrabBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_CorruptedImp", "ImpBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedImp", "ImpBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocImp", "ImpBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautImp", "ImpBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieImp", "ImpBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneImp", "ImpBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryImp", "ImpBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalImp", "ImpBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_CorruptedJellyfish", "JellyfishBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedJellyfish", "JellyfishBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocJellyfish", "JellyfishBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautJellyfish", "JellyfishBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieJellyfish", "JellyfishBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneJellyfish", "JellyfishBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryJellyfish", "JellyfishBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalJellyfish", "JellyfishBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_BrilliantLemurian", "LemurianBody", "HIFU_VARIANT_BRILLIANT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1f, 1.35f, 1f, 0.75f, 1f, 0f), scale = 1.25f, inventory = BrilliantItems, visual = SharedBrilliantMat }, new VariantDefs.Variant("HIFU_CorruptedLemurian", "LemurianBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedLemurian", "LemurianBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocLemurian", "LemurianBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautLemurian", "LemurianBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieLemurian", "LemurianBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneLemurian", "LemurianBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryLemurian", "LemurianBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalLemurian", "LemurianBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_ColossalElderLemurian", "LemurianBruiserBody", "HIFU_VARIANT_COLOSSAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1.5f, 0.6f, 0.75f, 1f, 1.2f, 25f), scale = 2.5f, inventory = ColossalItems, visual = SharedColossalMat }, new VariantDefs.Variant("HIFU_CorruptedElderLemurian", "LemurianBruiserBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedElderLemurian", "LemurianBruiserBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocElderLemurian", "LemurianBruiserBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautElderLemurian", "LemurianBruiserBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieElderLemurian", "LemurianBruiserBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneElderLemurian", "LemurianBruiserBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryElderLemurian", "LemurianBruiserBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalElderLemurian", "LemurianBruiserBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_CorruptedLunarChimera", "LunarExploderBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = LunarExploderCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedLunarChimera", "LunarExploderBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = LunarExploderCrazedMat }, new VariantDefs.Variant("HIFU_HavocLunarChimera", "LunarExploderBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = LunarExploderHavocMat }, new VariantDefs.Variant("HIFU_JuggernautLunarChimera", "LunarExploderBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = LunarExploderJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieLunarChimera", "LunarExploderBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = LunarExploderNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneLunarChimera", "LunarExploderBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = LunarExploderNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryLunarChimera", "LunarExploderBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = LunarExploderPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalLunarChimera", "LunarExploderBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = LunarExploderPrimalMat }, new VariantDefs.Variant("HIFU_RammingLunarChimera", "LunarExploderBody", "HIFU_VARIANT_RAMMING", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.25f) { alwaysSprint = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1f, 0.75f, 1f, 0f), scale = 1.5f, inventory = RammingItems, visual = SharedRammingMat }, new VariantDefs.Variant("HIFU_CorruptedLunarChimera_LunarGolemBody", "LunarGolemBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedLunarChimera_LunarGolemBody", "LunarGolemBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocLunarChimera_LunarGolemBody", "LunarGolemBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautLunarChimera_LunarGolemBody", "LunarGolemBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieLunarChimera_LunarGolemBody", "LunarGolemBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneLunarChimera_LunarGolemBody", "LunarGolemBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryLunarChimera_LunarGolemBody", "LunarGolemBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalLunarChimera_LunarGolemBody", "LunarGolemBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_RammingLunarChimera_LunarGolemBody", "LunarGolemBody", "HIFU_VARIANT_RAMMING", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.25f) { alwaysSprint = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1f, 0.75f, 1f, 0f), scale = 1.5f, inventory = RammingItems, visual = SharedRammingMat }, new VariantDefs.Variant("HIFU_CorruptedLunarChimera_LunarWispBody", "LunarWispBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedLunarChimera_LunarWispBody", "LunarWispBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocLunarChimera_LunarWispBody", "LunarWispBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautLunarChimera_LunarWispBody", "LunarWispBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieLunarChimera_LunarWispBody", "LunarWispBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneLunarChimera_LunarWispBody", "LunarWispBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryLunarChimera_LunarWispBody", "LunarWispBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalLunarChimera_LunarWispBody", "LunarWispBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_RammingLunarChimera_LunarWispBody", "LunarWispBody", "HIFU_VARIANT_RAMMING", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.25f) { alwaysSprint = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1f, 0.75f, 1f, 0f), scale = 1.5f, inventory = RammingItems, visual = SharedRammingMat }, new VariantDefs.Variant("HIFU_WardingLunarChimera", "LunarWispBody", "HIFU_VARIANT_WARDING", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.5f, 0.75f, 0.75f, 0.75f, 1f, 0f), scale = 0.75f, inventory = WardingItems, visual = SharedWardingMat }, new VariantDefs.Variant("HIFU_CorruptedMiniMushrum", "MiniMushroomBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedMiniMushrum", "MiniMushroomBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_CurativeMiniMushrum", "MiniMushroomBody", "HIFU_VARIANT_CURATIVE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { stats = new VariantDefs.Stats(0.5f, 0f, 1.25f, 1f, 1f, 0f), scale = 1.25f, inventory = CurativeItems, visual = SharedCurativeMat }, new VariantDefs.Variant("HIFU_HavocMiniMushrum", "MiniMushroomBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautMiniMushrum", "MiniMushroomBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieMiniMushrum", "MiniMushroomBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneMiniMushrum", "MiniMushroomBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryMiniMushrum", "MiniMushroomBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalMiniMushrum", "MiniMushroomBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_ColossalClayMan", "MoffeinClayManBody", "HIFU_VARIANT_COLOSSAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1.5f, 0.6f, 0.75f, 1f, 1.2f, 25f), scale = 2.5f, inventory = ColossalItems, visual = ClayManColossalMat }, new VariantDefs.Variant("HIFU_CorruptedClayMan", "MoffeinClayManBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = ClayManCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedClayMan", "MoffeinClayManBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = ClayManCrazedMat }, new VariantDefs.Variant("HIFU_HavocClayMan", "MoffeinClayManBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = ClayManHavocMat }, new VariantDefs.Variant("HIFU_JuggernautClayMan", "MoffeinClayManBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = ClayManJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieClayMan", "MoffeinClayManBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = ClayManNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneClayMan", "MoffeinClayManBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = ClayManNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryClayMan", "MoffeinClayManBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = ClayManPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalClayMan", "MoffeinClayManBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = ClayManPrimalMat }, new VariantDefs.Variant("HIFU_CorruptedArchaicWisp", "MoffeinArchWisp", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = GreaterWispCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedArchaicWisp", "MoffeinArchWisp", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = GreaterWispCrazedMat }, new VariantDefs.Variant("HIFU_HavocArchaicWisp", "MoffeinArchWisp", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = GreaterWispHavocMat }, new VariantDefs.Variant("HIFU_JuggernautArchaicWisp", "MoffeinArchWisp", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = GreaterWispJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieArchaicWisp", "MoffeinArchWisp", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = GreaterWispNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneArchaicWisp", "MoffeinArchWisp", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = GreaterWispNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryArchaicWisp", "MoffeinArchWisp", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = GreaterWispPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalArchaicWisp", "MoffeinArchWisp", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = GreaterWispPrimalMat }, new VariantDefs.Variant("HIFU_ColossalVoidReaver", "NullifierBody", "HIFU_VARIANT_COLOSSAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1.5f, 0.6f, 0.75f, 1f, 1.2f, 25f), scale = 2.5f, inventory = ColossalItems, visual = SharedColossalMat }, new VariantDefs.Variant("HIFU_CorruptedVoidReaver", "NullifierBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = VoidReaverCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedVoidReaver", "NullifierBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = VoidReaverCrazedMat }, new VariantDefs.Variant("HIFU_HavocVoidReaver", "NullifierBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = VoidReaverHavocMat }, new VariantDefs.Variant("HIFU_HereticVoidReaver", "NullifierBody", "HIFU_VARIANT_HERETIC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 0.66f, 0.1f, 1f, 0f), scale = 1.25f, inventory = HereticItems, visual = SharedHereticMat, skills = new(SkillSlot, SkillDef)[1] { ((SkillSlot)0, LunarSecondaryReplacement) } }, new VariantDefs.Variant("HIFU_JuggernautVoidReaver", "NullifierBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = VoidReaverJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieVoidReaver", "NullifierBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = VoidReaverNeverdieMat }, new VariantDefs.Variant("HIFU_PredatoryVoidReaver", "NullifierBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = VoidReaverPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalVoidReaver", "NullifierBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = VoidReaverPrimalMat }, new VariantDefs.Variant("HIFU_RammingVoidReaver", "NullifierBody", "HIFU_VARIANT_RAMMING", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.25f) { alwaysSprint = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1f, 0.75f, 1f, 0f), scale = 1.5f, inventory = RammingItems, visual = SharedRammingMat }, new VariantDefs.Variant("HIFU_NocturneVoidReaver", "NullifierBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = VoidReaverNocturneMat }, new VariantDefs.Variant("HIFU_ColossalParent", "ParentBody", "HIFU_VARIANT_COLOSSAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1.5f, 0.6f, 0.75f, 1f, 1.2f, 25f), scale = 2.5f, inventory = ColossalItems, visual = SharedColossalMat }, new VariantDefs.Variant("HIFU_CorruptedParent", "ParentBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = ParentCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedParent", "ParentBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = ParentCrazedMat }, new VariantDefs.Variant("HIFU_HavocParent", "ParentBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = ParentHavocMat }, new VariantDefs.Variant("HIFU_HereticParent", "ParentBody", "HIFU_VARIANT_HERETIC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 0.66f, 0.1f, 1f, 0f), scale = 1.25f, inventory = HereticItems, visual = SharedHereticMat, skills = new(SkillSlot, SkillDef)[1] { ((SkillSlot)0, LunarSecondaryReplacement) } }, new VariantDefs.Variant("HIFU_JuggernautParent", "ParentBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = ParentJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieParent", "ParentBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = ParentNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneParent", "ParentBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = ParentNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryParent", "ParentBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = ParentPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalParent", "ParentBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = ParentPrimalMat }, new VariantDefs.Variant("HIFU_CorruptedSolusProbe", "RoboBallMiniBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedSolusProbe", "RoboBallMiniBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocSolusProbe", "RoboBallMiniBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautSolusProbe", "RoboBallMiniBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieSolusProbe", "RoboBallMiniBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneSolusProbe", "RoboBallMiniBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatorySolusProbe", "RoboBallMiniBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalSolusProbe", "RoboBallMiniBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_WardingSolusProbe", "RoboBallMiniBody", "HIFU_VARIANT_WARDING", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.5f, 0.75f, 0.75f, 0.75f, 1f, 0f), scale = 0.75f, inventory = WardingItems, visual = SharedWardingMat }, new VariantDefs.Variant("HIFU_BrilliantAlloyVulture", "VultureBody", "HIFU_VARIANT_BRILLIANT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1f, 1.35f, 1f, 0.75f, 1f, 0f), scale = 1.25f, inventory = BrilliantItems, visual = AlloyVultureBrilliantMat }, new VariantDefs.Variant("HIFU_CorruptedAlloyVulture", "VultureBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = AlloyVultureCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedAlloyVulture", "VultureBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = AlloyVultureCrazedMat }, new VariantDefs.Variant("HIFU_HavocAlloyVulture", "VultureBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = AlloyVultureHavocMat }, new VariantDefs.Variant("HIFU_JuggernautAlloyVulture", "VultureBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = AlloyVultureJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieAlloyVulture", "VultureBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = AlloyVultureNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneAlloyVulture", "VultureBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = AlloyVultureNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryAlloyVulture", "VultureBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = AlloyVulturePredatoryMat }, new VariantDefs.Variant("HIFU_PrimalAlloyVulture", "VultureBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = AlloyVulturePrimalMat }, new VariantDefs.Variant("HIFU_WardingAlloyVulture", "VultureBody", "HIFU_VARIANT_WARDING", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.5f, 0.75f, 0.75f, 0.75f, 1f, 0f), scale = 0.75f, inventory = WardingItems, visual = AlloyVultureWardingMat }, new VariantDefs.Variant("HIFU_BrilliantLesserWisp", "WispBody", "HIFU_VARIANT_BRILLIANT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1f, 1.35f, 1f, 0.75f, 1f, 0f), scale = 1.25f, inventory = BrilliantItems, visual = SharedBrilliantMat }, new VariantDefs.Variant("HIFU_CorruptedLesserWisp", "WispBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedLesserWisp", "WispBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocLesserWisp", "WispBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautLesserWisp", "WispBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieLesserWisp", "WispBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneLesserWisp", "WispBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryLesserWisp", "WispBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalLesserWisp", "WispBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat }, new VariantDefs.Variant("HIFU_BrilliantLesserWisp_WispSoulBody", "WispSoulBody", "HIFU_VARIANT_BRILLIANT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 4f) { stats = new VariantDefs.Stats(1f, 1.35f, 1f, 0.75f, 1f, 0f), scale = 1.25f, inventory = BrilliantItems, visual = SharedBrilliantMat }, new VariantDefs.Variant("HIFU_CorruptedLesserWisp_WispSoulBody", "WispSoulBody", "HIFU_VARIANT_CORRUPTED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { alwaysSprint = true, stats = new VariantDefs.Stats(1.25f, 1f, 0.75f, 1f, 1f, 10f), scale = 1.25f, inventory = CorruptedItems, visual = SharedCorruptedMat }, new VariantDefs.Variant("HIFU_CrazedLesserWisp_WispSoulBody", "WispSoulBody", "HIFU_VARIANT_CRAZED", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 5f) { stats = new VariantDefs.Stats(1f, 1f, 1.5f, 0.75f, 1f, 10f), inventory = CrazedItems, visual = SharedCrazedMat }, new VariantDefs.Variant("HIFU_HavocLesserWisp_WispSoulBody", "WispSoulBody", "HIFU_VARIANT_HAVOC", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.75f, 1f, 0f), scale = 1.25f, inventory = HavocItems, visual = SharedHavocMat }, new VariantDefs.Variant("HIFU_JuggernautLesserWisp_WispSoulBody", "WispSoulBody", "HIFU_VARIANT_JUGGERNAUT", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 2.5f) { stats = new VariantDefs.Stats(1.25f, 1f, 1f, 0.2f, 1f, 20f), scale = 1.5f, inventory = JuggernautItems, visual = SharedJuggernautMat }, new VariantDefs.Variant("HIFU_NeverdieLesserWisp_WispSoulBody", "WispSoulBody", "HIFU_VARIANT_NEVERDIE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 1f) { unique = true, stats = new VariantDefs.Stats(0.4f, 1f, 1f, 1f, 1f, 20f), scale = 1.25f, inventory = NeverdieItems, visual = SharedNeverdieMat }, new VariantDefs.Variant("HIFU_NocturneLesserWisp_WispSoulBody", "WispSoulBody", "HIFU_VARIANT_NOCTURNE", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3f) { stats = new VariantDefs.Stats(1f, 1f, 1f, 0.75f, 1f, 0f), scale = 0.6f, inventory = NocturneItems, visual = SharedNocturneMat }, new VariantDefs.Variant("HIFU_PredatoryLesserWisp_WispSoulBody", "WispSoulBody", "HIFU_VARIANT_PREDATORY", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 6f) { stats = new VariantDefs.Stats(0.75f, 1f, 1f, 1f, 1f, 0f), scale = 0.6f, inventory = PredatoryItems, visual = SharedPredatoryMat }, new VariantDefs.Variant("HIFU_PrimalLesserWisp_WispSoulBody", "WispSoulBody", "HIFU_VARIANT_PRIMAL", VariantDefs.NameType.Prefix, VariantDefs.Tier.Common, 3.5f) { unstable = true, stats = new VariantDefs.Stats(0.75f, 1.25f, 1.25f, 0.5f, 1f, 0f), scale = 1.5f, inventory = PrimalItems, visual = SharedPrimalMat } }; } internal static class Bosses { private static readonly VariantDefs.VariantItems BrilliantBossItems = new VariantDefs.VariantItems { items = new(string, int)[3] { ("Behemoth", 2), ("HealthDecay", 30), ("GreenHealthbar", 1) } }; private static readonly VariantDefs.VariantItems ButcheringBossItems = new VariantDefs.VariantItems { items = new(string, int)[2] { ("BounceNearby", 2), ("GreenHealthbar", 1) } }; private static readonly VariantDefs.VariantItems ColossalBossItems = new VariantDefs.VariantItems { items = new(string, int)[2] { ("Knurl", 4), ("GreenHealthbar", 1) } }; private static readonly VariantDefs.VariantItems CrazedBossItems = new VariantDefs.VariantItems { items = new(string, int)[3] { ("SecondarySkillMagazine", 3), ("UtilitySkillMagazine", 1), ("GreenHealthbar", 1) } }; private static readonly VariantDefs.VariantItems DeathWaltzItems = new VariantDefs.VariantItems { items = new(string, int)[2] { ("GreenHealthbar", 1), ("GlobalCDR", 25) } }; private static readonly VariantDefs.VariantItems EarthquakeBossItems = new VariantDefs.VariantItems { items = new(string, int)[3] { ("SecondaryCDR", 40), ("SecondarySkillMagazine", 3), ("GreenHealthbar", 1) } }; private static readonly VariantDefs.VariantItems EphemeralBossItems = new VariantDefs.VariantItems { items = new(string, int)[1] { ("GreenHealthbar", 1) } }; private static readonly VariantDefs.VariantItems ErraiBossItems = new VariantDefs.VariantItems { items = new(string, int)[1] { ("GreenHealthbar", 1) } }; private static readonly VariantDefs.VariantItems EruptingBossItems = new VariantDefs.VariantItems { items = new(string, int)[3] { ("SpecialCDR", 40), ("ExtraSpecial", 2), ("GreenHealthbar", 1) } }; private static readonly VariantDefs.VariantIte