Decompiled source of ArenaBuilds v0.2.10
ArenaBuilds.dll
Decompiled 2 days ago
The result has been truncated due to the large size, download it to view full contents!
using System; 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 System.Text; using System.Text.Json; using System.Text.RegularExpressions; using ArenaBuilds.Commands.ManualConverters; using ArenaBuilds.Data; using ArenaBuilds.Data.Db; using ArenaBuilds.Extensions; using ArenaBuilds.Helpers; using ArenaBuilds.Models; using ArenaBuilds.Models.CommandArguments; using ArenaBuilds.Models.Interfaces; using BepInEx; using BepInEx.Core.Logging.Interpolation; using BepInEx.Logging; using BepInEx.Unity.IL2CPP; using HarmonyLib; using Il2CppSystem; using Il2CppSystem.Collections.Generic; using Microsoft.CodeAnalysis; using ProjectM; using ProjectM.Gameplay.Systems; using ProjectM.Network; using ProjectM.Scripting; using ProjectM.Shared; using Stunlock.Core; using Unity.Collections; using Unity.Entities; using UnityEngine; using VampireCommandFramework; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] [assembly: AssemblyCompany("Crostomos")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyDescription("Server mod that lets you instantly equip custom builds via in-game commands")] [assembly: AssemblyFileVersion("0.2.10.0")] [assembly: AssemblyInformationalVersion("0.2.10-dev+ea1a1eda0c53c18eff737ac9f57b233ea3005a42")] [assembly: AssemblyProduct("ArenaBuilds")] [assembly: AssemblyTitle("ArenaBuilds")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.2.10.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.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 ArenaBuilds { internal static class BuildManager { private static readonly string FileDirectory = Path.Combine("BepInEx", "config", "ArenaBuilds"); private const string BuildFile = "builds.json"; private static readonly string BuildPath = Path.Combine(FileDirectory, "builds.json"); public static Dictionary<string, BuildModel> Builds { get; private set; } = new Dictionary<string, BuildModel>(StringComparer.OrdinalIgnoreCase); public static void LoadData() { //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Expected O, but got Unknown //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Expected O, but got Unknown bool flag = default(bool); BepInExInfoLogInterpolatedStringHandler val; if (!File.Exists(BuildPath)) { ManualLogSource logger = Plugin.Logger; val = new BepInExInfoLogInterpolatedStringHandler(25, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Builds.json not found in "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(BuildPath); } logger.LogInfo(val); CreateEmptyBuildsFile(); } string json = File.ReadAllText(BuildPath); Dictionary<string, BuildModel> dictionary = JsonSerializer.Deserialize<Dictionary<string, BuildModel>>(json, new JsonSerializerOptions { AllowTrailingCommas = true }); Builds = new Dictionary<string, BuildModel>(dictionary, StringComparer.OrdinalIgnoreCase); ManualLogSource logger2 = Plugin.Logger; val = new BepInExInfoLogInterpolatedStringHandler(31, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Loaded "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<int>(Builds.Count); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" builds from Builds.json"); } logger2.LogInfo(val); } private static void CreateEmptyBuildsFile() { //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Expected O, but got Unknown if (!Directory.Exists(FileDirectory)) { Directory.CreateDirectory(FileDirectory); } Dictionary<string, BuildModel> value = new Dictionary<string, BuildModel> { { "EmptyDefault", new BuildModel() } }; string contents = JsonSerializer.Serialize(value, new JsonSerializerOptions { WriteIndented = true }); File.WriteAllText(BuildPath, contents); ManualLogSource logger = Plugin.Logger; bool flag = default(bool); BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(29, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Created empty Builds.json at "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(BuildPath); } logger.LogInfo(val); } public static string GetBuildList() { if (Builds == null || Builds.Count == 0) { return string.Empty; } return Builds.Keys.ToFormattedList(); } } internal class Core { private static World Server => GetWorld("Server") ?? throw new Exception("There is no Server world."); public static PrefabCollectionSystem PrefabCollectionSystem => Server.GetExistingSystemManaged<PrefabCollectionSystem>(); public static ActivateVBloodAbilitySystem ActivateVBloodAbilitySystem => Server.GetExistingSystemManaged<ActivateVBloodAbilitySystem>(); public static ServerGameManager ServerGameManager => Server.GetExistingSystemManaged<ServerScriptMapper>()._ServerGameManager; public static DebugEventsSystem DebugEventsSystem => Server.GetExistingSystemManaged<DebugEventsSystem>(); public static EntityManager EntityManager => Server.EntityManager; private static World GetWorld(string name) { Enumerator<World> enumerator = World.s_AllWorlds.GetEnumerator(); while (enumerator.MoveNext()) { World current = enumerator.Current; if (current.Name == name) { return current; } } return null; } } [BepInPlugin("ArenaBuilds", "ArenaBuilds", "0.2.10-dev")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BasePlugin { private Harmony _harmony; public static ManualLogSource Logger; public override void Load() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Expected O, but got Unknown //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Expected O, but got Unknown Logger = ((BasePlugin)this).Log; ManualLogSource log = ((BasePlugin)this).Log; bool flag = default(bool); BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(27, 2, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Plugin "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>("ArenaBuilds"); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" version "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>("0.2.10-dev"); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" is loaded!"); } log.LogInfo(val); _harmony = new Harmony("ArenaBuilds"); _harmony.PatchAll(Assembly.GetExecutingAssembly()); BuildManager.LoadData(); Database.Initialize(); CommandRegistry.RegisterAll(); } public override bool Unload() { CommandRegistry.UnregisterAssembly(); Harmony harmony = _harmony; if (harmony != null) { harmony.UnpatchSelf(); } return true; } } public static class MyPluginInfo { public const string PLUGIN_GUID = "ArenaBuilds"; public const string PLUGIN_NAME = "ArenaBuilds"; public const string PLUGIN_VERSION = "0.2.10-dev"; } } namespace ArenaBuilds.Models { internal class Abilities { public AbilityData Travel { get; set; } = new AbilityData(); public AbilityData Ability1 { get; set; } = new AbilityData(); public AbilityData Ability2 { get; set; } = new AbilityData(); public UltimateAbilityData Ultimate { get; set; } = new UltimateAbilityData(); } internal class AbilityData : IAbilityData { public string Name { get; set; } = string.Empty; public JewelData Jewel { get; set; } = new JewelData(); } internal class Armors { public string Boots { get; set; } = string.Empty; public string Chest { get; set; } = string.Empty; public string Gloves { get; set; } = string.Empty; public string Legs { get; set; } = string.Empty; public string MagicSource { get; set; } = string.Empty; public string Head { get; set; } = string.Empty; public string Cloak { get; set; } = string.Empty; public string Bag { get; set; } = string.Empty; } internal class BloodData { public bool GiveBloodPotion { get; set; } = false; public bool FillBloodPool { get; set; } = false; public string PrimaryType { get; set; } = string.Empty; public string SecondaryType { get; set; } = string.Empty; public float PrimaryQuality { get; set; } = 0f; public float SecondaryQuality { get; set; } = 0f; public int SecondaryBuffIndex { get; set; } = 0; } internal class BuildItemData { public string Name { get; set; } = string.Empty; public int Amount { get; set; } = 0; } internal class BuildModel { public BuildSettings Settings { get; set; } = new BuildSettings(); public BloodData Blood { get; set; } = new BloodData(); public List<BuildItemData> Items { get; set; } = new List<BuildItemData>(); public Abilities Abilities { get; set; } = new Abilities(); public PassiveSpells PassiveSpells { get; set; } = new PassiveSpells(); public Armors Armors { get; set; } = new Armors(); public List<WeaponData> Weapons { get; set; } = new List<WeaponData>(); } internal class BuildSettings { public bool ClearInventory { get; set; } } internal class JewelData { public string SpellMod1 { get; set; } = string.Empty; public float SpellMod1Power { get; set; } = 0f; public string SpellMod2 { get; set; } = string.Empty; public float SpellMod2Power { get; set; } = 0f; public string SpellMod3 { get; set; } = string.Empty; public float SpellMod3Power { get; set; } = 0f; public string SpellMod4 { get; set; } = string.Empty; public float SpellMod4Power { get; set; } = 0f; } internal class PassiveSpells { public string PassiveSpell1 { get; set; } = string.Empty; public string PassiveSpell2 { get; set; } = string.Empty; public string PassiveSpell3 { get; set; } = string.Empty; public string PassiveSpell4 { get; set; } = string.Empty; public string PassiveSpell5 { get; set; } = string.Empty; } internal class UltimateAbilityData : IAbilityData { public string Name { get; set; } = string.Empty; } internal class WeaponData { public string Name { get; set; } = string.Empty; public string InfuseSpellMod { get; set; } = string.Empty; public string SpellMod1 { get; set; } = string.Empty; public string SpellMod2 { get; set; } = string.Empty; public string StatMod1 { get; set; } = string.Empty; public float StatMod1Power { get; set; } = 0f; public string StatMod2 { get; set; } = string.Empty; public float StatMod2Power { get; set; } = 0f; public string StatMod3 { get; set; } = string.Empty; public float StatMod3Power { get; set; } = 0f; public string StatMod4 { get; set; } = string.Empty; public float StatMod4Power { get; set; } = 0f; } } namespace ArenaBuilds.Models.Interfaces { internal interface IAbilityData { string Name { get; set; } } internal interface ICommandArgument { string Name { get; set; } string PrefabName { get; set; } List<string> ArgNames { get; set; } } internal interface IDatabase { void Init(); } } namespace ArenaBuilds.Models.CommandArguments { internal class AbilityModel : ICommandArgument { public string Name { get; set; } public string SpellSchool { get; set; } public string PrefabName { get; set; } public List<string> ArgNames { get; set; } public AbilityModel(string name, string prefabName, List<string> argNames, string spellSchool) { Name = name; SpellSchool = spellSchool; PrefabName = prefabName; ArgNames = argNames; base..ctor(); } } internal class ArtifactWeaponModel : WeaponModel { public string SpellMod1 { get; set; } = string.Empty; public string SpellMod2 { get; set; } = string.Empty; public int Variation { get; set; } = 1; public ArtifactWeaponModel(string name, string basePrefabName, List<string> argNames) : base(name, basePrefabName, argNames) { } public static ArtifactWeaponModel FromWeaponModel(WeaponModel weapon) { return new ArtifactWeaponModel(weapon.Name, weapon.BasePrefabName, weapon.ArgNames) { PrefabName = weapon.PrefabName }; } } internal class InfuseSpellModModel : ICommandArgument { public string Name { get; set; } public string PrefabName { get; set; } public List<string> ArgNames { get; set; } public InfuseSpellModModel(string name, string prefabName, List<string> argNames) { Name = name; PrefabName = prefabName; ArgNames = argNames; base..ctor(); } } internal class StatModModel : ICommandArgument { public string Name { get; set; } public string PrefabName { get; set; } public List<string> ArgNames { get; set; } public StatModModel(string name, string prefabName, List<string> argNames) { Name = name; PrefabName = prefabName; ArgNames = argNames; base..ctor(); } } internal class WeaponModel : ICommandArgument { public string Name { get; set; } public string BasePrefabName { get; set; } public string PrefabName { get; set; } public List<string> ArgNames { get; set; } public WeaponModel(string name, string basePrefabName, List<string> argNames) { Name = name; BasePrefabName = basePrefabName; PrefabName = "Item_Weapon_" + basePrefabName + "_T05_Iron"; ArgNames = argNames; base..ctor(); } public void SetLegendaryPrefab() { PrefabName = "Item_Weapon_" + BasePrefabName + "_Legendary_T08"; } public void SetArtifactPrefab(int variation = 1) { PrefabName = $"Item_Weapon_{BasePrefabName}_Unique_T08_Variation0{variation}"; } } } namespace ArenaBuilds.Helpers { internal static class AbilityHelper { public static void EquipAbilities(Entity character, User user, Abilities abilities) { //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Expected O, but got Unknown //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) (IAbilityData, AbilityTypeEnum)[] array = new(IAbilityData, AbilityTypeEnum)[4] { (abilities.Travel, (AbilityTypeEnum)2), (abilities.Ability1, (AbilityTypeEnum)5), (abilities.Ability2, (AbilityTypeEnum)6), (abilities.Ultimate, (AbilityTypeEnum)7) }; (IAbilityData, AbilityTypeEnum)[] array2 = array; bool flag = default(bool); for (int i = 0; i < array2.Length; i++) { var (abilityData, slot) = array2[i]; if (string.IsNullOrEmpty(abilityData.Name)) { continue; } if (UtilsHelper.TryGetPrefabGuid(abilityData.Name, out var guid)) { EquipAbility(character, guid, slot); if (abilityData is AbilityData abilityData2) { JewelHelper.CreateAndEquip(user, guid, abilityData2.Jewel); } continue; } ManualLogSource logger = Plugin.Logger; BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(28, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Ability guid not found for "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(abilityData.Name); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("."); } logger.LogWarning(val); } } public static void EquipPassiveSpells(Entity character, PassiveSpells passiveSpells) { //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) string[] array = new string[5] { passiveSpells.PassiveSpell1, passiveSpells.PassiveSpell2, passiveSpells.PassiveSpell3, passiveSpells.PassiveSpell4, passiveSpells.PassiveSpell5 }; bool flag = default(bool); for (int i = 0; i < array.Length; i++) { if (string.IsNullOrEmpty(array[i])) { continue; } if (UtilsHelper.TryGetPrefabGuid(array[i], out var guid)) { EquipSpellPassive(character, guid, i); continue; } ManualLogSource logger = Plugin.Logger; BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(34, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Passive spell guid not found for "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(array[i]); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("."); } logger.LogWarning(val); } } public static void ClearAbilities(Entity character) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) EntityManager entityManager = Core.EntityManager; DynamicBuffer<VBloodAbilityBuffEntry> val = default(DynamicBuffer<VBloodAbilityBuffEntry>); if (((EntityManager)(ref entityManager)).TryGetBuffer<VBloodAbilityBuffEntry>(character, ref val)) { Enumerator<VBloodAbilityBuffEntry> enumerator = val.GetEnumerator(); while (enumerator.MoveNext()) { VBloodAbilityBuffEntry current = enumerator.Current; VBloodAbilityUtilities.TryRemoveVBloodAbility(Core.EntityManager, character, current.ActiveAbility); } } } public static void ClearPassiveSpells(Entity character) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) EntityManager entityManager = Core.EntityManager; DynamicBuffer<ActivePassivesBuffer> val = default(DynamicBuffer<ActivePassivesBuffer>); if (((EntityManager)(ref entityManager)).TryGetBuffer<ActivePassivesBuffer>(character, ref val)) { for (int i = 0; i < val.Length; i++) { val[i] = default(ActivePassivesBuffer); } } } private static void EquipAbility(Entity character, PrefabGUID guid, AbilityTypeEnum slot) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Invalid comparison between Unknown and I4 //IL_0021: Unknown result type (might be due to invalid IL or missing references) VBloodAbilityUtilities.TryApplyVBloodAbility(Core.EntityManager, Core.ActivateVBloodAbilitySystem._BuffSpawnerSystemData, Core.PrefabCollectionSystem._PrefabLookupMap, character, guid, (VBloodAbilityApplyType)0, (int)slot == 5); } private static void EquipSpellPassive(Entity character, PrefabGUID guid, int slot) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) EntityManager entityManager = Core.EntityManager; DynamicBuffer<ActivePassivesBuffer> val = default(DynamicBuffer<ActivePassivesBuffer>); if (((EntityManager)(ref entityManager)).TryGetBuffer<ActivePassivesBuffer>(character, ref val)) { val[slot] = new ActivePassivesBuffer { Entity = default(Entity), PrefabGuid = guid }; } } } internal static class ArmorHelper { public static void EquipArmors(Entity character, Armors armors) { //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Expected O, but got Unknown //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) string[] array = new string[8] { armors.Boots, armors.Chest, armors.Gloves, armors.Legs, armors.MagicSource, armors.Head, armors.Cloak, armors.Bag }; string[] array2 = array; bool flag = default(bool); foreach (string text in array2) { if (string.IsNullOrEmpty(text)) { continue; } if (UtilsHelper.TryGetPrefabGuid(text, out var guid)) { GiveAndEquip(character, guid); continue; } ManualLogSource logger = Plugin.Logger; BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(26, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Armor guid not found for "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(text); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("."); } logger.LogWarning(val); } } private static void GiveAndEquip(Entity character, PrefabGUID guid) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) Entity val = InventoryHelper.AddItemToInventory(character, guid, 1); int itemSlot = InventoryUtilities.GetItemSlot<EntityManager>(Core.EntityManager, character, guid, val); InventoryHelper.EquipEquipment(character, itemSlot); } } internal static class BloodHelper { public static void SetBlood(Entity character, string primaryBloodType, string secondaryBloodType = "", float primaryQuality = 100f, float secondaryQuality = 100f, int secondaryBuffIndex = 0, int amount = 100) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) if (TryGetBloodGuids(primaryBloodType, secondaryBloodType, out var primaryGuid, out var secondaryGuid, ref secondaryQuality, ref secondaryBuffIndex)) { ConsumeBloodAdminEvent val = default(ConsumeBloodAdminEvent); val.Amount = amount; val.PrimaryQuality = Mathf.Clamp(primaryQuality, 0f, 100f); val.SecondaryQuality = Mathf.Clamp(secondaryQuality, 0f, 100f); val.PrimaryType = primaryGuid; val.SecondaryType = secondaryGuid; val.SecondaryBuffIndex = (byte)Mathf.Clamp(secondaryBuffIndex, 0, 2); val.ApplyTier4SecondaryBuff = secondaryGuid != new PrefabGUID(0); ConsumeBloodAdminEvent eventData = val; UtilsHelper.CreateEventFromCharacter<ConsumeBloodAdminEvent>(character, eventData); } } public static void GiveBloodPotion(Entity character, string primaryBloodType, string secondaryBloodType = "", float primaryQuality = 100f, float secondaryQuality = 100f, int secondaryBuffIndex = 0) { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) if (TryGetBloodGuids(primaryBloodType, secondaryBloodType, out var primaryGuid, out var secondaryGuid, ref secondaryQuality, ref secondaryBuffIndex)) { Entity val = InventoryHelper.AddItemToInventory(character, Prefabs.Item_Consumable_PrisonPotion_Bloodwine, 1); StoredBlood val2 = default(StoredBlood); val2.BloodQuality = Mathf.Clamp(primaryQuality, 0f, 100f); val2.PrimaryBloodType = primaryGuid; val2.SecondaryBlood = new SecondaryBloodData { Type = secondaryGuid, Quality = Mathf.Clamp(secondaryQuality, 0f, 100f), BuffIndex = (byte)Mathf.Clamp(secondaryBuffIndex, 0, 2) }; StoredBlood val3 = val2; EntityManager entityManager = Core.EntityManager; ((EntityManager)(ref entityManager)).SetComponentData<StoredBlood>(val, val3); } } private static bool TryGetBloodGuids(string primaryBloodType, string secondaryBloodType, out PrefabGUID primaryGuid, out PrefabGUID secondaryGuid, ref float secondaryQuality, ref int secondaryBuffIndex) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Expected O, but got Unknown //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) primaryGuid = default(PrefabGUID); secondaryGuid = default(PrefabGUID); if (string.IsNullOrEmpty(primaryBloodType)) { return false; } if (!UtilsHelper.TryGetPrefabGuid(primaryBloodType, out primaryGuid)) { ManualLogSource logger = Plugin.Logger; bool flag = default(bool); BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(39, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Primary Blood type guid not found for "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(primaryBloodType); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("."); } logger.LogWarning(val); return false; } if (string.IsNullOrEmpty(secondaryBloodType) || !UtilsHelper.TryGetPrefabGuid(secondaryBloodType, out secondaryGuid)) { secondaryGuid = new PrefabGUID(0); secondaryQuality = 0f; secondaryBuffIndex = 0; } return true; } } internal static class InventoryHelper { public static void GiveItems(Entity character, List<BuildItemData> items) { //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Expected O, but got Unknown //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) bool flag = default(bool); foreach (BuildItemData item in items) { if (string.IsNullOrEmpty(item.Name)) { continue; } if (UtilsHelper.TryGetPrefabGuid(item.Name, out var guid)) { AddItemToInventory(character, guid, item.Amount); continue; } ManualLogSource logger = Plugin.Logger; BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(25, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Item guid not found for "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(item.Name); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("."); } logger.LogWarning(val); } } public static Entity AddItemToInventory(Entity recipient, PrefabGUID guid, int amount) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) try { ServerGameManager serverGameManager = Core.ServerGameManager; AddItemResponse val = ((ServerGameManager)(ref serverGameManager)).TryAddInventoryItem(recipient, guid, amount); return val.NewEntity; } catch (Exception ex) { Plugin.Logger.LogFatal((object)ex); } return default(Entity); } public static void EquipEquipment(Entity character, int slot) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) UtilsHelper.CreateEventFromCharacter<EquipItemEvent>(character, new EquipItemEvent { SlotIndex = slot }); } public static void ClearInventory(Entity character) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) EntityManager entityManager = Core.EntityManager; Equipment componentData = ((EntityManager)(ref entityManager)).GetComponentData<Equipment>(character); List<Entity> list = new List<Entity>(9); NetworkedEntity equipmentEntity = ((Equipment)(ref componentData)).GetEquipmentEntity((EquipmentType)0); list.Add(((NetworkedEntity)(ref equipmentEntity)).GetEntityOnServer()); equipmentEntity = ((Equipment)(ref componentData)).GetEquipmentEntity((EquipmentType)1); list.Add(((NetworkedEntity)(ref equipmentEntity)).GetEntityOnServer()); equipmentEntity = ((Equipment)(ref componentData)).GetEquipmentEntity((EquipmentType)5); list.Add(((NetworkedEntity)(ref equipmentEntity)).GetEntityOnServer()); equipmentEntity = ((Equipment)(ref componentData)).GetEquipmentEntity((EquipmentType)4); list.Add(((NetworkedEntity)(ref equipmentEntity)).GetEntityOnServer()); equipmentEntity = ((Equipment)(ref componentData)).GetEquipmentEntity((EquipmentType)9); list.Add(((NetworkedEntity)(ref equipmentEntity)).GetEntityOnServer()); equipmentEntity = ((Equipment)(ref componentData)).GetEquipmentEntity((EquipmentType)8); list.Add(((NetworkedEntity)(ref equipmentEntity)).GetEntityOnServer()); equipmentEntity = ((Equipment)(ref componentData)).GetEquipmentEntity((EquipmentType)3); list.Add(((NetworkedEntity)(ref equipmentEntity)).GetEntityOnServer()); equipmentEntity = ((Equipment)(ref componentData)).GetEquipmentEntity((EquipmentType)10); list.Add(((NetworkedEntity)(ref equipmentEntity)).GetEntityOnServer()); equipmentEntity = ((Equipment)(ref componentData)).GetEquipmentEntity((EquipmentType)2); list.Add(((NetworkedEntity)(ref equipmentEntity)).GetEntityOnServer()); List<Entity> source = list; foreach (Entity item in source.Where((Entity entity) => entity != default(Entity))) { InventoryUtilitiesServer.TryUnEquipItem(Core.EntityManager, character, item, default(Nullable_Unboxed<EntityCommandBuffer>)); } InventoryUtilitiesServer.ClearInventory(Core.EntityManager, character); } } internal static class JewelHelper { public static void CreateAndEquip(User user, PrefabGUID abilityGuid, JewelData jewelData) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) CreateJewelDebugEventV2 val = default(CreateJewelDebugEventV2); val.AbilityPrefabGuid = abilityGuid; val.Equip = true; val.SpellMod1 = UtilsHelper.GetPrefabGuid(jewelData.SpellMod1).GetValueOrDefault(); val.SpellMod1Power = Mathf.Clamp(jewelData.SpellMod1Power, 0f, 1f); val.SpellMod2 = UtilsHelper.GetPrefabGuid(jewelData.SpellMod2).GetValueOrDefault(); val.SpellMod2Power = Mathf.Clamp(jewelData.SpellMod2Power, 0f, 1f); val.SpellMod3 = UtilsHelper.GetPrefabGuid(jewelData.SpellMod3).GetValueOrDefault(); val.SpellMod3Power = Mathf.Clamp(jewelData.SpellMod3Power, 0f, 1f); val.SpellMod4 = UtilsHelper.GetPrefabGuid(jewelData.SpellMod4).GetValueOrDefault(); val.SpellMod4Power = Mathf.Clamp(jewelData.SpellMod4Power, 0f, 1f); val.Tier = 3; CreateJewelDebugEventV2 val2 = val; Core.DebugEventsSystem.CreateJewelEvent(user.Index, ref val2); } } internal static class PlayerHelper { public static void UnlockAll(Entity user, Entity character) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) FromCharacter val = default(FromCharacter); val.User = user; val.Character = character; FromCharacter val2 = val; Core.DebugEventsSystem.UnlockAllResearch(val2); Core.DebugEventsSystem.UnlockAllVBloods(val2); Core.DebugEventsSystem.CompleteAllAchievements(val2); } } internal static class UtilsHelper { public static bool TryGetPrefabGuid(string name, out PrefabGUID guid) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) PrefabGUID? prefabGuid = GetPrefabGuid(name); if (prefabGuid.HasValue) { guid = prefabGuid.Value; return true; } guid = default(PrefabGUID); return false; } public static PrefabGUID? GetPrefabGuid(string name) { Type typeFromHandle = typeof(Prefabs); FieldInfo field = typeFromHandle.GetField(name, BindingFlags.Static | BindingFlags.Public); return (field != null && field.FieldType == typeof(PrefabGUID)) ? ((PrefabGUID?)field.GetValue(null)) : null; } public static void CreateEventFromCharacter<T>(Entity character, T eventData) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0047: 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) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) EntityManager entityManager = Core.EntityManager; Entity val = ((EntityManager)(ref entityManager)).CreateEntity((ComponentType[])(object)new ComponentType[2] { ComponentType.ReadWrite<FromCharacter>(), ComponentType.ReadWrite<T>() }); Entity userEntity = GetUserEntity(character); entityManager = Core.EntityManager; ((EntityManager)(ref entityManager)).SetComponentData<FromCharacter>(val, new FromCharacter { User = userEntity, Character = character }); entityManager = Core.EntityManager; ((EntityManager)(ref entityManager)).SetComponentData<T>(val, eventData); } private static Entity GetUserEntity(Entity character) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) EntityManager entityManager = Core.EntityManager; PlayerCharacter componentData = ((EntityManager)(ref entityManager)).GetComponentData<PlayerCharacter>(character); return componentData.UserEntity; } } internal static class WeaponHelper { public static void GiveWeapons(User user, Entity character, List<WeaponData> weapons) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) foreach (WeaponData weapon in weapons) { if (IsLegendary(weapon.Name)) { CreateAndGiveLegendaryWeapon(user.Index, weapon); } else if (IsArtifact(weapon.Name)) { CreateAndGiveArtifactWeapon(user.Index, character, weapon); } else { CreateAndGiveWeapon(character, weapon); } } } public static void CreateAndGiveLegendaryWeapon(int userIndex, WeaponData weaponData) { //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown if (string.IsNullOrEmpty(weaponData.Name)) { return; } if (!UtilsHelper.TryGetPrefabGuid(weaponData.Name, out var guid)) { ManualLogSource logger = Plugin.Logger; bool flag = default(bool); BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(27, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Weapon guid not found for "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(weaponData.Name); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("."); } logger.LogWarning(val); } else { CreateLegendaryWeaponDebugEvent val2 = default(CreateLegendaryWeaponDebugEvent); val2.WeaponPrefabGuid = guid; val2.Tier = 8; val2.InfuseSpellMod = UtilsHelper.GetPrefabGuid(weaponData.InfuseSpellMod).GetValueOrDefault(); val2.StatMod1 = UtilsHelper.GetPrefabGuid(weaponData.StatMod1).GetValueOrDefault(); val2.StatMod1Power = Mathf.Clamp(weaponData.StatMod1Power, 0f, 1f); val2.StatMod2 = UtilsHelper.GetPrefabGuid(weaponData.StatMod2).GetValueOrDefault(); val2.StatMod2Power = Mathf.Clamp(weaponData.StatMod2Power, 0f, 1f); val2.StatMod3 = UtilsHelper.GetPrefabGuid(weaponData.StatMod3).GetValueOrDefault(); val2.StatMod3Power = Mathf.Clamp(weaponData.StatMod3Power, 0f, 1f); val2.StatMod4 = UtilsHelper.GetPrefabGuid(weaponData.StatMod4).GetValueOrDefault(); val2.StatMod4Power = Mathf.Clamp(weaponData.StatMod4Power, 0f, 1f); CreateLegendaryWeaponDebugEvent val3 = val2; Core.DebugEventsSystem.CreateLegendaryWeaponEvent(userIndex, ref val3); } } public static void CreateAndGiveArtifactWeapon(int userIndex, Entity character, WeaponData weaponData) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Expected O, but got Unknown //IL_0064: Unknown result type (might be due to invalid IL or missing references) CreateAndGiveLegendaryWeapon(userIndex, weaponData); Entity createdWeapon = GetCreatedWeapon(character, weaponData); if (string.IsNullOrEmpty(weaponData.SpellMod1)) { weaponData.SpellMod1 = GetDefaultSpellMod(weaponData.Name, 1); } if (string.IsNullOrEmpty(weaponData.SpellMod2)) { weaponData.SpellMod2 = GetDefaultSpellMod(weaponData.Name, 2); } if (HasValidSpellMods(weaponData)) { SetAbilityMod(createdWeapon, weaponData); return; } ManualLogSource logger = Plugin.Logger; bool flag = default(bool); BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(19, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Wrong SpellMod for "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(weaponData.Name); } logger.LogWarning(val); } private static bool IsLegendary(string prefabName) { return prefabName.Contains("Legendary"); } private static bool IsArtifact(string prefabName) { return prefabName.Contains("Unique_T08"); } private static string GetWeaponNameType(WeaponData weaponData) { return weaponData.Name.Split('_')[2]; } private static string GetDefaultSpellMod(string weaponName, int modIndex) { if (WeaponDb.ArtifactWeaponPrefabToAbilityMods.TryGetValue(weaponName, out (string, string) value)) { switch (modIndex) { case 1: return value.Item1; case 2: return value.Item2; } } return string.Empty; } private static bool HasValidSpellMods(WeaponData weaponData) { string weaponNameType = GetWeaponNameType(weaponData); return weaponData.SpellMod1.Contains(weaponNameType) && weaponData.SpellMod2.Contains(weaponNameType); } private static void CreateAndGiveWeapon(Entity character, WeaponData weaponData) { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Expected O, but got Unknown //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) if (string.IsNullOrEmpty(weaponData.Name)) { return; } if (UtilsHelper.TryGetPrefabGuid(weaponData.Name, out var guid)) { InventoryHelper.AddItemToInventory(character, guid, 1); return; } ManualLogSource logger = Plugin.Logger; bool flag = default(bool); BepInExWarningLogInterpolatedStringHandler val = new BepInExWarningLogInterpolatedStringHandler(27, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Weapon guid not found for "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>(weaponData.Name); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("."); } logger.LogWarning(val); } private static SpellMod CreateSpellMod(string statMod, float statPower) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) SpellMod result = default(SpellMod); result.Id = UtilsHelper.GetPrefabGuid(statMod).GetValueOrDefault(); result.Power = statPower; return result; } private static void SetAbilityMod(Entity weapon, WeaponData weaponData) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) if (!(weapon == default(Entity))) { EntityManager entityManager = Core.EntityManager; LegendaryItemSpellModSetComponent componentData = ((EntityManager)(ref entityManager)).GetComponentData<LegendaryItemSpellModSetComponent>(weapon); SpellModSet val = default(SpellModSet); val.Mod0 = CreateSpellMod(weaponData.SpellMod1, 1f); val.Count = 1; SpellModSet abilityMods = val; val = default(SpellModSet); val.Mod0 = CreateSpellMod(weaponData.SpellMod2, 1f); val.Count = 1; SpellModSet abilityMods2 = val; componentData.AbilityMods0 = abilityMods; componentData.AbilityMods1 = abilityMods2; entityManager = Core.EntityManager; ((EntityManager)(ref entityManager)).SetComponentData<LegendaryItemSpellModSetComponent>(weapon, componentData); } } private static Entity GetCreatedWeapon(Entity character, WeaponData weaponData) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0307: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) //IL_0301: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_01fd: Unknown result type (might be due to invalid IL or missing references) //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0232: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Unknown result type (might be due to invalid IL or missing references) //IL_026e: Unknown result type (might be due to invalid IL or missing references) //IL_0273: Unknown result type (might be due to invalid IL or missing references) //IL_0278: Unknown result type (might be due to invalid IL or missing references) //IL_027d: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02aa: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_02cb: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) NativeArray<InventoryBuffer> val = default(NativeArray<InventoryBuffer>); if (!UtilsHelper.TryGetPrefabGuid(weaponData.Name, out var guid) || !InventoryUtilities.TryGetInventory<EntityManager>(Core.EntityManager, character, ref val, 0)) { return default(Entity); } PrefabGUID? prefabGuid = UtilsHelper.GetPrefabGuid(weaponData.StatMod1); PrefabGUID? prefabGuid2 = UtilsHelper.GetPrefabGuid(weaponData.StatMod2); PrefabGUID? prefabGuid3 = UtilsHelper.GetPrefabGuid(weaponData.StatMod3); PrefabGUID? prefabGuid4 = UtilsHelper.GetPrefabGuid(weaponData.StatMod4); PrefabGUID? prefabGuid5 = UtilsHelper.GetPrefabGuid(weaponData.InfuseSpellMod); PrefabGUID? prefabGuid6 = UtilsHelper.GetPrefabGuid(weaponData.SpellMod1); PrefabGUID? prefabGuid7 = UtilsHelper.GetPrefabGuid(weaponData.SpellMod2); Enumerator<InventoryBuffer> enumerator = val.GetEnumerator(); while (enumerator.MoveNext()) { InventoryBuffer current = enumerator.Current; Entity entity = current.ItemEntity._Entity; if (entity == default(Entity)) { continue; } EntityManager entityManager = Core.EntityManager; if (!((EntityManager)(ref entityManager)).HasComponent<PrefabGUID>(entity)) { continue; } entityManager = Core.EntityManager; if (!((EntityManager)(ref entityManager)).HasComponent<LegendaryItemSpellModSetComponent>(entity)) { continue; } entityManager = Core.EntityManager; PrefabGUID componentData = ((EntityManager)(ref entityManager)).GetComponentData<PrefabGUID>(entity); if (componentData != guid) { continue; } entityManager = Core.EntityManager; LegendaryItemSpellModSetComponent componentData2 = ((EntityManager)(ref entityManager)).GetComponentData<LegendaryItemSpellModSetComponent>(entity); SpellModSet statMods = componentData2.StatMods; if (prefabGuid.HasValue) { PrefabGUID id = statMods.Mod0.Id; PrefabGUID? val2 = prefabGuid; if (!val2.HasValue || id != val2.GetValueOrDefault()) { continue; } } if (prefabGuid2.HasValue) { PrefabGUID id = statMods.Mod1.Id; PrefabGUID? val2 = prefabGuid2; if (!val2.HasValue || id != val2.GetValueOrDefault()) { continue; } } if (prefabGuid3.HasValue) { PrefabGUID id = statMods.Mod2.Id; PrefabGUID? val2 = prefabGuid3; if (!val2.HasValue || id != val2.GetValueOrDefault()) { continue; } } if (prefabGuid4.HasValue) { PrefabGUID id = statMods.Mod3.Id; PrefabGUID? val2 = prefabGuid4; if (!val2.HasValue || id != val2.GetValueOrDefault()) { continue; } } if (prefabGuid5.HasValue) { PrefabGUID id = componentData2.AbilityMods0.Mod0.Id; PrefabGUID? val2 = prefabGuid5; if (!val2.HasValue || id != val2.GetValueOrDefault()) { continue; } } if (prefabGuid6.HasValue) { PrefabGUID id = componentData2.AbilityMods0.Mod0.Id; PrefabGUID? val2 = prefabGuid6; if (val2.HasValue && id == val2.GetValueOrDefault()) { continue; } } if (prefabGuid7.HasValue) { PrefabGUID id = componentData2.AbilityMods1.Mod0.Id; PrefabGUID? val2 = prefabGuid7; if (val2.HasValue && id == val2.GetValueOrDefault()) { continue; } } return entity; } return default(Entity); } } } namespace ArenaBuilds.Extensions { internal static class IntegerExtensions { private const string Base36Chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static string ToBase36(this int value) { int num = value; int num2 = num; if (num2 >= 0) { if (num2 == 0) { return "0"; } string text = ""; while (value > 0) { int index = value % 36; text = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[index] + text; value /= 36; } return text; } Plugin.Logger.LogError((object)"Negative integers are not supported by base36 conversion."); return string.Empty; } } internal static class ListExtensions { public static string ToIndexedList(this IEnumerable<string> list) { StringBuilder stringBuilder = new StringBuilder(); int num = 1; foreach (string item in list) { StringBuilder stringBuilder2 = stringBuilder; StringBuilder.AppendInterpolatedStringHandler handler = new StringBuilder.AppendInterpolatedStringHandler(3, 2, stringBuilder2); handler.AppendFormatted(num.ToBase36()); handler.AppendLiteral(" : "); handler.AppendFormatted(item); stringBuilder2.AppendLine(ref handler); num++; } return stringBuilder.ToString(); } public static string ToFormattedList(this IEnumerable<string> list) { StringBuilder stringBuilder = new StringBuilder(); foreach (string item in list) { StringBuilder stringBuilder2 = stringBuilder; StringBuilder.AppendInterpolatedStringHandler handler = new StringBuilder.AppendInterpolatedStringHandler(2, 1, stringBuilder2); handler.AppendLiteral("- "); handler.AppendFormatted(item); stringBuilder2.AppendLine(ref handler); } return stringBuilder.ToString(); } public static string ToFormattedList(this IEnumerable<ICommandArgument> list, bool showName = false) { StringBuilder stringBuilder = new StringBuilder(); foreach (ICommandArgument item in list) { if (item.ArgNames.Count != 0) { string value = ((item.ArgNames.Count > 1) ? string.Join(" / ", item.ArgNames) : item.ArgNames[0]); if (showName) { StringBuilder stringBuilder2 = stringBuilder; StringBuilder stringBuilder3 = stringBuilder2; StringBuilder.AppendInterpolatedStringHandler handler = new StringBuilder.AppendInterpolatedStringHandler(5, 2, stringBuilder2); handler.AppendLiteral("- "); handler.AppendFormatted(value); handler.AppendLiteral(" : "); handler.AppendFormatted(item.Name); stringBuilder3.AppendLine(ref handler); } else { StringBuilder stringBuilder2 = stringBuilder; StringBuilder stringBuilder4 = stringBuilder2; StringBuilder.AppendInterpolatedStringHandler handler = new StringBuilder.AppendInterpolatedStringHandler(2, 1, stringBuilder2); handler.AppendLiteral("- "); handler.AppendFormatted(value); stringBuilder4.AppendLine(ref handler); } } } return stringBuilder.ToString(); } public static ICommandArgument ContainsCommandArgument(this IEnumerable<ICommandArgument> list, string input) { return list.FirstOrDefault((ICommandArgument s) => s.ArgNames.Any((string arg) => arg.Contains(input, StringComparison.OrdinalIgnoreCase))); } public static ICommandArgument EqualsCommandArgument(this IEnumerable<ICommandArgument> list, string input) { return list.FirstOrDefault((ICommandArgument s) => s.ArgNames.Contains<string>(input, StringComparer.OrdinalIgnoreCase)); } } internal static class StringExtensions { public static int FromBase36(this string input) { //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Expected O, but got Unknown if (string.IsNullOrWhiteSpace(input)) { return 0; } input = input.ToUpper(); int num = 0; string text = input; bool flag = default(bool); foreach (char c in text) { int num2; switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': num2 = c - 48; break; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': num2 = c - 65 + 10; break; default: { ManualLogSource logger = Plugin.Logger; BepInExErrorLogInterpolatedStringHandler val = new BepInExErrorLogInterpolatedStringHandler(38, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Invalid character '"); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted<char>(c); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("' in base36 string."); } logger.LogError(val); return 0; } } num = num * 36 + num2; } return num; } } } namespace ArenaBuilds.Data { internal static class Database { public static void Initialize() { List<IDatabase> list = new List<IDatabase> { new SpellSchoolDb(), new AbilityDb(), new SpellModDb(), new StatModDb(), new InfuseSpellModDb(), new WeaponDb(), new AbilityToSpellModDb() }; foreach (IDatabase item in list) { item.Init(); } Plugin.Logger.LogInfo((object)"All databases initialized."); } } internal static class Prefabs { public static readonly PrefabGUID _VM_VBlood_TEMPLATE = new PrefabGUID(2075390218); public static readonly PrefabGUID _10x6RectangularTablesModularBuildMenuGroup = new PrefabGUID(-375280343); public static readonly PrefabGUID _3x3RoundTablesModularBuildMenuGroup = new PrefabGUID(-1226637162); public static readonly PrefabGUID _3x6RectangularTablesBuildMenuGroup = new PrefabGUID(-1058166909); public static readonly PrefabGUID _6x6RoundTablesModularBuildMenuGroup = new PrefabGUID(-1428481029); public static readonly PrefabGUID AB_AmbientLightning_Light = new PrefabGUID(589474506); public static readonly PrefabGUID AB_AmbientLightning_Light_GameplayStrike = new PrefabGUID(-2094079027); public static readonly PrefabGUID AB_ApplyWeaponCoating_AbilityGroup = new PrefabGUID(1327173823); public static readonly PrefabGUID AB_ApplyWeaponCoating_Activate = new PrefabGUID(-578949147); public static readonly PrefabGUID AB_ApplyWeaponCoating_Blood_AbilityGroup = new PrefabGUID(-1007451621); public static readonly PrefabGUID AB_ApplyWeaponCoating_Blood_Activate = new PrefabGUID(1186329047); public static readonly PrefabGUID AB_ApplyWeaponCoating_Blood_Cast = new PrefabGUID(765001445); public static readonly PrefabGUID AB_ApplyWeaponCoating_Cast = new PrefabGUID(1271061994); public static readonly PrefabGUID AB_ApplyWeaponCoating_Chaos_AbilityGroup = new PrefabGUID(-1706926836); public static readonly PrefabGUID AB_ApplyWeaponCoating_Chaos_Activate = new PrefabGUID(-1012725577); public static readonly PrefabGUID AB_ApplyWeaponCoating_Chaos_Cast = new PrefabGUID(1273123129); public static readonly PrefabGUID AB_ApplyWeaponCoating_Frost_AbilityGroup = new PrefabGUID(2110406288); public static readonly PrefabGUID AB_ApplyWeaponCoating_Frost_Activate = new PrefabGUID(-1250180678); public static readonly PrefabGUID AB_ApplyWeaponCoating_Frost_Cast = new PrefabGUID(-346833706); public static readonly PrefabGUID AB_ApplyWeaponCoating_Illusion_AbilityGroup = new PrefabGUID(-1063090297); public static readonly PrefabGUID AB_ApplyWeaponCoating_Illusion_Activate = new PrefabGUID(1197567253); public static readonly PrefabGUID AB_ApplyWeaponCoating_Illusion_Cast = new PrefabGUID(-237809887); public static readonly PrefabGUID AB_ApplyWeaponCoating_Storm_AbilityGroup = new PrefabGUID(419215380); public static readonly PrefabGUID AB_ApplyWeaponCoating_Storm_Activate = new PrefabGUID(655641197); public static readonly PrefabGUID AB_ApplyWeaponCoating_Storm_Cast = new PrefabGUID(1215462047); public static readonly PrefabGUID AB_ApplyWeaponCoating_Unholy_AbilityGroup = new PrefabGUID(1293762372); public static readonly PrefabGUID AB_ApplyWeaponCoating_Unholy_Activate = new PrefabGUID(1932625569); public static readonly PrefabGUID AB_ApplyWeaponCoating_Unholy_Cast = new PrefabGUID(-2088804628); public static readonly PrefabGUID AB_Archer_Projectile_Cast = new PrefabGUID(1106195644); public static readonly PrefabGUID AB_Archer_Projectile_Group = new PrefabGUID(-751119210); public static readonly PrefabGUID AB_Archer_Projectile01 = new PrefabGUID(-1423243724); public static readonly PrefabGUID AB_ArchMage_ArcaneImprisonment_AbilityGroup = new PrefabGUID(91941562); public static readonly PrefabGUID AB_ArchMage_ArcaneImprisonment_Cast = new PrefabGUID(1965996833); public static readonly PrefabGUID AB_ArchMage_ArcaneImprisonment_ImprisonBuff = new PrefabGUID(2007858431); public static readonly PrefabGUID AB_ArchMage_ArcaneImprisonment_MoveBehaviourBuff = new PrefabGUID(1099681289); public static readonly PrefabGUID AB_ArchMage_ArcaneImprisonment_RingArea = new PrefabGUID(-1952370580); public static readonly PrefabGUID AB_ArchMage_CrystalLance_AbilityGroup = new PrefabGUID(1520734123); public static readonly PrefabGUID AB_ArchMage_CrystalLance_AggroBuff = new PrefabGUID(-967628321); public static readonly PrefabGUID AB_ArchMage_CrystalLance_Cast_01 = new PrefabGUID(-88630604); public static readonly PrefabGUID AB_ArchMage_CrystalLance_Cast_02 = new PrefabGUID(1895752824); public static readonly PrefabGUID AB_ArchMage_CrystalLance_Cast_03 = new PrefabGUID(-518248879); public static readonly PrefabGUID AB_ArchMage_CrystalLance_Charged_AbilityGroup = new PrefabGUID(1187623532); public static readonly PrefabGUID AB_ArchMage_CrystalLance_Charged_Cast = new PrefabGUID(-1536831420); public static readonly PrefabGUID AB_ArchMage_CrystalLance_Charged_HitBuff = new PrefabGUID(1237316881); public static readonly PrefabGUID AB_ArchMage_CrystalLance_Charged_Projectile = new PrefabGUID(-1385969356); public static readonly PrefabGUID AB_ArchMage_CrystalLance_Charged_SplinterProjectile = new PrefabGUID(-485680280); public static readonly PrefabGUID AB_ArchMage_CrystalLance_Projectile = new PrefabGUID(826214455); public static readonly PrefabGUID AB_ArchMage_Emote_Aggro_AbilityGroup = new PrefabGUID(-139137314); public static readonly PrefabGUID AB_ArchMage_Emote_Aggro_Buff = new PrefabGUID(-1161618215); public static readonly PrefabGUID AB_ArchMage_Emote_Aggro_Buff_ALREADY_EXISTS_2 = new PrefabGUID(-1748472670); public static readonly PrefabGUID AB_ArchMage_Emote_Aggro_Cast = new PrefabGUID(-2059383344); public static readonly PrefabGUID AB_ArchMage_FireSpinner_AbilityGroup = new PrefabGUID(1217615468); public static readonly PrefabGUID AB_ArchMage_FireSpinner_Cast = new PrefabGUID(-1997201513); public static readonly PrefabGUID AB_ArchMage_FireSpinner_Projectile = new PrefabGUID(612861780); public static readonly PrefabGUID AB_ArchMage_FireSpinner_Spinner = new PrefabGUID(-1672727739); public static readonly PrefabGUID AB_ArchMage_FlameSphere_AggroBuff = new PrefabGUID(-240922728); public static readonly PrefabGUID AB_ArchMage_FlameSphere_AreaDamageBuff = new PrefabGUID(-1640482518); public static readonly PrefabGUID AB_ArchMage_FlameSphere_AreaEffectBuff = new PrefabGUID(-139562596); public static readonly PrefabGUID AB_ArchMage_FlameSphere_AreaInitBuff = new PrefabGUID(451676082); public static readonly PrefabGUID AB_ArchMage_FlameSphere_Dash_AbilityGroup = new PrefabGUID(-1754787506); public static readonly PrefabGUID AB_ArchMage_FlameSphere_Dash_Cast = new PrefabGUID(2138663579); public static readonly PrefabGUID AB_ArchMage_FlameSphere_Dash_Trigger = new PrefabGUID(1679920133); public static readonly PrefabGUID AB_ArchMage_FlameSphere_Projectile = new PrefabGUID(269193311); public static readonly PrefabGUID AB_ArchMage_FlameSphere_ShouldDestroyBuff = new PrefabGUID(299001257); public static readonly PrefabGUID AB_ArchMage_FlamingIce_AbilityGroup = new PrefabGUID(-2025881745); public static readonly PrefabGUID AB_ArchMage_FlamingIce_Area = new PrefabGUID(379217467); public static readonly PrefabGUID AB_ArchMage_FlamingIce_Cast = new PrefabGUID(1890249378); public static readonly PrefabGUID AB_ArchMage_FlamingIce_Channel = new PrefabGUID(-920928426); public static readonly PrefabGUID AB_ArchMage_FlamingIce_FreezeBuff = new PrefabGUID(821255111); public static readonly PrefabGUID AB_ArchMage_FlamingIce_Trigger = new PrefabGUID(-1488767962); public static readonly PrefabGUID AB_ArchMage_LightningArc_AbilityGroup = new PrefabGUID(-1232816408); public static readonly PrefabGUID AB_ArchMage_LightningArc_Cast = new PrefabGUID(-1524769526); public static readonly PrefabGUID AB_ArchMage_LightningArc_Projectile = new PrefabGUID(1211897000); public static readonly PrefabGUID AB_ArchMage_LightningCurse_AbilityGroup = new PrefabGUID(1365358996); public static readonly PrefabGUID AB_ArchMage_LightningCurse_Cast = new PrefabGUID(1142315183); public static readonly PrefabGUID AB_ArchMage_LightningCurse_Projectile = new PrefabGUID(-1317668918); public static readonly PrefabGUID AB_ArchMage_LightningCurse_ProjectileSpawnerBuff = new PrefabGUID(2089605812); public static readonly PrefabGUID AB_ArchMage_LightningCurse_ProjectileTrigger = new PrefabGUID(390853496); public static readonly PrefabGUID AB_ArchMage_LightningCurse_Trigger = new PrefabGUID(-988990419); public static readonly PrefabGUID AB_ArchMage_MirrorImage_AbilityGroup = new PrefabGUID(-1897317770); public static readonly PrefabGUID AB_ArchMage_MirrorImage_Cast = new PrefabGUID(-1714013936); public static readonly PrefabGUID AB_ArchMage_MirrorImage_EndPhase = new PrefabGUID(262354515); public static readonly PrefabGUID AB_ArchMage_MirrorImage_MoveBehaviourBuff = new PrefabGUID(-1099792891); public static readonly PrefabGUID AB_ArchMage_MirrorImage_Phase = new PrefabGUID(30325069); public static readonly PrefabGUID AB_ArchMage_MirrorImage_Trigger = new PrefabGUID(292114817); public static readonly PrefabGUID AB_ArchMage_Teleport_AbilityGroup = new PrefabGUID(886063983); public static readonly PrefabGUID AB_ArchMage_Teleport_Cast = new PrefabGUID(484270946); public static readonly PrefabGUID AB_ArchMage_Teleport_EndPhase = new PrefabGUID(56049482); public static readonly PrefabGUID AB_ArchMage_Teleport_Phase = new PrefabGUID(-723899936); public static readonly PrefabGUID AB_Bandit_Ambush_Buff = new PrefabGUID(614276301); public static readonly PrefabGUID AB_Bandit_Ambush_RevealBuff = new PrefabGUID(-1076678456); public static readonly PrefabGUID AB_Bandit_Bomber_Elite_Roll = new PrefabGUID(-2048180340); public static readonly PrefabGUID AB_Bandit_Bomber_Elite_Roll_Group = new PrefabGUID(192866635); public static readonly PrefabGUID AB_Bandit_BombThrow_AbilityGroup = new PrefabGUID(-1743551272); public static readonly PrefabGUID AB_Bandit_BombThrow_Cast = new PrefabGUID(-733996338); public static readonly PrefabGUID AB_Bandit_BombThrow_Throw = new PrefabGUID(746729709); public static readonly PrefabGUID AB_Bandit_ClusterBombThrow_AbilityGroup = new PrefabGUID(-444905742); public static readonly PrefabGUID AB_Bandit_ClusterBombThrow_Cast = new PrefabGUID(-1999880094); public static readonly PrefabGUID AB_Bandit_ClusterBombThrow_Throw_A = new PrefabGUID(-2120057081); public static readonly PrefabGUID AB_Bandit_ClusterBombThrow_Throw_B = new PrefabGUID(1077321307); public static readonly PrefabGUID AB_Bandit_ClusterBombThrow_Throw_C = new PrefabGUID(-1517314668); public static readonly PrefabGUID AB_Bandit_Deadeye_Camouflage_AbilityGroup = new PrefabGUID(403340165); public static readonly PrefabGUID AB_Bandit_Deadeye_Camouflage_Buff = new PrefabGUID(-1494713411); public static readonly PrefabGUID AB_Bandit_Deadeye_Camouflage_Cast = new PrefabGUID(1619421912); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosbarrage_Area = new PrefabGUID(-2085683744); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosbarrage_Cast = new PrefabGUID(-425480162); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosbarrage_Channel_Buff = new PrefabGUID(-1024366257); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosbarrage_Group = new PrefabGUID(1996370390); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosbarrage_Hard_Area = new PrefabGUID(318586876); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosbarrage_Hard_Cast = new PrefabGUID(646697719); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosbarrage_Hard_Channel_Buff = new PrefabGUID(1894913654); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosbarrage_Hard_Group = new PrefabGUID(642767950); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosbarrage_Hard_Throw = new PrefabGUID(-1052631664); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosbarrage_Throw = new PrefabGUID(1552667718); public static readonly PrefabGUID AB_Bandit_Deadeye_ChaosNuke_Hard_Area = new PrefabGUID(1433173866); public static readonly PrefabGUID AB_Bandit_Deadeye_ChaosNuke_Hard_Cast = new PrefabGUID(-538723780); public static readonly PrefabGUID AB_Bandit_Deadeye_ChaosNuke_Hard_Group = new PrefabGUID(-1181691042); public static readonly PrefabGUID AB_Bandit_Deadeye_ChaosNuke_Hard_ProjectileDown = new PrefabGUID(-1181723749); public static readonly PrefabGUID AB_Bandit_Deadeye_ChaosNuke_Hard_ProjectileUp = new PrefabGUID(-2066463501); public static readonly PrefabGUID AB_Bandit_Deadeye_ChaosNuke_Hard_Spawner = new PrefabGUID(516139794); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosstorm_Cast = new PrefabGUID(-2024307089); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosstorm_Channel_Buff = new PrefabGUID(-1625210735); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosstorm_Group = new PrefabGUID(-1230681995); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosstorm_Hard_Cast = new PrefabGUID(-549357932); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosstorm_Hard_Channel_Buff = new PrefabGUID(-381215490); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosstorm_Hard_Group = new PrefabGUID(-836774616); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosstorm_Hard_Projectile = new PrefabGUID(338969973); public static readonly PrefabGUID AB_Bandit_Deadeye_Chaosstorm_Projectile = new PrefabGUID(659256615); public static readonly PrefabGUID AB_Bandit_Deadeye_Idle_Buff = new PrefabGUID(-881914431); public static readonly PrefabGUID AB_Bandit_Deadeye_RangedAttack_Cast = new PrefabGUID(1015300268); public static readonly PrefabGUID AB_Bandit_Deadeye_RangedAttack_Group = new PrefabGUID(1336193986); public static readonly PrefabGUID AB_Bandit_Deadeye_RangedAttack_Projectile = new PrefabGUID(1262043059); public static readonly PrefabGUID AB_Bandit_Deadeye_Roll_AbilityGroup = new PrefabGUID(-912372242); public static readonly PrefabGUID AB_Bandit_Deadeye_Roll_CastAndRoll = new PrefabGUID(-1983337096); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_01_AbilityGroup = new PrefabGUID(-1601441951); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_02_AbilityGroup = new PrefabGUID(-1657698157); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_03_AbilityGroup = new PrefabGUID(-228936316); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_Cast = new PrefabGUID(16980588); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_Hard_AbilityGroup = new PrefabGUID(514628041); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_Hard_Cast = new PrefabGUID(1621374433); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_Hard_ReachPos = new PrefabGUID(-2128770207); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_Hard_TargetSerpentSlotBuff = new PrefabGUID(343491640); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_Hard_WalkToPosBuff = new PrefabGUID(-352192969); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_ReachPos = new PrefabGUID(145985534); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_TargetSerpentSlotBuff = new PrefabGUID(1018849261); public static readonly PrefabGUID AB_Bandit_Fisherman_FeedSerpentLineup_WalkToPosBuff = new PrefabGUID(424796826); public static readonly PrefabGUID AB_Bandit_Fisherman_FishHook_AbilityGroup = new PrefabGUID(643209588); public static readonly PrefabGUID AB_Bandit_Fisherman_FishHook_Buff = new PrefabGUID(1578560559); public static readonly PrefabGUID AB_Bandit_Fisherman_FishHook_Cast = new PrefabGUID(1802235612); public static readonly PrefabGUID AB_Bandit_Fisherman_FishHook_DownedStun = new PrefabGUID(-531963043); public static readonly PrefabGUID AB_Bandit_Fisherman_FishHook_PullBuff = new PrefabGUID(1511401953); public static readonly PrefabGUID AB_Bandit_Fisherman_FishHook_Throw = new PrefabGUID(-406761191); public static readonly PrefabGUID AB_Bandit_Fisherman_FishHook_Travel = new PrefabGUID(-56609007); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingBlowfish_AbilityGroup = new PrefabGUID(-2096565232); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingBlowfish_Buff = new PrefabGUID(-942168862); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingBlowfish_Cast = new PrefabGUID(2137527296); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingBlowfish_MinionSpawnPostTravel = new PrefabGUID(2145493958); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingBlowfish_MinionSpawnTravel = new PrefabGUID(796446287); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingBlowfish_MinionTrigger = new PrefabGUID(-263342865); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingBlowfish_TargetFishSpotBuff = new PrefabGUID(-1441774408); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingLineup_AbilityGroup = new PrefabGUID(-82547339); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingLineup_Cast = new PrefabGUID(-1677547928); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingLineup_TargetSerpentSlotBuff = new PrefabGUID(-459325308); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingLineup_WalkToPosBuff = new PrefabGUID(1667669669); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingOldBoot_AbilityGroup = new PrefabGUID(396802528); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingOldBoot_Buff = new PrefabGUID(1143164491); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingOldBoot_Cast = new PrefabGUID(1705082862); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingOldBoot_Object = new PrefabGUID(1173936438); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingOldBoot_SpawnTravel = new PrefabGUID(-2113681866); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingOldBoot_TargetFishSpotBuff = new PrefabGUID(-588408781); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingPiranhas_AbilityGroup = new PrefabGUID(647582679); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingPiranhas_Buff = new PrefabGUID(-1612091215); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingPiranhas_Cast = new PrefabGUID(-256287804); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingPiranhas_MinionSpawnPostTravel = new PrefabGUID(1359094029); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingPiranhas_MinionSpawnTravel = new PrefabGUID(-1957344524); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingPiranhas_MinionTrigger = new PrefabGUID(-1982947231); public static readonly PrefabGUID AB_Bandit_Fisherman_FishingPiranhas_TargetFishSpotBuff = new PrefabGUID(-1108714409); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_AbilityGroup = new PrefabGUID(571532506); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Buff = new PrefabGUID(-515272712); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Cast_Throw = new PrefabGUID(1184409626); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_DespawnBuff = new PrefabGUID(-163781604); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_DespawnDelayBuff = new PrefabGUID(2141155864); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Hard_AbilityGroup = new PrefabGUID(-405467076); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Hard_Buff = new PrefabGUID(-162196022); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Hard_Cast_Throw = new PrefabGUID(-31935559); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Hard_DespawnBuff = new PrefabGUID(1573364739); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Hard_DespawnDelayBuff = new PrefabGUID(1995307154); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Hard_SpawnBuff = new PrefabGUID(796768594); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Hard_SpawnPosOccupiedBuff = new PrefabGUID(45227631); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Hard_Summon = new PrefabGUID(-1203439535); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Hard_TargetFishSpotBuff = new PrefabGUID(-1067814600); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Hard_Throw = new PrefabGUID(605436873); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_SpawnBuff = new PrefabGUID(1431881003); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_SpawnPosOccupiedBuff = new PrefabGUID(979966699); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Summon = new PrefabGUID(294823191); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_TargetFishSpotBuff = new PrefabGUID(-2105496725); public static readonly PrefabGUID AB_Bandit_Fisherman_SerpentFeed_Throw = new PrefabGUID(197909875); public static readonly PrefabGUID AB_Bandit_Fisherman_SpinAttack_AbilityGroup = new PrefabGUID(-1807544727); public static readonly PrefabGUID AB_Bandit_Fisherman_SpinAttack_Cast = new PrefabGUID(160205942); public static readonly PrefabGUID AB_Bandit_Fisherman_SpinAttack_Channel = new PrefabGUID(-1448436196); public static readonly PrefabGUID AB_Bandit_Fisherman_SpinAttack_Hit = new PrefabGUID(1481190476); public static readonly PrefabGUID AB_Bandit_Fisherman_SwingAttack_AbilityGroup = new PrefabGUID(1516349451); public static readonly PrefabGUID AB_Bandit_Fisherman_SwingAttack_Cast01 = new PrefabGUID(1168365685); public static readonly PrefabGUID AB_Bandit_Fisherman_SwingAttack_Cast02 = new PrefabGUID(102339461); public static readonly PrefabGUID AB_Bandit_Fisherman_SwingAttack_Hit01 = new PrefabGUID(1700359110); public static readonly PrefabGUID AB_Bandit_Fisherman_SwingAttack_Hit02 = new PrefabGUID(2031929448); public static readonly PrefabGUID AB_Bandit_Foreman_BloodRage_AbilityGroup = new PrefabGUID(-892431821); public static readonly PrefabGUID AB_Bandit_Foreman_BloodRage_Area = new PrefabGUID(-55501018); public static readonly PrefabGUID AB_Bandit_Foreman_BloodRage_Buff = new PrefabGUID(-250777393); public static readonly PrefabGUID AB_Bandit_Foreman_BloodRage_Cast = new PrefabGUID(1967051268); public static readonly PrefabGUID AB_Bandit_Foreman_BoltStorm_Cast = new PrefabGUID(-102278544); public static readonly PrefabGUID AB_Bandit_Foreman_BoltStorm_Group = new PrefabGUID(1187864883); public static readonly PrefabGUID AB_Bandit_Foreman_BoltStorm_Throw = new PrefabGUID(-326095012); public static readonly PrefabGUID AB_Bandit_Foreman_BoltStorm_Throw_Center = new PrefabGUID(1034684941); public static readonly PrefabGUID AB_Bandit_Foreman_BoltStorm_Trigger = new PrefabGUID(-978448375); public static readonly PrefabGUID AB_Bandit_Foreman_Crossbow_BloodRage_Cast = new PrefabGUID(-236936957); public static readonly PrefabGUID AB_Bandit_Foreman_Crossbow_BloodRage_Group = new PrefabGUID(-1100933071); public static readonly PrefabGUID AB_Bandit_Foreman_Crossbow_Cast = new PrefabGUID(-504877178); public static readonly PrefabGUID AB_Bandit_Foreman_Crossbow_Group = new PrefabGUID(-2010697707); public static readonly PrefabGUID AB_Bandit_Foreman_Crossbow_Hard_AbilityGroup = new PrefabGUID(46962343); public static readonly PrefabGUID AB_Bandit_Foreman_Crossbow_Hard_BloodRage_AbilityGroup = new PrefabGUID(-1432555386); public static readonly PrefabGUID AB_Bandit_Foreman_Crossbow_Hard_BloodRage_Cast = new PrefabGUID(-1188423561); public static readonly PrefabGUID AB_Bandit_Foreman_Crossbow_Hard_Cast = new PrefabGUID(-1555191296); public static readonly PrefabGUID AB_Bandit_Foreman_Crossbow_Hard_Projectile = new PrefabGUID(-1461521784); public static readonly PrefabGUID AB_Bandit_Foreman_Crossbow_Projectile = new PrefabGUID(926720349); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_AbilityGroup = new PrefabGUID(-1326540020); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_Cast = new PrefabGUID(13962946); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_Hard_AbilityGroup = new PrefabGUID(-1696612225); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_Hard_Cast = new PrefabGUID(45482985); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_Init_AbilityGroup = new PrefabGUID(-871701576); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_Init_Buff = new PrefabGUID(-1850501474); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_Init_Cast = new PrefabGUID(1428691280); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_Init_Hard_AbilityGroup = new PrefabGUID(-1568783706); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_Init_Hard_Cast = new PrefabGUID(-1456665278); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_Projectile = new PrefabGUID(1154919829); public static readonly PrefabGUID AB_Bandit_Foreman_RapidShot_StaggerBuff = new PrefabGUID(1772599073); public static readonly PrefabGUID AB_Bandit_Foreman_Reinforcement_Cast = new PrefabGUID(-968455089); public static readonly PrefabGUID AB_Bandit_Foreman_Reinforcement_GateBoss_MinionBuff = new PrefabGUID(1936552741); public static readonly PrefabGUID AB_Bandit_Foreman_Reinforcement_Group = new PrefabGUID(1914101495); public static readonly PrefabGUID AB_Bandit_Foreman_Reinforcement_Summon = new PrefabGUID(891231141); public static readonly PrefabGUID AB_Bandit_Foreman_Roll_CastAndRoll = new PrefabGUID(-902150618); public static readonly PrefabGUID AB_Bandit_Foreman_Roll_Group = new PrefabGUID(-1773431654); public static readonly PrefabGUID AB_Bandit_Foreman_ThrowNet_Buff = new PrefabGUID(-1388221055); public static readonly PrefabGUID