using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using EntityStates; using EntityStates.AI.Walker; using Grumpy; using HG; using HG.BlendableTypes; using HG.Reflection; using IL.RoR2.CharacterSpeech; using KinematicCharacterController; using LunarDragonMod.Characters.Survivors.LunarDragon.Components; using LunarDragonMod.Characters.Survivors.LunarDragon.Content; using LunarDragonMod.Characters.Survivors.LunarMonster.Components; using LunarDragonMod.Modules; using LunarDragonMod.Modules.Achievements; using LunarDragonMod.Modules.Characters; using LunarDragonMod.Modules.DamageTypes; using LunarDragonMod.Survivors.LunarDragon; using LunarDragonMod.Survivors.LunarDragon.Components; using LunarDragonMod.Survivors.LunarDragon.States; using Mono.Cecil; using Mono.Cecil.Cil; using MonoMod.Cil; using On.RoR2; using R2API; using R2API.Utils; using RiskOfOptions; using RiskOfOptions.OptionConfigs; using RiskOfOptions.Options; using RoR2; using RoR2.Achievements; using RoR2.Audio; using RoR2.CharacterAI; using RoR2.CharacterSpeech; using RoR2.ContentManagement; using RoR2.Projectile; using RoR2.Skills; using RoR2BepInExPack.GameAssetPaths.Version_1_39_0; using ShaderSwapper; using ThreeEyedGames; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; using UnityEngine.Rendering; using UnityEngine.Rendering.PostProcessing; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: OptIn] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("LunarDragonMod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+7641328f307a8a8d280dcbb4e06cbd496e2f2e2a")] [assembly: AssemblyProduct("LunarDragonMod")] [assembly: AssemblyTitle("LunarDragonMod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] public class DeathState : GenericCharacterDeath { private const float lifetime = 4f; public override bool shouldAutoDestroy => false; public override void OnEnter() { //IL_0008: 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_0017: 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_002f: 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_006b: Unknown result type (might be due to invalid IL or missing references) ((GenericCharacterDeath)this).OnEnter(); Vector3 val = Vector3.up * 3f; if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { val += ((EntityState)this).characterMotor.velocity; ((Behaviour)((EntityState)this).characterMotor).enabled = false; } RagdollController val2 = default(RagdollController); if (Object.op_Implicit((Object)(object)((GenericCharacterDeath)this).cachedModelTransform) && ((Component)((GenericCharacterDeath)this).cachedModelTransform).TryGetComponent(ref val2)) { val2.BeginRagdoll(val); } } public override void PlayDeathAnimation(float crossfadeDuration = 0.1f) { } public override void FixedUpdate() { ((GenericCharacterDeath)this).FixedUpdate(); if (NetworkServer.active && ((EntityState)this).fixedAge > 4f) { EntityState.Destroy((Object)(object)((EntityState)this).gameObject); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0003: 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) return (InterruptPriority)9; } } namespace LunarDragonMod { internal static class Log { internal static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void Debug(object data) { _logSource.LogDebug(data); } internal static void Error(object data) { _logSource.LogError(data); } internal static void ErrorAssetBundle(string assetName, string bundleName) { Error("failed to load asset, " + assetName + ", because it does not exist in asset bundle, " + bundleName); } internal static void Fatal(object data) { _logSource.LogFatal(data); } internal static void Info(object data) { _logSource.LogInfo(data); } internal static void Message(object data) { _logSource.LogMessage(data); } internal static void Warning(object data) { _logSource.LogWarning(data); } } [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.miyowi.LunarDragonMod", "LunarDragon", "1.0.0")] public class LunarDragonPlugin : BaseUnityPlugin { public const string MODUID = "com.miyowi.LunarDragonMod"; public const string MODNAME = "LunarDragon"; public const string MODVERSION = "1.0.0"; public const string DEVELOPER_PREFIX = "MIYOWI"; public static LunarDragonPlugin instance; public static ConfigFile config; private void Awake() { instance = this; Log.Init(((BaseUnityPlugin)this).Logger); config = ((BaseUnityPlugin)this).Config; Language.Init(); DamageTypeCollection.Init(); new LunarDragonSurvivor().Init(); RoR2Application.onLoadFinished = (Action)Delegate.Combine(RoR2Application.onLoadFinished, new Action(OnLoadFinished)); new ContentPacks().Initialize(); } private void OnLoadFinished() { Hooks.AddHooks(); } } public class Options { private static bool? _rooEnabled; public static bool rooEnabled { get { if (!_rooEnabled.HasValue) { _rooEnabled = Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions"); } return _rooEnabled.Value; } } public static ConfigEntry usePrimaryAimAssist { get; set; } public static void Init() { usePrimaryAimAssist = LunarDragonPlugin.config.Bind("Primary", "Aim Assist", true, "Whether or not the primary skill should automatically shift projectile trajectory toward enemies near the crosshair."); if (rooEnabled) { RoOInit(); } } private static void RoOInit() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Expected O, but got Unknown //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Expected O, but got Unknown ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(usePrimaryAimAssist, new CheckBoxConfig())); ModSettingsManager.SetModDescription("Config options relating to the Lunar Dragon survivor mod."); ModSettingsManager.SetModIcon(LunarDragonAssets.assetBundle.LoadAsset("texLunarDragonIcon")); } } } namespace LunarDragonMod.Modules { internal static class Asset { internal static GameObject LoadCrosshair(string crosshairName) { GameObject val = LegacyResourcesAPI.Load("Prefabs/Crosshair/" + crosshairName + "Crosshair"); if ((Object)(object)val == (Object)null) { Log.Error("could not load crosshair with the name " + crosshairName + ". defaulting to Standard"); return LegacyResourcesAPI.Load("Prefabs/Crosshair/StandardCrosshair"); } return val; } } public static class Config { public static ConfigFile MyConfig = ((BaseUnityPlugin)LunarDragonPlugin.instance).Config; public static ConfigEntry CharacterEnableConfig(string section, string characterName, string description = "", bool enabledByDefault = true) { if (string.IsNullOrEmpty(description)) { description = "Set to false to disable this character and as much of its code and content as possible"; } return BindAndOptions(section, "Enable " + characterName, enabledByDefault, description, restartRequired: true); } public static ConfigEntry BindAndOptions(string section, string name, T defaultValue, string description = "", bool restartRequired = false) { return BindAndOptions(section, name, defaultValue, 0f, 20f, description, restartRequired); } public static ConfigEntry BindAndOptions(string section, string name, T defaultValue, float min, float max, string description = "", bool restartRequired = false) { if (string.IsNullOrEmpty(description)) { description = name; } if (restartRequired) { description += " (restart required)"; } ConfigEntry result = MyConfig.Bind(section, name, defaultValue, description); if (Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions")) { } return result; } public static ConfigEntry BindAndOptionsSlider(string section, string name, float defaultValue, string description, float min = 0f, float max = 20f, bool restartRequired = false) { return BindAndOptions(section, name, defaultValue, min, max, description, restartRequired); } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] private static void TryRegisterOption(ConfigEntry entry, float min, float max, bool restartRequired) { } public static bool GetKeyPressed(KeyboardShortcut entry) { //IL_0012: 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_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) foreach (KeyCode modifier in ((KeyboardShortcut)(ref entry)).Modifiers) { if (!Input.GetKey(modifier)) { return false; } } return Input.GetKeyDown(((KeyboardShortcut)(ref entry)).MainKey); } } internal class Content { internal static void AddCharacterBodyPrefab(GameObject bprefab) { ContentPacks.bodyPrefabs.Add(bprefab); } internal static void AddMasterPrefab(GameObject prefab) { ContentPacks.masterPrefabs.Add(prefab); } internal static void AddProjectilePrefab(GameObject prefab) { ContentPacks.projectilePrefabs.Add(prefab); } internal static void AddSurvivorDef(SurvivorDef survivorDef) { ContentPacks.survivorDefs.Add(survivorDef); } internal static void CreateSurvivor(GameObject bodyPrefab, GameObject displayPrefab, Color charColor, string tokenPrefix) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) CreateSurvivor(bodyPrefab, displayPrefab, charColor, tokenPrefix, null, 100f); } internal static void CreateSurvivor(GameObject bodyPrefab, GameObject displayPrefab, Color charColor, string tokenPrefix, float sortPosition) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) CreateSurvivor(bodyPrefab, displayPrefab, charColor, tokenPrefix, null, sortPosition); } internal static void CreateSurvivor(GameObject bodyPrefab, GameObject displayPrefab, Color charColor, string tokenPrefix, UnlockableDef unlockableDef) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) CreateSurvivor(bodyPrefab, displayPrefab, charColor, tokenPrefix, unlockableDef, 100f); } internal static void CreateSurvivor(GameObject bodyPrefab, GameObject displayPrefab, Color charColor, string tokenPrefix, UnlockableDef unlockableDef, float sortPosition) { //IL_0016: 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) SurvivorDef val = ScriptableObject.CreateInstance(); val.bodyPrefab = bodyPrefab; val.displayPrefab = displayPrefab; val.primaryColor = charColor; val.cachedName = ((Object)bodyPrefab).name.Replace("Body", ""); val.displayNameToken = tokenPrefix + "NAME"; val.descriptionToken = tokenPrefix + "DESCRIPTION"; val.outroFlavorToken = tokenPrefix + "OUTRO_FLAVOR"; val.mainEndingEscapeFailureFlavorToken = tokenPrefix + "OUTRO_FAILURE"; val.desiredSortPosition = sortPosition; val.unlockableDef = unlockableDef; AddSurvivorDef(val); } internal static void AddUnlockableDef(UnlockableDef unlockableDef) { ContentPacks.unlockableDefs.Add(unlockableDef); } internal static UnlockableDef CreateAndAddUnlockableDef(string identifier, string nameToken, Sprite achievementIcon) { UnlockableDef val = ScriptableObject.CreateInstance(); val.cachedName = identifier; val.nameToken = nameToken; val.achievementIcon = achievementIcon; AddUnlockableDef(val); return val; } internal static void AddSkillDef(SkillDef skillDef) { ContentPacks.skillDefs.Add(skillDef); } internal static void AddSkillFamily(SkillFamily skillFamily) { ContentPacks.skillFamilies.Add(skillFamily); } internal static void AddEntityState(Type entityState) { ContentPacks.entityStates.Add(entityState); } internal static void AddBuffDef(BuffDef buffDef) { ContentPacks.buffDefs.Add(buffDef); } internal static BuffDef CreateAndAddBuff(string buffName, Sprite buffIcon, Color buffColor, bool canStack, bool isDebuff) { //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) BuffDef val = ScriptableObject.CreateInstance(); ((Object)val).name = buffName; val.buffColor = buffColor; val.canStack = canStack; val.isDebuff = isDebuff; val.eliteDef = null; val.iconSprite = buffIcon; AddBuffDef(val); return val; } internal static void AddEffectDef(EffectDef effectDef) { ContentPacks.effectDefs.Add(effectDef); } internal static EffectDef CreateAndAddEffectDef(GameObject effectPrefab) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown EffectDef val = new EffectDef(effectPrefab); AddEffectDef(val); return val; } internal static void AddNetworkSoundEventDef(NetworkSoundEventDef networkSoundEventDef) { ContentPacks.networkSoundEventDefs.Add(networkSoundEventDef); } internal static NetworkSoundEventDef CreateAndAddNetworkSoundEventDef(string eventName) { NetworkSoundEventDef val = ScriptableObject.CreateInstance(); val.akId = AkSoundEngine.GetIDFromString(eventName); val.eventName = eventName; AddNetworkSoundEventDef(val); return val; } } internal class ContentPacks : IContentPackProvider { internal ContentPack contentPack = new ContentPack(); public static List bodyPrefabs = new List(); public static List masterPrefabs = new List(); public static List projectilePrefabs = new List(); public static List survivorDefs = new List(); public static List unlockableDefs = new List(); public static List skillFamilies = new List(); public static List skillDefs = new List(); public static List entityStates = new List(); public static List buffDefs = new List(); public static List effectDefs = new List(); public static List networkSoundEventDefs = new List(); public string identifier => "com.miyowi.LunarDragonMod"; public void Initialize() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown ContentManager.collectContentPackProviders += new CollectContentPackProvidersDelegate(ContentManager_collectContentPackProviders); } private void ContentManager_collectContentPackProviders(AddContentPackProviderDelegate addContentPackProvider) { addContentPackProvider.Invoke((IContentPackProvider)(object)this); } public IEnumerator LoadStaticContentAsync(LoadStaticContentAsyncArgs args) { contentPack.identifier = identifier; contentPack.bodyPrefabs.Add(bodyPrefabs.ToArray()); contentPack.masterPrefabs.Add(masterPrefabs.ToArray()); contentPack.projectilePrefabs.Add(projectilePrefabs.ToArray()); contentPack.survivorDefs.Add(survivorDefs.ToArray()); contentPack.unlockableDefs.Add(unlockableDefs.ToArray()); contentPack.skillDefs.Add(skillDefs.ToArray()); contentPack.skillFamilies.Add(skillFamilies.ToArray()); contentPack.entityStateTypes.Add(entityStates.ToArray()); contentPack.buffDefs.Add(buffDefs.ToArray()); contentPack.effectDefs.Add(effectDefs.ToArray()); contentPack.networkSoundEventDefs.Add(networkSoundEventDefs.ToArray()); args.ReportProgress(1f); yield break; } public IEnumerator GenerateContentPackAsync(GetContentPackAsyncArgs args) { ContentPack.Copy(contentPack, args.output); args.ReportProgress(1f); yield break; } public IEnumerator FinalizeAsync(FinalizeAsyncArgs args) { args.ReportProgress(1f); yield break; } } public static class DamageTypeCollection { internal static List damageTypes = new List(); public static void Init() { Stun3s.Init(); } } public static class Hooks { public delegate void Handle_HealthComponentTakeDamageProcess(HealthComponent self, DamageInfo damageInfo); public static Handle_HealthComponentTakeDamageProcess Handle_HealthComponentTakeDamageProcess_Actions; public static void AddHooks() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Expected O, but got Unknown //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown if (Handle_HealthComponentTakeDamageProcess_Actions != null) { HealthComponent.TakeDamageProcess += new hook_TakeDamageProcess(HealthComponent_TakeDamageProcess); } BrotherSpeechDriver.DoInitialSightResponse += new Manipulator(AddSeeDragonDialogue); BrotherSpeechDriver.OnBodyKill += new Manipulator(AddKillDragonDialogue); } internal static void HealthComponent_TakeDamageProcess(orig_TakeDamageProcess orig, HealthComponent self, DamageInfo damageInfo) { Handle_HealthComponentTakeDamageProcess_Actions(self, damageInfo); orig.Invoke(self, damageInfo); } private static void AddSeeDragonDialogue(ILContext il) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Expected O, but got Unknown //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0118: 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_013c: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); FieldReference fieldResponsePool = null; bool foundDragon = false; int bodyIndexLoc = 0; int displayClassLoc = 0; if (val.TryGotoNext(new Func[1] { (Instruction x) => ILPatternMatchingExt.MatchLdfld(x, "bodyIndex") }) && val.TryGotoNext((MoveType)2, new Func[1] { (Instruction x) => ILPatternMatchingExt.MatchStloc(x, ref bodyIndexLoc) })) { val.Emit(OpCodes.Ldloc, bodyIndexLoc); val.EmitDelegate>((Action)delegate(BodyIndex bodyIndex) { //IL_0008: 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) foundDragon |= bodyIndex == LunarDragonSurvivor.bodyIndex; }); ILLabel val2 = default(ILLabel); if (val.TryGotoNext(new Func[1] { (Instruction x) => ILPatternMatchingExt.MatchBlt(x, ref val2) }) && val.TryGotoNext(new Func[1] { (Instruction x) => ILPatternMatchingExt.MatchLdloca(x, ref displayClassLoc) }) && val.TryGotoNext((MoveType)2, new Func[1] { (Instruction x) => ILPatternMatchingExt.MatchStfld(x, ref fieldResponsePool) })) { val.Emit(OpCodes.Ldloca, displayClassLoc); val.Emit(OpCodes.Ldloc, displayClassLoc); val.Emit(OpCodes.Ldfld, fieldResponsePool); val.Emit(OpCodes.Ldarg_0); val.EmitDelegate>((Func)delegate(SpeechInfo[] responsePool, BrotherSpeechDriver speechDriver) { if (foundDragon && responsePool.Length == 0 && ((Object)((Component)speechDriver).gameObject).name != "BrotherHurtSpeechController(Clone)") { foundDragon = false; return LunarDragonAssets.seeDragonResponses; } return responsePool; }); val.Emit(OpCodes.Stfld, fieldResponsePool); } else { Log.Error("Part 2 of AddSeeDragonDialogue IL hook failed! Custom Mithrix entry dialogue will not work!"); } } else { Log.Error("Part 1 of AddSeeDragonDialogue IL hook failed! Custom Mithrix entry dialogue will not work!"); } } private static void AddKillDragonDialogue(ILContext il) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0085: 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_00a3: 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) ILCursor val = new ILCursor(il); FieldReference fieldResponsePool = null; int displayClassLoc = 0; if (val.TryGotoNext(new Func[1] { (Instruction x) => ILPatternMatchingExt.MatchLdloca(x, ref displayClassLoc) }) && val.TryGotoNext((MoveType)2, new Func[1] { (Instruction x) => ILPatternMatchingExt.MatchStfld(x, ref fieldResponsePool) })) { val.Emit(OpCodes.Ldloca, displayClassLoc); val.Emit(OpCodes.Ldloc, displayClassLoc); val.Emit(OpCodes.Ldfld, fieldResponsePool); val.Emit(OpCodes.Ldarg_0); val.Emit(OpCodes.Ldarg_1); val.EmitDelegate>((Func)((SpeechInfo[] responsePool, BrotherSpeechDriver speechDriver, DamageReport damageReport) => (damageReport.victimBodyIndex == LunarDragonSurvivor.bodyIndex) ? ((((Object)((Component)speechDriver).gameObject).name == "BrotherHurtSpeechController(Clone)") ? LunarDragonAssets.killHurtDragonResponses : LunarDragonAssets.killDragonResponses) : responsePool)); val.Emit(OpCodes.Stfld, fieldResponsePool); } else { Log.Error("AddKillDragonDialogue IL hook failed! Custom Mithrix death dialogue will not work!"); } } } internal static class ItemDisplayCheck { public static List allDisplayedItems; public static void PrintUnused(ItemDisplayRuleSet itemDisplayRuleSet, string bodyName = "") { PrintUnused((IEnumerable)itemDisplayRuleSet.keyAssetRuleGroups.ToList(), bodyName); } public static void PrintUnused(IEnumerable ruleSet = null, string bodyName = "") { //IL_0048: 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_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0052: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) string text = "generating item displays for " + bodyName; if (allDisplayedItems == null) { LazyGatherAllItems(); } List list = new List(allDisplayedItems); string text2 = ""; if (ruleSet != null) { foreach (KeyAssetRuleGroup item in ruleSet) { if (item.displayRuleGroup.rules.Length != 0) { list.Remove(item.keyAsset); if (string.IsNullOrEmpty(text2)) { text2 = item.displayRuleGroup.rules[0].childName; } } } } if (string.IsNullOrEmpty(text2)) { text2 = "Chest"; } foreach (Object item2 in list) { string text3 = ""; if (ItemDisplays.KeyAssetDisplayPrefabs.ContainsKey(item2)) { text3 += SpitOutNewRule(item2, text2, ItemDisplays.KeyAssetDisplayPrefabs[item2]); } else { Log.Error($"COULD NOT FIND DISPLAY PREFABS FOR KEYASSET {item2}"); } text += text3; } Log.Message(text); } private static void LazyGatherAllItems() { allDisplayedItems = new List(ItemDisplays.KeyAssetDisplayPrefabs.Keys); allDisplayedItems.Sort(delegate(Object item1, Object item2) { if (item1 is ItemDef && item2 is ItemDef) { return item1.name.CompareTo(item2.name); } if (item1 is EquipmentDef && item2 is EquipmentDef) { return item1.name.CompareTo(item2.name); } if (item1 is ItemDef && item2 is EquipmentDef) { return -1; } return (item1 is EquipmentDef && item2 is ItemDef) ? 1 : 0; }); } private static string SpitOutNewRule(Object asset, string firstCompatibleChild, ItemDisplayRule[] displayRules) { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Invalid comparison between Unknown and I4 //IL_00a5: Unknown result type (might be due to invalid IL or missing references) if (displayRules.Length == 0) { return $"\n[NO DISPLAY RULES FOUND FOR THE KEYASSET {asset}"; } string text = "\n itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets[\"" + asset.name + "\"]"; for (int i = 0; i < displayRules.Length; i++) { text = (((int)displayRules[i].limbMask != 0) ? (text + ",\n" + $" ItemDisplays.CreateLimbMaskDisplayRule(LimbFlags.{displayRules[i].limbMask})") : (text + ",\n ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay(\"" + ((Object)displayRules[i].followerPrefab).name + "\"),\n \"" + firstCompatibleChild + "\",\n new Vector3(2, 2, 2),\n new Vector3(0, 0, 0),\n new Vector3(1, 1, 1)\n )")); } return text + "\n ));"; } } internal static class ItemDisplays { private static Dictionary itemDisplayPrefabs = new Dictionary(); public static Dictionary KeyAssetDisplayPrefabs = new Dictionary(); public static Dictionary KeyAssets = new Dictionary(); public static int queuedDisplays; public static bool initialized = false; public static void LazyInit() { if (!initialized) { initialized = true; PopulateDisplays(); } } internal static void DisposeWhenDone() { queuedDisplays--; if (queuedDisplays <= 0 && initialized) { initialized = false; itemDisplayPrefabs = null; KeyAssetDisplayPrefabs = null; KeyAssets = null; } } internal static void PopulateDisplays() { PopulateFromBody("LoaderBody"); } private static void PopulateFromBody(string bodyName) { ItemDisplayRuleSet itemDisplayRuleSet = ((Component)LegacyResourcesAPI.Load("Prefabs/CharacterBodies/" + bodyName).GetComponent().modelTransform).GetComponent().itemDisplayRuleSet; KeyAssetRuleGroup[] keyAssetRuleGroups = itemDisplayRuleSet.keyAssetRuleGroups; for (int i = 0; i < keyAssetRuleGroups.Length; i++) { ItemDisplayRule[] rules = keyAssetRuleGroups[i].displayRuleGroup.rules; KeyAssetDisplayPrefabs[keyAssetRuleGroups[i].keyAsset] = rules; KeyAssets[keyAssetRuleGroups[i].keyAsset.name] = keyAssetRuleGroups[i].keyAsset; for (int j = 0; j < rules.Length; j++) { GameObject followerPrefab = rules[j].followerPrefab; if (Object.op_Implicit((Object)(object)followerPrefab)) { string key = ((Object)followerPrefab).name?.ToLowerInvariant(); if (!itemDisplayPrefabs.ContainsKey(key)) { itemDisplayPrefabs[key] = followerPrefab; } } } } } private static void PopulateCustomLightningArm() { GameObject val = PrefabAPI.InstantiateClone(itemDisplayPrefabs["displaylightningarmright"], "DisplayLightningCustom", false); LimbMatcher component = val.GetComponent(); component.limbPairs[0].targetChildLimb = "LightningArm1"; component.limbPairs[1].targetChildLimb = "LightningArm2"; component.limbPairs[2].targetChildLimb = "LightningArmEnd"; itemDisplayPrefabs["displaylightningarmcustom"] = val; } public static GameObject LoadDisplay(string name) { if (itemDisplayPrefabs.ContainsKey(name.ToLowerInvariant()) && Object.op_Implicit((Object)(object)itemDisplayPrefabs[name.ToLowerInvariant()])) { return itemDisplayPrefabs[name.ToLowerInvariant()]; } Log.Error("item display " + name + " returned null"); return null; } public static KeyAssetRuleGroup CreateDisplayRuleGroupWithRules(string itemName, params ItemDisplayRule[] rules) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) return CreateDisplayRuleGroupWithRules(GetKeyAssetFromString(itemName), rules); } public static KeyAssetRuleGroup CreateDisplayRuleGroupWithRules(Object keyAsset_, params ItemDisplayRule[] rules) { //IL_0019: 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_0039: 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_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) if (keyAsset_ == (Object)null) { Log.Error("could not find keyasset"); } return new KeyAssetRuleGroup { keyAsset = keyAsset_, displayRuleGroup = new DisplayRuleGroup { rules = rules } }; } public static ItemDisplayRule CreateDisplayRule(string prefabName, string childName, Vector3 position, Vector3 rotation, Vector3 scale) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: 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_000b: Unknown result type (might be due to invalid IL or missing references) return CreateDisplayRule(LoadDisplay(prefabName), childName, position, rotation, scale); } public static ItemDisplayRule CreateDisplayRule(GameObject itemPrefab, string childName, Vector3 position, Vector3 rotation, Vector3 scale) { //IL_0003: 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_0024: 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_002c: 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_003b: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) return new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, childName = childName, followerPrefab = itemPrefab, limbMask = (LimbFlags)0, localPos = position, localAngles = rotation, localScale = scale }; } public static ItemDisplayRule CreateLimbMaskDisplayRule(LimbFlags limb) { //IL_0003: 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_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_0031: Unknown result type (might be due to invalid IL or missing references) return new ItemDisplayRule { ruleType = (ItemDisplayRuleType)1, limbMask = limb, childName = "", followerPrefab = null }; } private static Object GetKeyAssetFromString(string itemName) { Object val = (Object)(object)LegacyResourcesAPI.Load("ItemDefs/" + itemName); if (val == (Object)null) { val = (Object)(object)LegacyResourcesAPI.Load("EquipmentDefs/" + itemName); } if (val == (Object)null) { Log.Error("Could not load keyasset for " + itemName); } return val; } } internal static class Language { public static string TokensOutput = ""; public static bool usingLanguageFolder = false; public static bool printingEnabled = false; public static void Init() { if (usingLanguageFolder) { Language.collectLanguageRootFolders += Language_collectLanguageRootFolders; } } private static void Language_collectLanguageRootFolders(List obj) { string text = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)LunarDragonPlugin.instance).Info.Location), "Language"); if (Directory.Exists(text)) { obj.Add(text); } } public static void Add(string token, string text) { if (!usingLanguageFolder) { LanguageAPI.Add(token, text); } if (printingEnabled) { TokensOutput = TokensOutput + "\n \"" + token + "\" : \"" + text.Replace(Environment.NewLine, "\\n").Replace("\n", "\\n") + "\","; } } public static void PrintOutput(string fileName = "") { if (printingEnabled) { string text = "{\n strings:\n {" + TokensOutput + "\n }\n}"; Log.Message(fileName + ": \n" + text); if (!string.IsNullOrEmpty(fileName)) { string path = Path.Combine(Directory.GetParent(((BaseUnityPlugin)LunarDragonPlugin.instance).Info.Location).FullName, "Language", "en", fileName); File.WriteAllText(path, text); } TokensOutput = ""; } } } internal static class Materials { private static List cachedMaterials = new List(); internal static Shader hopoo = LegacyResourcesAPI.Load("Shaders/Deferred/HGStandard"); public static Material LoadMaterial(this AssetBundle assetBundle, string materialName) { return assetBundle.CreateHopooMaterialFromBundle(materialName); } public static Material CreateHopooMaterialFromBundle(this AssetBundle assetBundle, string materialName) { //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Expected O, but got Unknown Material val = cachedMaterials.Find(delegate(Material mat) { materialName.Replace(" (Instance)", ""); return ((Object)mat).name.Contains(materialName); }); if (Object.op_Implicit((Object)(object)val)) { Log.Debug(((Object)val).name + " has already been loaded. returning cached"); return val; } val = assetBundle.LoadAsset(materialName); if (!Object.op_Implicit((Object)(object)val)) { Log.ErrorAssetBundle(materialName, ((Object)assetBundle).name); return new Material(hopoo); } return val; } public static Material MakeUnique(this Material material) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown if (cachedMaterials.Contains(material)) { return new Material(material); } return material; } public static Material SetColor(this Material material, Color color) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) material.SetColor("_Color", color); return material; } public static Material SetNormal(this Material material, float normalStrength = 1f) { material.SetFloat("_NormalStrength", normalStrength); return material; } public static Material SetEmission(this Material material) { return material.SetEmission(1f); } public static Material SetEmission(this Material material, float emission) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) return material.SetEmission(emission, Color.white); } public static Material SetEmission(this Material material, float emission, Color emissionColor) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) material.SetFloat("_EmPower", emission); material.SetColor("_EmColor", emissionColor); return material; } public static Material SetCull(this Material material, bool cull = false) { material.SetInt("_Cull", cull ? 1 : 0); return material; } public static Material SetSpecular(this Material material, float strength) { material.SetFloat("_SpecularStrength", strength); return material; } public static Material SetSpecular(this Material material, float strength, float exponent) { material.SetFloat("_SpecularStrength", strength); material.SetFloat("SpecularExponent", exponent); return material; } } internal static class Prefabs { private static PhysicMaterial ragdollMaterial; public static GameObject CreateDisplayPrefab(AssetBundle assetBundle, string displayPrefabName, GameObject prefab) { GameObject val = assetBundle.LoadAsset(displayPrefabName); if ((Object)(object)val == (Object)null) { Log.Error("could not load display prefab " + displayPrefabName + ". Make sure this prefab exists in assetbundle " + ((Object)assetBundle).name); return null; } CharacterModel val2 = val.GetComponent(); if (!Object.op_Implicit((Object)(object)val2)) { val2 = val.AddComponent(); } val2.baseRendererInfos = prefab.GetComponentInChildren().baseRendererInfos; return val; } public static GameObject LoadCharacterModel(AssetBundle assetBundle, string modelName) { GameObject val = assetBundle.LoadAsset(modelName); if ((Object)(object)val == (Object)null) { Log.Error("could not load model prefab " + modelName + ". Make sure this prefab exists in assetbundle " + ((Object)assetBundle).name); return null; } return val; } public static GameObject LoadCharacterBody(AssetBundle assetBundle, string bodyName) { GameObject val = assetBundle.LoadAsset(bodyName); if ((Object)(object)val == (Object)null) { Log.Error("could not load body prefab " + bodyName + ". Make sure this prefab exists in assetbundle " + ((Object)assetBundle).name); return null; } return val; } public static GameObject CloneCharacterBody(BodyInfo bodyInfo) { GameObject val = LegacyResourcesAPI.Load("Prefabs/CharacterBodies/" + bodyInfo.bodyNameToClone + "Body"); if (!Object.op_Implicit((Object)(object)val)) { Log.Error(bodyInfo.bodyNameToClone + " Body to clone is not a valid body, character creation failed"); return null; } GameObject val2 = PrefabAPI.InstantiateClone(val, bodyInfo.bodyName); for (int num = val2.transform.childCount - 1; num >= 0; num--) { Object.DestroyImmediate((Object)(object)((Component)val2.transform.GetChild(num)).gameObject); } return val2; } public static GameObject CreateBodyPrefab(AssetBundle assetBundle, string modelPrefabName, BodyInfo bodyInfo) { return CreateBodyPrefab(LoadCharacterModel(assetBundle, modelPrefabName), bodyInfo); } public static GameObject CreateBodyPrefab(GameObject model, BodyInfo bodyInfo) { return CreateBodyPrefab(CloneCharacterBody(bodyInfo), model, bodyInfo); } public static GameObject CreateBodyPrefab(GameObject newBodyPrefab, AssetBundle assetBundle, string modelName, BodyInfo bodyInfo) { return CreateBodyPrefab(newBodyPrefab, LoadCharacterModel(assetBundle, modelName), bodyInfo); } public static GameObject CreateBodyPrefab(AssetBundle assetBundle, string bodyPrefabName, string modelPrefabName, BodyInfo bodyInfo) { return CreateBodyPrefab(LoadCharacterBody(assetBundle, bodyPrefabName), LoadCharacterModel(assetBundle, modelPrefabName), bodyInfo); } public static GameObject CreateBodyPrefab(GameObject newBodyPrefab, GameObject model, BodyInfo bodyInfo) { if ((Object)(object)model == (Object)null || (Object)(object)newBodyPrefab == (Object)null) { Log.Error($"Character creation failed. Model: {model}, Body: {newBodyPrefab}"); return null; } SetupCharacterBody(newBodyPrefab, bodyInfo); Transform modelBaseTransform = AddCharacterModelToSurvivorBody(newBodyPrefab, model.transform, bodyInfo); SetupModelLocator(newBodyPrefab, modelBaseTransform, model.transform); SetupCharacterDirection(newBodyPrefab, modelBaseTransform, model.transform); SetupCameraTargetParams(newBodyPrefab, bodyInfo); SetupRigidbody(newBodyPrefab); SetupCapsuleCollider(newBodyPrefab); Content.AddCharacterBodyPrefab(newBodyPrefab); return newBodyPrefab; } private static void SetupCharacterBody(GameObject newBodyPrefab, BodyInfo bodyInfo) { //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_0059: 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_0209: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) CharacterBody component = newBodyPrefab.GetComponent(); component.baseNameToken = bodyInfo.bodyNameToken; component.subtitleNameToken = bodyInfo.subtitleNameToken; component.portraitIcon = bodyInfo.characterPortrait; component.bodyColor = bodyInfo.bodyColor; component._defaultCrosshairPrefab = bodyInfo.crosshair; component.hideCrosshair = false; component.preferredPodPrefab = bodyInfo.podPrefab; component.preferredInitialStateType = bodyInfo.initialState; component.baseMaxHealth = bodyInfo.maxHealth; component.baseRegen = bodyInfo.healthRegen; component.baseArmor = bodyInfo.armor; component.baseMaxShield = bodyInfo.shield; component.baseDamage = bodyInfo.damage; component.baseAttackSpeed = bodyInfo.attackSpeed; component.baseCrit = bodyInfo.crit; component.baseMoveSpeed = bodyInfo.moveSpeed; component.baseJumpPower = bodyInfo.jumpPower; component.autoCalculateLevelStats = bodyInfo.autoCalculateLevelStats; if (bodyInfo.autoCalculateLevelStats) { component.levelMaxHealth = Mathf.Round(component.baseMaxHealth * 0.3f); component.levelMaxShield = Mathf.Round(component.baseMaxShield * 0.3f); component.levelRegen = component.baseRegen * 0.2f; component.levelMoveSpeed = 0f; component.levelJumpPower = 0f; component.levelDamage = component.baseDamage * 0.2f; component.levelAttackSpeed = 0f; component.levelCrit = 0f; component.levelArmor = 0f; } else { component.levelMaxHealth = bodyInfo.healthGrowth; component.levelMaxShield = bodyInfo.shieldGrowth; component.levelRegen = bodyInfo.regenGrowth; component.levelMoveSpeed = bodyInfo.moveSpeedGrowth; component.levelJumpPower = bodyInfo.jumpPowerGrowth; component.levelDamage = bodyInfo.damageGrowth; component.levelAttackSpeed = bodyInfo.attackSpeedGrowth; component.levelCrit = bodyInfo.critGrowth; component.levelArmor = bodyInfo.armorGrowth; } component.baseAcceleration = bodyInfo.acceleration; component.baseJumpCount = bodyInfo.jumpCount; component.sprintingSpeedMultiplier = 1.45f; component.bodyFlags = (BodyFlags)16; component.rootMotionInMainState = false; component.hullClassification = (HullClassification)0; component.isChampion = false; } private static Transform AddCharacterModelToSurvivorBody(GameObject bodyPrefab, Transform modelTransform, BodyInfo bodyInfo) { //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006f: 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_003d: 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_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_010e: 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) Transform val = bodyPrefab.transform.Find("ModelBase"); if ((Object)(object)val == (Object)null) { val = new GameObject("ModelBase").transform; val.parent = bodyPrefab.transform; val.localPosition = bodyInfo.modelBasePosition; val.localRotation = Quaternion.identity; } modelTransform.parent = ((Component)val).transform; modelTransform.localPosition = Vector3.zero; modelTransform.localRotation = Quaternion.identity; Transform val2 = bodyPrefab.transform.Find("CameraPivot"); if ((Object)(object)val2 == (Object)null) { val2 = new GameObject("CameraPivot").transform; val2.parent = bodyPrefab.transform; val2.localPosition = bodyInfo.cameraPivotPosition; val2.localRotation = Quaternion.identity; } Transform val3 = bodyPrefab.transform.Find("AimOrigin"); if ((Object)(object)val3 == (Object)null) { val3 = new GameObject("AimOrigin").transform; val3.parent = bodyPrefab.transform; val3.localPosition = bodyInfo.aimOriginPosition; val3.localRotation = Quaternion.identity; } bodyPrefab.GetComponent().aimOriginTransform = val3; return ((Component)val).transform; } private static void SetupCharacterDirection(GameObject prefab, Transform modelBaseTransform, Transform modelTransform) { if (Object.op_Implicit((Object)(object)prefab.GetComponent())) { CharacterDirection component = prefab.GetComponent(); component.targetTransform = modelBaseTransform; component.overrideAnimatorForwardTransform = null; component.rootMotionAccumulator = null; component.modelAnimator = ((Component)modelTransform).GetComponent(); component.driveFromRootRotation = false; component.turnSpeed = 720f; } } private static void SetupCameraTargetParams(GameObject prefab, BodyInfo bodyInfo) { CameraTargetParams component = prefab.GetComponent(); component.cameraParams = bodyInfo.cameraParams; component.cameraPivotTransform = prefab.transform.Find("CameraPivot"); } private static void SetupModelLocator(GameObject prefab, Transform modelBaseTransform, Transform modelTransform) { ModelLocator component = prefab.GetComponent(); component.modelTransform = modelTransform; component.modelBaseTransform = modelBaseTransform; } private static void SetupRigidbody(GameObject prefab) { Rigidbody component = prefab.GetComponent(); component.mass = 350f; } private static void SetupCapsuleCollider(GameObject prefab) { //IL_0007: 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_0026: Unknown result type (might be due to invalid IL or missing references) float num = 1.8f; Vector3 zero = Vector3.zero; float num2 = 1.8f; int direction = 1; float capsuleYOffset = 0f; CapsuleCollider component = prefab.GetComponent(); component.center = zero; component.radius = num; component.height = num2; component.direction = direction; KinematicCharacterMotor component2 = prefab.GetComponent(); component2.CapsuleRadius = num; component2.CapsuleHeight = num2; component2.CapsuleYOffset = capsuleYOffset; } public static CharacterModel SetupCharacterModel(GameObject bodyPrefab, CustomRendererInfo[] customInfos = null) { CharacterModel val = ((Component)bodyPrefab.GetComponent().modelTransform).gameObject.GetComponent(); bool flag = (Object)(object)val != (Object)null; if (!flag) { val = ((Component)bodyPrefab.GetComponent().modelTransform).gameObject.AddComponent(); } val.body = bodyPrefab.GetComponent(); val.autoPopulateLightInfos = true; val.invisibilityCount = 0; val.temporaryOverlays = new List(); if (!flag) { SetupCustomRendererInfos(val, customInfos); } else { SetupPreAttachedRendererInfos(val); } SetupHurtboxGroup(bodyPrefab, ((Component)val).gameObject); SetupAimAnimator(bodyPrefab, ((Component)val).gameObject); SetupFootstepController(((Component)val).gameObject); SetupRagdoll(((Component)val).gameObject); return val; } public static void SetupPreAttachedRendererInfos(CharacterModel characterModel) { for (int i = 0; i < characterModel.baseRendererInfos.Length; i++) { if ((Object)(object)characterModel.baseRendererInfos[i].defaultMaterial == (Object)null) { characterModel.baseRendererInfos[i].defaultMaterial = characterModel.baseRendererInfos[i].renderer.sharedMaterial; } if ((Object)(object)characterModel.baseRendererInfos[i].defaultMaterial == (Object)null) { Log.Error($"no material for rendererinfo of this renderer: {characterModel.baseRendererInfos[i].renderer}"); } } } public static void SetupCustomRendererInfos(CharacterModel characterModel, CustomRendererInfo[] customInfos) { //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) ChildLocator component = ((Component)characterModel).GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { Log.Error("Failed CharacterModel setup: ChildLocator component does not exist on the model"); return; } List list = new List(); for (int i = 0; i < customInfos.Length; i++) { if (!Object.op_Implicit((Object)(object)component.FindChild(customInfos[i].childName))) { Log.Error("Trying to add a RendererInfo for a renderer that does not exist: " + customInfos[i].childName); continue; } Renderer component2 = ((Component)component.FindChild(customInfos[i].childName)).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { Material val = customInfos[i].material; if ((Object)(object)val == (Object)null) { val = component2.sharedMaterial; } list.Add(new RendererInfo { renderer = component2, defaultMaterial = val, ignoreOverlays = customInfos[i].ignoreOverlays, defaultShadowCastingMode = (ShadowCastingMode)1 }); } } characterModel.baseRendererInfos = list.ToArray(); } private static void SetupHurtboxGroup(GameObject bodyPrefab, GameObject model) { SetupMainHurtboxesFromChildLocator(bodyPrefab, model); SetHurtboxesHealthComponents(bodyPrefab); } private static void SetupMainHurtboxesFromChildLocator(GameObject bodyPrefab, GameObject model) { //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)bodyPrefab.GetComponent() != (Object)null) { Log.Debug("Hitboxgroup already exists on model prefab. aborting code setup"); return; } ChildLocator component = model.GetComponent(); if (string.IsNullOrEmpty(component.FindChildNameInsensitive("MainHurtbox"))) { Log.Error("Could not set up main hurtbox: make sure you have a transform pair in your prefab's ChildLocator called 'MainHurtbox'"); return; } HurtBoxGroup val = model.AddComponent(); HurtBox val2 = null; GameObject val3 = component.FindChildGameObjectInsensitive("HeadHurtbox"); if (Object.op_Implicit((Object)(object)val3)) { Log.Debug("HeadHurtboxFound. Setting up"); val2 = val3.AddComponent(); ((Component)val2).gameObject.layer = LayerIndex.entityPrecise.intVal; val2.healthComponent = bodyPrefab.GetComponent(); val2.isBullseye = false; val2.isSniperTarget = true; val2.damageModifier = (DamageModifier)0; val2.hurtBoxGroup = val; val2.indexInGroup = 1; } HurtBox val4 = component.FindChildGameObjectInsensitive("MainHurtbox").AddComponent(); ((Component)val4).gameObject.layer = LayerIndex.entityPrecise.intVal; val4.healthComponent = bodyPrefab.GetComponent(); val4.isBullseye = true; val4.isSniperTarget = (Object)(object)val2 == (Object)null; val4.damageModifier = (DamageModifier)0; val4.hurtBoxGroup = val; val4.indexInGroup = 0; if (Object.op_Implicit((Object)(object)val2)) { val.hurtBoxes = (HurtBox[])(object)new HurtBox[2] { val4, val2 }; } else { val.hurtBoxes = (HurtBox[])(object)new HurtBox[1] { val4 }; } val.mainHurtBox = val4; val.bullseyeCount = 1; } private static string FindChildNameInsensitive(this ChildLocator childLocator, string child) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) return childLocator.transformPairs.Where((NameTransformPair pair) => pair.name.ToLowerInvariant() == child.ToLowerInvariant()).FirstOrDefault().name; } private static Transform FindChildInsensitive(this ChildLocator childLocator, string child) { return childLocator.FindChild(childLocator.FindChildNameInsensitive(child)); } private static GameObject FindChildGameObjectInsensitive(this ChildLocator childLocator, string child) { return childLocator.FindChildGameObject(childLocator.FindChildNameInsensitive(child)); } public static void SetHurtboxesHealthComponents(GameObject bodyPrefab) { HealthComponent component = bodyPrefab.GetComponent(); HurtBoxGroup[] componentsInChildren = bodyPrefab.GetComponentsInChildren(); foreach (HurtBoxGroup val in componentsInChildren) { val.mainHurtBox.healthComponent = component; for (int j = 0; j < val.hurtBoxes.Length; j++) { val.hurtBoxes[j].healthComponent = component; } } } private static void SetupFootstepController(GameObject model) { FootstepHandler val = model.GetComponent(); if ((Object)(object)model.GetComponent() == (Object)null) { val = model.AddComponent(); val.baseFootstepString = "Play_acrid_step"; val.sprintFootstepOverrideString = "Play_acrid_step_sprint"; val.enableFootstepDust = true; } val.footstepDustPrefab = LegacyResourcesAPI.Load("Prefabs/GenericLargeFootstepDust"); } private static void SetupRagdoll(GameObject model) { RagdollController component = model.GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { return; } if ((Object)(object)ragdollMaterial == (Object)null) { ragdollMaterial = ((Component)LegacyResourcesAPI.Load("Prefabs/CharacterBodies/CommandoBody").GetComponentInChildren().bones[1]).GetComponent().material; } Transform[] bones = component.bones; foreach (Transform val in bones) { if (Object.op_Implicit((Object)(object)val)) { ((Component)val).gameObject.layer = LayerIndex.ragdoll.intVal; Collider component2 = ((Component)val).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { component2.sharedMaterial = ragdollMaterial; } else { Log.Error($"Ragdoll bone {((Component)val).gameObject} doesn't have a collider. Ragdoll will break."); } } } } private static void SetupAimAnimator(GameObject prefab, GameObject model) { AimAnimator val = model.AddComponent(); val.directionComponent = prefab.GetComponent(); val.pitchRangeMax = 60f; val.pitchRangeMin = -60f; val.yawRangeMin = -80f; val.yawRangeMax = 80f; val.pitchGiveupRange = 30f; val.yawGiveupRange = 10f; val.giveupDuration = 3f; val.inputBank = prefab.GetComponent(); } public static void CreateGenericDoppelganger(GameObject bodyPrefab, string masterName, string masterToCopy) { CloneDopplegangerMaster(bodyPrefab, masterName, masterToCopy); } public static GameObject CloneDopplegangerMaster(GameObject bodyPrefab, string masterName, string masterToCopy) { GameObject val = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load("Prefabs/CharacterMasters/" + masterToCopy + "MonsterMaster"), masterName, true); val.GetComponent().bodyPrefab = bodyPrefab; Content.AddMasterPrefab(val); return val; } public static GameObject CreateBlankMasterPrefab(GameObject bodyPrefab, string masterName) { GameObject val = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load("Prefabs/CharacterMasters/CommandoMonsterMaster"), masterName, true); ContentPacks.masterPrefabs.Add(val); CharacterMaster component = val.GetComponent(); component.bodyPrefab = bodyPrefab; AISkillDriver[] components = val.GetComponents(); for (int i = 0; i < components.Length; i++) { Object.Destroy((Object)(object)components[i]); } return val; } public static GameObject LoadMaster(this AssetBundle assetBundle, GameObject bodyPrefab, string assetName) { //IL_0047: 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) GameObject val = assetBundle.LoadAsset(assetName); BaseAI val2 = val.GetComponent(); if ((Object)(object)val2 == (Object)null) { val2 = val.AddComponent(); val2.aimVectorDampTime = 0.1f; val2.aimVectorMaxSpeed = 360f; } val2.scanState = new SerializableEntityStateType(typeof(Wander)); EntityStateMachine component = val.GetComponent(); if ((Object)(object)component == (Object)null) { AddEntityStateMachine(val, "AI", typeof(Wander), typeof(Wander)); } val2.stateMachine = component; CharacterMaster val3 = val.GetComponent(); if ((Object)(object)val3 == (Object)null) { val3 = val.AddComponent(); } val3.bodyPrefab = bodyPrefab; val3.teamIndex = (TeamIndex)2; Content.AddMasterPrefab(val); return val; } public static void ClearEntityStateMachines(GameObject bodyPrefab) { EntityStateMachine[] components = bodyPrefab.GetComponents(); for (int num = components.Length - 1; num >= 0; num--) { Object.DestroyImmediate((Object)(object)components[num]); } NetworkStateMachine component = bodyPrefab.GetComponent(); component.stateMachines = Array.Empty(); CharacterDeathBehavior component2 = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { component2.idleStateMachine = Array.Empty(); } SetStateOnHurt component3 = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component3)) { component3.idleStateMachine = Array.Empty(); } CharacterBody component4 = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component4)) { component4.vehicleIdleStateMachine = Array.Empty(); } } public static EntityStateMachine AddEntityStateMachine(GameObject prefab, string machineName, Type mainStateType = null, Type initalStateType = null, bool addToHurt = true, bool addToDeath = true) { //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0084: 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) EntityStateMachine val = EntityStateMachine.FindByCustomName(prefab, machineName); if ((Object)(object)val == (Object)null) { val = prefab.AddComponent(); } else { Log.Message("An Entity State Machine already exists with the name " + machineName + ". replacing."); } val.customName = machineName; if (mainStateType == null) { mainStateType = typeof(Idle); } val.mainStateType = new SerializableEntityStateType(mainStateType); if (initalStateType == null) { initalStateType = typeof(Idle); } val.initialStateType = new SerializableEntityStateType(initalStateType); NetworkStateMachine component = prefab.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.stateMachines = component.stateMachines.Append(val).ToArray(); } CharacterDeathBehavior component2 = prefab.GetComponent(); if (Object.op_Implicit((Object)(object)component2) && addToDeath) { component2.idleStateMachine = component2.idleStateMachine.Append(val).ToArray(); } SetStateOnHurt component3 = prefab.GetComponent(); if (Object.op_Implicit((Object)(object)component3) && addToHurt) { component3.idleStateMachine = component3.idleStateMachine.Append(val).ToArray(); } return val; } public static EntityStateMachine AddMainEntityStateMachine(GameObject bodyPrefab, string machineName = "Body", Type mainStateType = null, Type initalStateType = null) { //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0084: 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) EntityStateMachine val = EntityStateMachine.FindByCustomName(bodyPrefab, machineName); if ((Object)(object)val == (Object)null) { val = bodyPrefab.AddComponent(); } else { Log.Message("An Entity State Machine already exists with the name " + machineName + ". replacing."); } val.customName = machineName; if (mainStateType == null) { mainStateType = typeof(GenericCharacterMain); } val.mainStateType = new SerializableEntityStateType(mainStateType); if (initalStateType == null) { initalStateType = typeof(SpawnTeleporterState); } val.initialStateType = new SerializableEntityStateType(initalStateType); NetworkStateMachine component = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.stateMachines = component.stateMachines.Append(val).ToArray(); } CharacterDeathBehavior component2 = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { component2.deathStateMachine = val; } SetStateOnHurt component3 = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component3)) { component3.targetStateMachine = val; } return val; } public static void SetupHitBoxGroup(GameObject modelPrefab, string hitBoxGroupName, params string[] hitboxChildNames) { ChildLocator component = modelPrefab.GetComponent(); Transform[] array = (Transform[])(object)new Transform[hitboxChildNames.Length]; for (int i = 0; i < hitboxChildNames.Length; i++) { array[i] = component.FindChild(hitboxChildNames[i]); if ((Object)(object)array[i] == (Object)null) { Log.Error("missing hitbox for " + hitboxChildNames[i]); } } SetupHitBoxGroup(modelPrefab, hitBoxGroupName, array); } public static void SetupHitBoxGroup(GameObject prefab, string hitBoxGroupName, params Transform[] hitBoxTransforms) { List list = new List(); foreach (Transform val in hitBoxTransforms) { if ((Object)(object)val == (Object)null) { Log.Error("Error setting up hitboxGroup for " + hitBoxGroupName + ": hitbox transform was null"); continue; } HitBox item = ((Component)val).gameObject.AddComponent(); ((Component)val).gameObject.layer = LayerIndex.projectile.intVal; list.Add(item); } if (list.Count == 0) { Log.Error("No hitboxes were set up. aborting setting up hitboxGroup for " + hitBoxGroupName); return; } HitBoxGroup val2 = prefab.AddComponent(); val2.hitBoxes = list.ToArray(); val2.groupName = hitBoxGroupName; } } public class CustomRendererInfo { public string childName; public Material material = null; public bool donthopoo = false; public bool ignoreOverlays = false; } internal static class Skills { public static void CreateSkillFamilies(GameObject targetPrefab) { SkillSlot[] array = new SkillSlot[4]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); CreateSkillFamilies(targetPrefab, (SkillSlot[])(object)array); } public static void CreateSkillFamilies(GameObject targetPrefab, params SkillSlot[] slots) { //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_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_0015: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Expected I4, but got Unknown SkillLocator component = targetPrefab.GetComponent(); foreach (SkillSlot val in slots) { SkillSlot val2 = val; switch (val2 - -1) { case 1: component.primary = CreateGenericSkillWithSkillFamily(targetPrefab, "Primary"); break; case 2: component.secondary = CreateGenericSkillWithSkillFamily(targetPrefab, "Secondary"); break; case 3: component.utility = CreateGenericSkillWithSkillFamily(targetPrefab, "Utility"); break; case 4: component.special = CreateGenericSkillWithSkillFamily(targetPrefab, "Special"); break; } } } public static void ClearGenericSkills(GameObject targetPrefab) { GenericSkill[] componentsInChildren = targetPrefab.GetComponentsInChildren(); foreach (GenericSkill val in componentsInChildren) { Object.DestroyImmediate((Object)(object)val); } } public static GenericSkill CreateGenericSkillWithSkillFamily(GameObject targetPrefab, SkillSlot skillSlot, bool hidden = false) { //IL_0008: 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_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_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected I4, but got Unknown SkillLocator component = targetPrefab.GetComponent(); switch (skillSlot - -1) { case 1: return component.primary = CreateGenericSkillWithSkillFamily(targetPrefab, "Primary", hidden); case 2: return component.secondary = CreateGenericSkillWithSkillFamily(targetPrefab, "Secondary", hidden); case 3: return component.utility = CreateGenericSkillWithSkillFamily(targetPrefab, "Utility", hidden); case 4: return component.special = CreateGenericSkillWithSkillFamily(targetPrefab, "Special", hidden); case 0: Log.Error("Failed to create GenericSkill with skillslot None. If making a GenericSkill outside of the main 4, specify a familyName, and optionally a genericSkillName"); return null; default: return null; } } public static GenericSkill CreateGenericSkillWithSkillFamily(GameObject targetPrefab, string familyName, bool hidden = false) { return CreateGenericSkillWithSkillFamily(targetPrefab, familyName, familyName, hidden); } public static GenericSkill CreateGenericSkillWithSkillFamily(GameObject targetPrefab, string genericSkillName, string familyName, bool hidden = false) { GenericSkill val = targetPrefab.AddComponent(); val.skillName = genericSkillName; val.hideInCharacterSelect = hidden; SkillFamily val2 = ScriptableObject.CreateInstance(); ((Object)val2).name = ((Object)targetPrefab).name + familyName + "Family"; val2.variants = (Variant[])(object)new Variant[0]; val._skillFamily = val2; Content.AddSkillFamily(val2); return val; } public static void AddSkillToFamily(SkillFamily skillFamily, SkillDef skillDef, UnlockableDef unlockableDef = null) { //IL_0029: 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_0053: Expected O, but got Unknown //IL_0054: 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) Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1); Variant[] variants = skillFamily.variants; int num = skillFamily.variants.Length - 1; Variant val = new Variant { skillDef = skillDef, unlockableDef = unlockableDef }; ((Variant)(ref val)).viewableNode = new Node(skillDef.skillNameToken, false, (Node)null); variants[num] = val; } public static void AddSkillsToFamily(SkillFamily skillFamily, params SkillDef[] skillDefs) { foreach (SkillDef skillDef in skillDefs) { AddSkillToFamily(skillFamily, skillDef); } } public static void AddPrimarySkills(GameObject targetPrefab, params SkillDef[] skillDefs) { AddSkillsToFamily(targetPrefab.GetComponent().primary.skillFamily, skillDefs); } public static void AddSecondarySkills(GameObject targetPrefab, params SkillDef[] skillDefs) { AddSkillsToFamily(targetPrefab.GetComponent().secondary.skillFamily, skillDefs); } public static void AddUtilitySkills(GameObject targetPrefab, params SkillDef[] skillDefs) { AddSkillsToFamily(targetPrefab.GetComponent().utility.skillFamily, skillDefs); } public static void AddSpecialSkills(GameObject targetPrefab, params SkillDef[] skillDefs) { AddSkillsToFamily(targetPrefab.GetComponent().special.skillFamily, skillDefs); } public static void AddUnlockablesToFamily(SkillFamily skillFamily, params UnlockableDef[] unlockableDefs) { //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_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) for (int i = 0; i < unlockableDefs.Length; i++) { Variant val = skillFamily.variants[i]; val.unlockableDef = unlockableDefs[i]; skillFamily.variants[i] = val; } } public static SkillDef CreateSkillDef(SkillDefInfo skillDefInfo) { return Skills.CreateSkillDef(skillDefInfo); } public static T CreateSkillDef(SkillDefInfo skillDefInfo) where T : SkillDef { //IL_0064: 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_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) T val = ScriptableObject.CreateInstance(); ((SkillDef)val).skillName = skillDefInfo.skillName; ((Object)(object)val).name = skillDefInfo.skillName; ((SkillDef)val).skillNameToken = skillDefInfo.skillNameToken; ((SkillDef)val).skillDescriptionToken = skillDefInfo.skillDescriptionToken; ((SkillDef)val).icon = skillDefInfo.skillIcon; ((SkillDef)val).activationState = skillDefInfo.activationState; ((SkillDef)val).activationStateMachineName = skillDefInfo.activationStateMachineName; ((SkillDef)val).interruptPriority = skillDefInfo.interruptPriority; ((SkillDef)val).baseMaxStock = skillDefInfo.baseMaxStock; ((SkillDef)val).baseRechargeInterval = skillDefInfo.baseRechargeInterval; ((SkillDef)val).rechargeStock = skillDefInfo.rechargeStock; ((SkillDef)val).requiredStock = skillDefInfo.requiredStock; ((SkillDef)val).stockToConsume = skillDefInfo.stockToConsume; ((SkillDef)val).dontAllowPastMaxStocks = skillDefInfo.dontAllowPastMaxStocks; ((SkillDef)val).beginSkillCooldownOnSkillEnd = skillDefInfo.beginSkillCooldownOnSkillEnd; ((SkillDef)val).canceledFromSprinting = skillDefInfo.canceledFromSprinting; ((SkillDef)val).forceSprintDuringState = skillDefInfo.forceSprintDuringState; ((SkillDef)val).fullRestockOnAssign = skillDefInfo.fullRestockOnAssign; ((SkillDef)val).resetCooldownTimerOnUse = skillDefInfo.resetCooldownTimerOnUse; ((SkillDef)val).isCombatSkill = skillDefInfo.isCombatSkill; ((SkillDef)val).mustKeyPress = skillDefInfo.mustKeyPress; ((SkillDef)val).cancelSprintingOnActivation = skillDefInfo.cancelSprintingOnActivation; ((SkillDef)val).keywordTokens = skillDefInfo.keywordTokens; Content.AddSkillDef((SkillDef)(object)val); return val; } } internal class SkillDefInfo { public string skillName; public string skillNameToken; public string skillDescriptionToken; public string[] keywordTokens = Array.Empty(); public Sprite skillIcon; public SerializableEntityStateType activationState; public string activationStateMachineName; public InterruptPriority interruptPriority; public float baseRechargeInterval; public int baseMaxStock = 1; public int rechargeStock = 1; public int requiredStock = 1; public int stockToConsume = 1; public bool resetCooldownTimerOnUse = false; public bool fullRestockOnAssign = true; public bool dontAllowPastMaxStocks = false; public bool beginSkillCooldownOnSkillEnd = false; public bool mustKeyPress = false; public bool isCombatSkill = true; public bool canceledFromSprinting = false; public bool cancelSprintingOnActivation = true; public bool forceSprintDuringState = false; public SkillDefInfo() { } public SkillDefInfo(string skillName, string skillNameToken, string skillDescriptionToken, Sprite skillIcon, SerializableEntityStateType activationState, string activationStateMachineName = "Weapon", bool agile = false) { //IL_008c: 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_00c2: Unknown result type (might be due to invalid IL or missing references) this.skillName = skillName; this.skillNameToken = skillNameToken; this.skillDescriptionToken = skillDescriptionToken; this.skillIcon = skillIcon; this.activationState = activationState; this.activationStateMachineName = activationStateMachineName; cancelSprintingOnActivation = !agile; if (agile) { keywordTokens = new string[1] { "KEYWORD_AGILE" }; } interruptPriority = (InterruptPriority)0; isCombatSkill = true; baseRechargeInterval = 0f; requiredStock = 0; stockToConsume = 0; } } internal static class Skins { internal struct SkinDefInfo { internal SkinDef[] BaseSkins; internal Sprite Icon; internal string NameToken; internal UnlockableDef UnlockableDef; internal GameObject RootObject; internal RendererInfo[] RendererInfos; internal MeshReplacement[] MeshReplacements; internal GameObjectActivation[] GameObjectActivations; internal ProjectileGhostReplacement[] ProjectileGhostReplacements; internal MinionSkinReplacement[] MinionSkinReplacements; internal string Name; } internal static SkinDef CreateSkinDef(string skinName, Sprite skinIcon, RendererInfo[] defaultRendererInfos, GameObject root, UnlockableDef unlockableDef = null) { SkinDefInfo skinDefInfo = new SkinDefInfo { BaseSkins = Array.Empty(), GameObjectActivations = (GameObjectActivation[])(object)new GameObjectActivation[0], Icon = skinIcon, MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0], MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0], Name = skinName, NameToken = skinName, ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0], RendererInfos = (RendererInfo[])(object)new RendererInfo[defaultRendererInfos.Length], RootObject = root, UnlockableDef = unlockableDef }; SkinDef val = ScriptableObject.CreateInstance(); val.skinDefParams = ScriptableObject.CreateInstance(); val.baseSkins = skinDefInfo.BaseSkins; val.icon = skinDefInfo.Icon; val.unlockableDef = skinDefInfo.UnlockableDef; val.rootObject = skinDefInfo.RootObject; defaultRendererInfos.CopyTo(skinDefInfo.RendererInfos, 0); val.skinDefParams.rendererInfos = skinDefInfo.RendererInfos; val.skinDefParams.gameObjectActivations = skinDefInfo.GameObjectActivations; val.skinDefParams.meshReplacements = skinDefInfo.MeshReplacements; val.skinDefParams.projectileGhostReplacements = skinDefInfo.ProjectileGhostReplacements; val.skinDefParams.minionSkinReplacements = skinDefInfo.MinionSkinReplacements; val.nameToken = skinDefInfo.NameToken; ((Object)val).name = skinDefInfo.Name; return val; } } internal static class Tokens { public const string agilePrefix = "Agile."; public const string stunningPrefix = "Stunning."; public const string freezingPrefix = "Freezing."; public static string DamageText(string text) { return "" + text + ""; } public static string DamageValueText(float value) { return $"{value * 100f}% damage"; } public static string UtilityText(string text) { return "" + text + ""; } public static string RedText(string text) { return HealthText(text); } public static string HealthText(string text) { return "" + text + ""; } public static string KeywordText(string keyword, string sub) { return "" + keyword + "" + sub + ""; } public static string ScepterDescription(string desc) { return "\nSCEPTER: " + desc + ""; } public static string GetAchievementNameToken(string identifier) { return "ACHIEVEMENT_" + identifier.ToUpperInvariant() + "_NAME"; } public static string GetAchievementDescriptionToken(string identifier) { return "ACHIEVEMENT_" + identifier.ToUpperInvariant() + "_DESCRIPTION"; } } } namespace LunarDragonMod.Modules.DamageTypes { public static class Stun3s { public static ModdedDamageType damageType; public static void Init() { //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_0010: Unknown result type (might be due to invalid IL or missing references) damageType = DamageAPI.ReserveDamageType(); DamageTypeCollection.damageTypes.Add(damageType); Hooks.Handle_HealthComponentTakeDamageProcess_Actions = (Hooks.Handle_HealthComponentTakeDamageProcess)Delegate.Combine(Hooks.Handle_HealthComponentTakeDamageProcess_Actions, new Hooks.Handle_HealthComponentTakeDamageProcess(AddStun3sBuff)); } private static void AddStun3sBuff(HealthComponent self, DamageInfo damageInfo) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)self.body != (Object)null && DamageAPI.HasModdedDamageType(damageInfo, damageType)) { SetStateOnHurt component = ((Component)self).GetComponent(); if ((Object)(object)component != (Object)null && component.canBeStunned) { component.SetStun(3f); } } } } } namespace LunarDragonMod.Modules.Characters { public abstract class CharacterBase where T : CharacterBase, new() { public abstract string bodyName { get; } public abstract string modelPrefabName { get; } public abstract BodyInfo bodyInfo { get; } public virtual CustomRendererInfo[] customRendererInfos { get; } public virtual ItemDisplaysBase itemDisplays { get; } public static T instance { get; private set; } public abstract AssetBundle assetBundle { get; protected set; } public abstract GameObject bodyPrefab { get; protected set; } public abstract CharacterBody prefabCharacterBody { get; protected set; } public abstract GameObject characterModelObject { get; protected set; } public abstract CharacterModel prefabCharacterModel { get; protected set; } public virtual void Init() { instance = this as T; InitializeCharacter(); } public virtual void InitializeCharacter() { InitializeCharacterBodyPrefab(); InitializeItemDisplays(); } protected virtual void InitializeCharacterBodyPrefab() { characterModelObject = Prefabs.LoadCharacterModel(assetBundle, modelPrefabName); bodyPrefab = Prefabs.CreateBodyPrefab(characterModelObject, bodyInfo); prefabCharacterBody = bodyPrefab.GetComponent(); prefabCharacterModel = Prefabs.SetupCharacterModel(bodyPrefab, customRendererInfos); } public virtual void InitializeItemDisplays() { ItemDisplayRuleSet val = ScriptableObject.CreateInstance(); ((Object)val).name = "idrs" + bodyName; prefabCharacterModel.itemDisplayRuleSet = val; if (itemDisplays != null) { ItemDisplays.queuedDisplays++; ContentManager.onContentPacksAssigned += SetItemDisplays; } } public void SetItemDisplays(ReadOnlyArray obj) { itemDisplays.SetItemDisplays(prefabCharacterModel.itemDisplayRuleSet); } public abstract void InitializeEntityStateMachines(); public abstract void InitializeSkills(); public abstract void InitializeSkins(); public abstract void InitializeCharacterMaster(); } public class BodyInfo { public string bodyName = ""; public string bodyNameToken = ""; public string subtitleNameToken = ""; public string bodyNameToClone = "Commando"; public Color bodyColor = Color.white; public Texture characterPortrait = null; public float sortPosition = 100f; public GameObject crosshair = null; public GameObject podPrefab = null; public SerializableEntityStateType initialState; public float maxHealth = 180f; public float healthRegen = 1f; public float armor = 20f; public float shield = 0f; public int jumpCount = 1; public float damage = 12f; public float attackSpeed = 1f; public float crit = 1f; public float moveSpeed = 7.2f; public float acceleration = 80f; public float jumpPower = 17f; public bool autoCalculateLevelStats = true; public float healthGrowth = 54.000004f; public float regenGrowth = 0.2f; public float armorGrowth = 0f; public float shieldGrowth = 0f; public float damageGrowth = 2.4f; public float attackSpeedGrowth = 0f; public float critGrowth = 0f; public float moveSpeedGrowth = 0f; public float jumpPowerGrowth = 0f; public Vector3 aimOriginPosition = new Vector3(0f, 1.6f, 0f); public Vector3 modelBasePosition = new Vector3(0f, -0.92f, 0f); public Vector3 cameraPivotPosition = new Vector3(0f, 3.9f, 0f); public float cameraParamsVerticalOffset = 1.5f; public float cameraParamsDepth = -15f; private CharacterCameraParams _cameraParams; public CharacterCameraParams cameraParams { get { //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) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: 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_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: 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) if ((Object)(object)_cameraParams == (Object)null) { _cameraParams = ScriptableObject.CreateInstance(); _cameraParams.data.minPitch = BlendableFloat.op_Implicit(-70f); _cameraParams.data.maxPitch = BlendableFloat.op_Implicit(70f); _cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); _cameraParams.data.pivotVerticalOffset = BlendableFloat.op_Implicit(cameraParamsVerticalOffset); _cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, 0f, cameraParamsDepth)); } return _cameraParams; } set { _cameraParams = value; } } } public abstract class ItemDisplaysBase { public void SetItemDisplays(ItemDisplayRuleSet itemDisplayRuleSet) { List list = new List(); ItemDisplays.LazyInit(); SetItemDisplayRules(list); itemDisplayRuleSet.keyAssetRuleGroups = list.ToArray(); ItemDisplays.DisposeWhenDone(); } protected abstract void SetItemDisplayRules(List itemDisplayRules); } public abstract class SurvivorBase : CharacterBase where T : SurvivorBase, new() { public abstract string masterName { get; } public abstract string displayPrefabName { get; } public abstract string survivorTokenPrefix { get; } public abstract UnlockableDef characterUnlockableDef { get; } public abstract GameObject displayPrefab { get; protected set; } public override void InitializeCharacter() { base.InitializeCharacter(); InitializeDisplayPrefab(); InitializeSurvivor(); } protected virtual void InitializeDisplayPrefab() { displayPrefab = Prefabs.CreateDisplayPrefab(assetBundle, displayPrefabName, bodyPrefab); } protected virtual void InitializeSurvivor() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) Content.CreateSurvivor(bodyPrefab, displayPrefab, bodyInfo.bodyColor, survivorTokenPrefix, characterUnlockableDef, bodyInfo.sortPosition); } protected virtual void AddCssPreviewSkill(int indexFromEditor, SkillFamily skillFamily, SkillDef skillDef) { CharacterSelectSurvivorPreviewDisplayController component = displayPrefab.GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { Log.Error("trying to add skillChangeResponse to null CharacterSelectSurvivorPreviewDisplayController.\nMake sure you created one on your Display prefab in editor"); return; } component.skillChangeResponses[indexFromEditor].triggerSkillFamily = skillFamily; component.skillChangeResponses[indexFromEditor].triggerSkill = skillDef; } protected virtual void AddCssPreviewSkin(int indexFromEditor, SkinDef skinDef) { CharacterSelectSurvivorPreviewDisplayController component = displayPrefab.GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { Log.Error("trying to add skinChangeResponse to null CharacterSelectSurvivorPreviewDisplayController.\nMake sure you created one on your Display prefab in editor"); } else { component.skinChangeResponses[indexFromEditor].triggerSkin = skinDef; } } protected virtual void FinalizeCSSPreviewDisplayController() { //IL_0073: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)displayPrefab)) { return; } CharacterSelectSurvivorPreviewDisplayController component = displayPrefab.GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { return; } component.bodyPrefab = bodyPrefab; List list = new List(); for (int i = 0; i < component.skillChangeResponses.Length; i++) { if ((Object)(object)component.skillChangeResponses[i].triggerSkillFamily != (Object)null) { list.Add(component.skillChangeResponses[i]); } } component.skillChangeResponses = list.ToArray(); } } } namespace LunarDragonMod.Modules.BaseStates { public abstract class BaseMeleeAttack : BaseSkillState, IStepSetter { public int swingIndex; protected string hitboxGroupName = "SwordGroup"; protected DamageTypeCombo damageType = DamageTypeCombo.op_Implicit((DamageType)0); protected float damageCoefficient = 3.5f; protected float procCoefficient = 1f; protected float pushForce = 300f; protected Vector3 bonusForce = Vector3.zero; protected float baseDuration = 1f; protected float attackStartPercentTime = 0.2f; protected float attackEndPercentTime = 0.4f; protected float earlyExitPercentTime = 0.4f; protected float hitStopDuration = 0.012f; protected float attackRecoil = 0.75f; protected float hitHopVelocity = 4f; protected string swingSoundString = ""; protected string hitSoundString = ""; protected string muzzleString = "SwingCenter"; protected string playbackRateParam = "Slash.playbackRate"; protected GameObject swingEffectPrefab; protected GameObject hitEffectPrefab; protected NetworkSoundEventIndex impactSound = (NetworkSoundEventIndex)(-1); protected OverlapAttack attack; public float duration; private bool hasFired; private float hitPauseTimer; protected bool inHitPause; private bool hasHopped; protected float stopwatch; protected Animator animator; private HitStopCachedState hitStopCachedState; private Vector3 storedVelocity; public override void OnEnter() { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Expected O, but got Unknown //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: 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_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration = baseDuration / ((BaseState)this).attackSpeedStat; animator = ((EntityState)this).GetModelAnimator(); ((BaseState)this).StartAimMode(0.5f + duration, false); PlayAttackAnimation(); attack = new OverlapAttack(); attack.damageType = damageType; attack.attacker = ((EntityState)this).gameObject; attack.inflictor = ((EntityState)this).gameObject; attack.teamIndex = ((BaseState)this).GetTeam(); attack.damage = damageCoefficient * ((BaseState)this).damageStat; attack.procCoefficient = procCoefficient; attack.hitEffectPrefab = hitEffectPrefab; attack.forceVector = bonusForce; attack.pushAwayForce = pushForce; attack.hitBoxGroup = ((BaseState)this).FindHitBoxGroup(hitboxGroupName); attack.isCrit = ((BaseState)this).RollCrit(); attack.impactSound = impactSound; ModifyOverlapAttack(attack); } protected virtual void ModifyOverlapAttack(OverlapAttack attack) { } protected virtual void PlayAttackAnimation() { ((EntityState)this).PlayCrossfade("Gesture, Override", "Slash" + (1 + swingIndex), playbackRateParam, duration, 0.05f); } public override void OnExit() { if (inHitPause) { RemoveHitstop(); } ((EntityState)this).OnExit(); } protected virtual void PlaySwingEffect() { EffectManager.SimpleMuzzleFlash(swingEffectPrefab, ((EntityState)this).gameObject, muzzleString, false); } protected virtual void OnHitEnemyAuthority() { Util.PlaySound(hitSoundString, ((EntityState)this).gameObject); if (!hasHopped) { if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded && hitHopVelocity > 0f) { ((BaseState)this).SmallHop(((EntityState)this).characterMotor, hitHopVelocity); } hasHopped = true; } ApplyHitstop(); } protected void ApplyHitstop() { //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_0043: 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) if (!inHitPause && hitStopDuration > 0f) { storedVelocity = ((EntityState)this).characterMotor.velocity; hitStopCachedState = ((BaseState)this).CreateHitStopCachedState(((EntityState)this).characterMotor, animator, playbackRateParam); hitPauseTimer = hitStopDuration / ((BaseState)this).attackSpeedStat; inHitPause = true; } } private void FireAttack() { if (((EntityState)this).isAuthority && attack.Fire((List)null)) { OnHitEnemyAuthority(); } } private void EnterAttack() { hasFired = true; Util.PlayAttackSpeedSound(swingSoundString, ((EntityState)this).gameObject, ((BaseState)this).attackSpeedStat); PlaySwingEffect(); if (((EntityState)this).isAuthority) { ((BaseState)this).AddRecoil(-1f * attackRecoil, -2f * attackRecoil, -0.5f * attackRecoil, 0.5f * attackRecoil); } } public override void FixedUpdate() { //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) ((EntityState)this).FixedUpdate(); hitPauseTimer -= Time.deltaTime; if (hitPauseTimer <= 0f && inHitPause) { RemoveHitstop(); } if (!inHitPause) { stopwatch += Time.deltaTime; } else { if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; } if (Object.op_Implicit((Object)(object)animator)) { animator.SetFloat(playbackRateParam, 0f); } } bool flag = stopwatch >= duration * attackStartPercentTime; bool flag2 = stopwatch >= duration * attackEndPercentTime; if ((flag && !flag2) || (flag && flag2 && !hasFired)) { if (!hasFired) { EnterAttack(); } FireAttack(); } if (stopwatch >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } private void RemoveHitstop() { //IL_0003: 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_002d: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).ConsumeHitStopCachedState(hitStopCachedState, ((EntityState)this).characterMotor, animator); inHitPause = false; ((EntityState)this).characterMotor.velocity = storedVelocity; } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0023: 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_0026: Unknown result type (might be due to invalid IL or missing references) if (stopwatch >= duration * earlyExitPercentTime) { return (InterruptPriority)0; } return (InterruptPriority)1; } public override void OnSerialize(NetworkWriter writer) { ((BaseSkillState)this).OnSerialize(writer); writer.Write(swingIndex); } public override void OnDeserialize(NetworkReader reader) { ((BaseSkillState)this).OnDeserialize(reader); swingIndex = reader.ReadInt32(); } public void SetStep(int i) { swingIndex = i; } } public abstract class BaseTimedSkillState : BaseSkillState { protected float duration; protected float castStartTime; protected float castEndTime; protected bool hasFired; protected bool isFiring; protected bool hasExited; public abstract float TimedBaseDuration { get; } public abstract float TimedBaseCastStartPercentTime { get; } public virtual float TimedBaseCastEndPercentTime => 1f; public override void OnEnter() { InitDurationValues(); ((BaseState)this).OnEnter(); } protected virtual void InitDurationValues() { duration = TimedBaseDuration / ((BaseState)this).attackSpeedStat; castStartTime = TimedBaseCastStartPercentTime * duration; castEndTime = TimedBaseCastEndPercentTime * duration; } protected virtual void OnCastEnter() { } protected virtual void OnCastFixedUpdate() { } protected virtual void OnCastUpdate() { } protected virtual void OnCastExit() { } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); bool flag = ((EntityState)this).fixedAge >= castStartTime; bool flag2 = ((EntityState)this).fixedAge >= castEndTime; isFiring = false; if ((flag && !flag2) || (flag && flag2 && !hasFired)) { isFiring = true; OnCastFixedUpdate(); if (!hasFired) { OnCastEnter(); hasFired = true; } } if (flag2 && !hasExited) { hasExited = true; OnCastExit(); } if (((EntityState)this).fixedAge > duration) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void Update() { ((EntityState)this).Update(); if (isFiring) { OnCastUpdate(); } } } public class ExampleTimedSkillState : BaseTimedSkillState { public override float TimedBaseDuration => 1.5f; public override float TimedBaseCastStartPercentTime => 0.2f; public override float TimedBaseCastEndPercentTime => 0.9f; protected override void OnCastEnter() { } protected override void OnCastFixedUpdate() { } protected override void OnCastExit() { } } public class ExampleDelayedSkillState : BaseTimedSkillState { public override float TimedBaseDuration => 1.5f; public override float TimedBaseCastStartPercentTime => 0.2f; protected override void OnCastEnter() { } } } namespace LunarDragonMod.Modules.Achievements { public abstract class BaseMasteryAchievement : BaseAchievement { public abstract string RequiredCharacterBody { get; } public abstract float RequiredDifficultyCoefficient { get; } public override BodyIndex LookUpRequiredBodyIndex() { //IL_0007: 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_000f: Unknown result type (might be due to invalid IL or missing references) return BodyCatalog.FindBodyIndex(RequiredCharacterBody); } public override void OnBodyRequirementMet() { ((BaseAchievement)this).OnBodyRequirementMet(); Run.onClientGameOverGlobal += OnClientGameOverGlobal; } public override void OnBodyRequirementBroken() { Run.onClientGameOverGlobal -= OnClientGameOverGlobal; ((BaseAchievement)this).OnBodyRequirementBroken(); } private void OnClientGameOverGlobal(Run run, RunReport runReport) { //IL_002f: 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_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Invalid comparison between Unknown and I4 //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Invalid comparison between Unknown and I4 if (!Object.op_Implicit((Object)(object)runReport.gameEnding) || !runReport.gameEnding.isWin) { return; } DifficultyIndex val = runReport.ruleBook.FindDifficulty(); DifficultyDef difficultyDef = DifficultyCatalog.GetDifficultyDef(val); if (difficultyDef != null) { bool flag = difficultyDef.countsAsHardMode && difficultyDef.scalingValue >= RequiredDifficultyCoefficient; bool flag2 = difficultyDef.nameToken == "INFERNO_NAME"; bool flag3 = (int)val >= 3 && (int)val <= 10; if (flag || flag2 || flag3) { ((BaseAchievement)this).Grant(); } } } } } namespace LunarDragonMod.Characters.Survivors.LunarDragon.Content { public static class LunarDragonSkills { private static GameObject bodyPrefab; private static AssetBundle assetBundle; private const string LUNAR_DRAGON_PREFIX = "MIYOWI_LunarDragon_"; public static void Init(GameObject bodyPrefab) { LunarDragonSkills.bodyPrefab = bodyPrefab; assetBundle = LunarDragonAssets.assetBundle; AddPassiveSkill(); AddPrimarySkills(); AddSecondarySkills(); AddUtilitySkills(); AddSpecialSkills(); } private static void AddPassiveSkill() { //IL_000d: 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_004a: Unknown result type (might be due to invalid IL or missing references) bodyPrefab.GetComponent().passiveSkill = new PassiveSkill { enabled = true, skillNameToken = "MIYOWI_LunarDragon_PASSIVE_NAME", skillDescriptionToken = "MIYOWI_LunarDragon_PASSIVE_DESCRIPTION", icon = assetBundle.LoadAsset("texPassive1Icon") }; } private static void AddPrimarySkills() { //IL_0036: Unknown result type (might be due to invalid IL or missing references) Skills.CreateGenericSkillWithSkillFamily(bodyPrefab, (SkillSlot)0); SteppedSkillDef val = Skills.CreateSkillDef(new SkillDefInfo("LunarDragonElementalBlitz", "MIYOWI_LunarDragon_PRIMARY_ELEMENTAL_BLITZ_NAME", "MIYOWI_LunarDragon_PRIMARY_ELEMENTAL_BLITZ_DESCRIPTION", assetBundle.LoadAsset("texPrimary1Icon"), new SerializableEntityStateType(typeof(ElementalBlitz)))); val.stepCount = 3; val.stepGraceDuration = 1f; Skills.AddPrimarySkills(bodyPrefab, (SkillDef)val); } private static void AddSecondarySkills() { //IL_0055: 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) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0125: 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_013c: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Unknown result type (might be due to invalid IL or missing references) Skills.CreateGenericSkillWithSkillFamily(bodyPrefab, (SkillSlot)1); SkillDefInfo skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "LunarDragonEruption"; skillDefInfo.skillNameToken = "MIYOWI_LunarDragon_SECONDARY_ERUPTION_NAME"; skillDefInfo.skillDescriptionToken = "MIYOWI_LunarDragon_SECONDARY_ERUPTION_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texSecondary1Icon"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(Eruption)); skillDefInfo.activationStateMachineName = "Weapon"; skillDefInfo.interruptPriority = (InterruptPriority)1; skillDefInfo.baseRechargeInterval = 12f; skillDefInfo.baseMaxStock = 1; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.dontAllowPastMaxStocks = false; skillDefInfo.mustKeyPress = false; skillDefInfo.beginSkillCooldownOnSkillEnd = false; skillDefInfo.isCombatSkill = true; skillDefInfo.canceledFromSprinting = false; skillDefInfo.cancelSprintingOnActivation = true; skillDefInfo.forceSprintDuringState = false; SkillDef val = Skills.CreateSkillDef(skillDefInfo); skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "LunarDragonSurge"; skillDefInfo.skillNameToken = "MIYOWI_LunarDragon_SECONDARY_SURGE_NAME"; skillDefInfo.skillDescriptionToken = "MIYOWI_LunarDragon_SECONDARY_SURGE_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texWIPIcon"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(Surge)); skillDefInfo.activationStateMachineName = "Weapon2"; skillDefInfo.interruptPriority = (InterruptPriority)1; skillDefInfo.baseRechargeInterval = 8f; skillDefInfo.baseMaxStock = 1; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.dontAllowPastMaxStocks = false; skillDefInfo.mustKeyPress = true; skillDefInfo.beginSkillCooldownOnSkillEnd = false; skillDefInfo.isCombatSkill = true; skillDefInfo.canceledFromSprinting = false; skillDefInfo.cancelSprintingOnActivation = true; skillDefInfo.forceSprintDuringState = false; SkillDef val2 = Skills.CreateSkillDef(skillDefInfo); skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "LunarDragonGlaciate"; skillDefInfo.skillNameToken = "MIYOWI_LunarDragon_SECONDARY_GLACIATE_NAME"; skillDefInfo.skillDescriptionToken = "MIYOWI_LunarDragon_SECONDARY_GLACIATE_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texWIPIcon"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(Glaciate)); skillDefInfo.activationStateMachineName = "Weapon"; skillDefInfo.interruptPriority = (InterruptPriority)1; skillDefInfo.baseRechargeInterval = 8f; skillDefInfo.baseMaxStock = 1; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.dontAllowPastMaxStocks = false; skillDefInfo.mustKeyPress = false; skillDefInfo.beginSkillCooldownOnSkillEnd = false; skillDefInfo.isCombatSkill = true; skillDefInfo.canceledFromSprinting = false; skillDefInfo.cancelSprintingOnActivation = true; skillDefInfo.forceSprintDuringState = false; SkillDef val3 = Skills.CreateSkillDef(skillDefInfo); Skills.AddSecondarySkills(bodyPrefab, val, val2, val3); Skills.AddUnlockablesToFamily(bodyPrefab.GetComponent().secondary.skillFamily, default(UnlockableDef), LunarDragonUnlockables.wipSkillUnlockableDef, LunarDragonUnlockables.wipSkillUnlockableDef); } private static void AddUtilitySkills() { //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_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) Skills.CreateGenericSkillWithSkillFamily(bodyPrefab, (SkillSlot)2); SkillDefInfo skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "LunarDragonBurstThrusters"; skillDefInfo.skillNameToken = "MIYOWI_LunarDragon_UTILITY_BURST_THRUSTERS_NAME"; skillDefInfo.skillDescriptionToken = "MIYOWI_LunarDragon_UTILITY_BURST_THRUSTERS_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texUtility1Icon"); skillDefInfo.keywordTokens = new string[1] { "KEYWORD_HEAVY" }; skillDefInfo.activationState = new SerializableEntityStateType(typeof(BurstThrustersCharge)); skillDefInfo.activationStateMachineName = "Utility"; skillDefInfo.interruptPriority = (InterruptPriority)2; skillDefInfo.baseRechargeInterval = 2f; skillDefInfo.baseMaxStock = 1; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.dontAllowPastMaxStocks = false; skillDefInfo.mustKeyPress = true; skillDefInfo.beginSkillCooldownOnSkillEnd = true; skillDefInfo.isCombatSkill = false; skillDefInfo.canceledFromSprinting = false; skillDefInfo.cancelSprintingOnActivation = false; skillDefInfo.forceSprintDuringState = false; SkillDef val = Skills.CreateSkillDef(skillDefInfo); skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "LunarDragonFlowThrusters"; skillDefInfo.skillNameToken = "MIYOWI_LunarDragon_UTILITY_FLOW_THRUSTERS_NAME"; skillDefInfo.skillDescriptionToken = "MIYOWI_LunarDragon_UTILITY_FLOW_THRUSTERS_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texWIPIcon"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(FlowThrusters)); skillDefInfo.activationStateMachineName = "Body"; skillDefInfo.interruptPriority = (InterruptPriority)1; skillDefInfo.baseRechargeInterval = 7f; skillDefInfo.baseMaxStock = 1; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.dontAllowPastMaxStocks = false; skillDefInfo.mustKeyPress = false; skillDefInfo.beginSkillCooldownOnSkillEnd = true; skillDefInfo.isCombatSkill = false; skillDefInfo.canceledFromSprinting = false; skillDefInfo.cancelSprintingOnActivation = false; skillDefInfo.forceSprintDuringState = false; SkillDef val2 = Skills.CreateSkillDef(skillDefInfo); Skills.AddUtilitySkills(bodyPrefab, val, val2); Skills.AddUnlockablesToFamily(bodyPrefab.GetComponent().utility.skillFamily, default(UnlockableDef), LunarDragonUnlockables.wipSkillUnlockableDef); } private static void AddSpecialSkills() { //IL_0055: 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) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: 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) //IL_0112: Unknown result type (might be due to invalid IL or missing references) Skills.CreateGenericSkillWithSkillFamily(bodyPrefab, (SkillSlot)3); SkillDefInfo skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "LunarDragonAmbush"; skillDefInfo.skillNameToken = "MIYOWI_LunarDragon_SPECIAL_AMBUSH_NAME"; skillDefInfo.skillDescriptionToken = "MIYOWI_LunarDragon_SPECIAL_AMBUSH_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texSpecial1Icon"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(DracoAmbushAim)); skillDefInfo.activationStateMachineName = "Aim"; skillDefInfo.interruptPriority = (InterruptPriority)2; skillDefInfo.baseMaxStock = 1; skillDefInfo.baseRechargeInterval = 60f; skillDefInfo.stockToConsume = 0; skillDefInfo.beginSkillCooldownOnSkillEnd = true; skillDefInfo.isCombatSkill = true; skillDefInfo.mustKeyPress = true; skillDefInfo.canceledFromSprinting = false; skillDefInfo.cancelSprintingOnActivation = false; SkillDef val = Skills.CreateSkillDef(skillDefInfo); skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "LunarDragonRailgun"; skillDefInfo.skillNameToken = "MIYOWI_LunarDragon_SPECIAL_AMBUSH_NAME"; skillDefInfo.skillDescriptionToken = "MIYOWI_LunarDragon_SPECIAL_AMBUSH_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texWIPIcon"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(DracoAmbushAim)); skillDefInfo.activationStateMachineName = "Body"; skillDefInfo.interruptPriority = (InterruptPriority)1; skillDefInfo.baseMaxStock = 1; skillDefInfo.baseRechargeInterval = 10f; skillDefInfo.isCombatSkill = true; skillDefInfo.mustKeyPress = false; SkillDef val2 = Skills.CreateSkillDef(skillDefInfo); Skills.AddSpecialSkills(bodyPrefab, val, val2); Skills.AddUnlockablesToFamily(bodyPrefab.GetComponent().special.skillFamily, default(UnlockableDef), LunarDragonUnlockables.wipSkillUnlockableDef); } } } namespace LunarDragonMod.Characters.Survivors.LunarDragon.Components { public class EnableOnTimer : MonoBehaviour { public float duration; public GameObject target; public bool disableOnEnable = true; public bool resetOnEnable = true; private float stopwatch; private void Update() { if (stopwatch < duration) { stopwatch += Time.deltaTime; if (stopwatch > duration && Object.op_Implicit((Object)(object)target)) { target.SetActive(true); } } } private void OnEnable() { target.SetActive(!disableOnEnable); if (resetOnEnable) { stopwatch = 0f; } } } public class PlaySoundOnDelay : MonoBehaviour { public float delay = 1f; public string soundString; public bool resetOnEnable = true; private float stopwatch; private bool activated; private void OnEnable() { if (resetOnEnable) { stopwatch = 0f; activated = false; } } public void Update() { if (!activated) { stopwatch += Time.deltaTime; if (stopwatch >= delay) { Util.PlaySound(soundString, ((Component)this).gameObject); activated = true; } } } } public class ScaleLineToTracer : MonoBehaviour { public LineRenderer lineRenderer; public Tracer targetTracer; private void Start() { UpdatePositions(); } private void Update() { UpdatePositions(); } private void UpdatePositions() { //IL_003b: 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) if (Object.op_Implicit((Object)(object)lineRenderer) && Object.op_Implicit((Object)(object)targetTracer) && ((Behaviour)targetTracer).isActiveAndEnabled) { lineRenderer.SetPosition(0, targetTracer.startPos); lineRenderer.SetPosition(1, targetTracer.endPos); } } } public class ScaleOverTime : MonoBehaviour { public bool separateAxes; public bool resetOnEnable = true; public AnimationCurve combinedCurve; public AnimationCurve xCurve = null; public AnimationCurve yCurve = null; public AnimationCurve zCurve = null; private float stopwatch; private void Update() { //IL_0032: 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_008a: 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_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: 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_0125: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) stopwatch += Time.deltaTime; if (!separateAxes && combinedCurve != null) { ((Component)this).transform.localScale = Vector3.one * combinedCurve.Evaluate(stopwatch); return; } if (xCurve.length > 0) { ((Component)this).transform.localScale = new Vector3(xCurve.Evaluate(stopwatch), ((Component)this).transform.localScale.y, ((Component)this).transform.localScale.z); } if (yCurve.length > 0) { ((Component)this).transform.localScale = new Vector3(((Component)this).transform.localScale.x, yCurve.Evaluate(stopwatch), ((Component)this).transform.localScale.z); } if (zCurve.length > 0) { ((Component)this).transform.localScale = new Vector3(((Component)this).transform.localScale.x, ((Component)this).transform.localScale.y, zCurve.Evaluate(stopwatch)); } } private void OnEnable() { if (resetOnEnable) { stopwatch = 0f; } } } } namespace LunarDragonMod.Characters.Survivors.LunarMonster.Components { public class DragonSpawnCameraController : MonoBehaviour, ICameraStateProvider { public Transform modelTransform; public CharacterBody characterBody; public void Start() { modelTransform = ((Component)this).GetComponent().modelTransform; characterBody = ((Component)this).GetComponent(); UpdateCamera(); } public void Update() { UpdateCamera(); } void ICameraStateProvider.GetCameraState(CameraRigController cameraRigController, ref CameraState cameraState) { //IL_0007: 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_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0040: 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_0059: 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_007b: 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_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_008c: 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_0092: 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_00ad: 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) Vector3 val = ((Component)this).transform.position - ((Component)this).transform.forward * 20f + ((Component)this).transform.up * 5f; Vector3 val2 = default(Vector3); ((Vector3)(ref val2))..ctor(((Component)this).transform.position.x, modelTransform.position.y, ((Component)this).transform.position.z); cameraState = new CameraState { position = val, rotation = Quaternion.LookRotation(val2 - val, Vector3.up), fov = 60f }; } bool ICameraStateProvider.IsUserLookAllowed(CameraRigController cameraRigController) { return false; } bool ICameraStateProvider.IsUserControlAllowed(CameraRigController cameraRigController) { return false; } bool ICameraStateProvider.IsHudAllowed(CameraRigController cameraRigController) { return true; } private void UpdateCamera() { foreach (CameraRigController readOnlyInstances in CameraRigController.readOnlyInstancesList) { if (Object.op_Implicit((Object)(object)characterBody) && (Object)(object)readOnlyInstances.target == (Object)(object)((Component)characterBody).gameObject) { readOnlyInstances.SetOverrideCam((ICameraStateProvider)(object)this, 0f); } else if (readOnlyInstances.IsOverrideCam((ICameraStateProvider)(object)this)) { readOnlyInstances.SetOverrideCam((ICameraStateProvider)null, 0f); } } } } } namespace LunarDragonMod.Survivors.LunarDragon { public class AnimationCurveData : ScriptableObject { [SerializeField] public AnimationCurve xCurve; [SerializeField] public AnimationCurve yCurve; [SerializeField] public AnimationCurve zCurve; } public static class LunarDragonAI { public static void Init(GameObject bodyPrefab, string masterName) { //IL_003a: 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) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: 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_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_0124: 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_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01dd: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_0281: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Unknown result type (might be due to invalid IL or missing references) //IL_0315: Unknown result type (might be due to invalid IL or missing references) //IL_033d: Unknown result type (might be due to invalid IL or missing references) //IL_035d: Unknown result type (might be due to invalid IL or missing references) //IL_0371: Unknown result type (might be due to invalid IL or missing references) //IL_0379: Unknown result type (might be due to invalid IL or missing references) GameObject val = Prefabs.CreateBlankMasterPrefab(bodyPrefab, masterName); BaseAI component = val.GetComponent(); component.aimVectorDampTime = 0.1f; component.aimVectorMaxSpeed = 360f; AISkillDriver val2 = val.AddComponent(); val2.customName = "Use Utility"; val2.skillSlot = (SkillSlot)2; val2.requireSkillReady = true; val2.minDistance = 5f; val2.maxDistance = 200f; val2.selectionRequiresTargetLoS = true; val2.selectionRequiresOnGround = false; val2.selectionRequiresAimTarget = false; val2.maxTimesSelected = -1; val2.moveTargetType = (TargetType)0; val2.activationRequiresTargetLoS = false; val2.activationRequiresAimTargetLoS = false; val2.activationRequiresAimConfirmation = false; val2.movementType = (MovementType)2; val2.moveInputScale = 1f; val2.aimType = (AimType)1; val2.buttonPressType = (ButtonPressType)0; AISkillDriver val3 = val.AddComponent(); val3.customName = "Use Secondary"; val3.skillSlot = (SkillSlot)1; val3.requireSkillReady = true; val3.minDistance = 0f; val3.maxDistance = 60f; val3.selectionRequiresTargetLoS = false; val3.selectionRequiresOnGround = false; val3.selectionRequiresAimTarget = false; val3.maxTimesSelected = -1; val3.moveTargetType = (TargetType)0; val3.activationRequiresTargetLoS = false; val3.activationRequiresAimTargetLoS = false; val3.activationRequiresAimConfirmation = true; val3.movementType = (MovementType)1; val3.moveInputScale = 1f; val3.aimType = (AimType)1; val3.buttonPressType = (ButtonPressType)0; AISkillDriver val4 = val.AddComponent(); val4.customName = "Use Special"; val4.skillSlot = (SkillSlot)3; val4.requireSkillReady = true; val4.minDistance = 0f; val4.maxDistance = 100f; val4.selectionRequiresTargetLoS = false; val4.selectionRequiresOnGround = false; val4.selectionRequiresAimTarget = false; val4.maxTimesSelected = -1; val4.moveTargetType = (TargetType)0; val4.activationRequiresTargetLoS = false; val4.activationRequiresAimTargetLoS = false; val4.activationRequiresAimConfirmation = false; val4.movementType = (MovementType)1; val4.moveInputScale = 1f; val4.aimType = (AimType)1; val4.buttonPressType = (ButtonPressType)0; AISkillDriver val5 = val.AddComponent(); val5.customName = "Use Primary"; val5.skillSlot = (SkillSlot)0; val5.requiredSkill = null; val5.requireSkillReady = false; val5.requireEquipmentReady = false; val5.minUserHealthFraction = float.NegativeInfinity; val5.maxUserHealthFraction = float.PositiveInfinity; val5.minTargetHealthFraction = float.NegativeInfinity; val5.maxTargetHealthFraction = float.PositiveInfinity; val5.minDistance = 0f; val5.maxDistance = 200f; val5.selectionRequiresTargetLoS = false; val5.selectionRequiresOnGround = false; val5.selectionRequiresAimTarget = false; val5.maxTimesSelected = -1; val5.moveTargetType = (TargetType)0; val5.activationRequiresTargetLoS = false; val5.activationRequiresAimTargetLoS = false; val5.activationRequiresAimConfirmation = false; val5.movementType = (MovementType)1; val5.moveInputScale = 1f; val5.aimType = (AimType)1; val5.ignoreNodeGraph = false; val5.shouldSprint = false; val5.shouldFireEquipment = false; val5.buttonPressType = (ButtonPressType)0; val5.driverUpdateTimerOverride = -1f; val5.resetCurrentEnemyOnNextDriverSelection = false; val5.noRepeat = false; val5.nextHighPriorityOverride = null; AISkillDriver val6 = val.AddComponent(); val6.customName = "Chase"; val6.skillSlot = (SkillSlot)(-1); val6.requireSkillReady = false; val6.minDistance = 0f; val6.maxDistance = float.PositiveInfinity; val6.moveTargetType = (TargetType)0; val6.activationRequiresTargetLoS = false; val6.activationRequiresAimTargetLoS = false; val6.activationRequiresAimConfirmation = false; val6.movementType = (MovementType)1; val6.moveInputScale = 1f; val6.aimType = (AimType)1; val6.buttonPressType = (ButtonPressType)0; } } public static class LunarDragonAnimationParameters { public static readonly int isHovering = Animator.StringToHash("isHovering"); public static readonly int forceIdle = Animator.StringToHash("forceIdle"); } public static class LunarDragonAssets { public static AssetBundle assetBundle; public static GameObject jetEffectPrefab; public static GameObject fireballPrefab; public static GameObject fireballGhostPrefab; public static GameObject fireballImpactPrefab; public static GameObject iceballPrefab; public static GameObject iceballImpactPrefab; public static GameObject iceballMuzzlePrefab; public static GameObject heavyFireballPrefab; public static GameObject heavyFireballMuzzlePrefab; public static GameObject heavyFireballImpactPrefab; public static GameObject heavyFireballPlumePrefab; public static GameObject heavyFireballPlumeLargePrefab; public static GameObject plumeShakeSFX; public static GameObject heavyIceballPrefab; public static GameObject heavyPlasmaballPrefab; public static GameObject laserTracerPrefab; public static GameObject laserMuzzlePrefab; public static GameObject laserHitEffectPrefab; public static GameObject utilitySmokeEffect; public static GameObject utilityDashLightEffect; public static GameObject utilityDashMediumEffect; public static GameObject utilityDashHeavyEffect; public static GameObject fireTrailPrefab; public static GameObject impactDecalBase; public static Material iceDecalMaterial; public static GameObject displayEffectPrefab; public static GameObject specialLiftoffSmokeEffect; public static GameObject specialLiftoffExplosionEffect; public static GameObject specialAscendingFireEffect; public static GameObject specialLandingExplosionEffect; public static AnimationCurveData specialAmbushRisingData; public static AnimationCurveData specialAmbushDescendingData; public static SpeechInfo[] seeDragonResponses; public static SpeechInfo[] killDragonResponses; public static SpeechInfo[] killHurtDragonResponses; internal static void LoadAssetBundle(string bundleName) { try { using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("LunarDragonMod." + bundleName)) { if (stream != null) { assetBundle = AssetBundle.LoadFromStream(stream); } } if ((Object)(object)assetBundle == (Object)null) { Log.Error("Couldn't find asset bundle!"); } } catch (Exception arg) { Log.Error($"Error loading asset bundle '{bundleName}'.\n{arg}"); } } public static void Init() { LoadAssetBundle("mwmwlunardragonbundle"); ((MonoBehaviour)LunarDragonPlugin.instance).StartCoroutine(ShaderSwapper.UpgradeStubbedShadersAsync(assetBundle)); TryBuildAsset("Impact Decal Base", CreateImpactDecalBase); TryBuildAsset("Jet Effect", CreateJetEffect); TryBuildAsset("Primary Fireball", CreateFireball); TryBuildAsset("Secondary Fireball", CreateHeavyFireball); TryBuildAsset("Primary Iceball", CreateIceball); TryBuildAsset("Secondary Iceball", CreateHeavyIceball); TryBuildAsset("Primary Laser", CreateLaser); TryBuildAsset("Secondary Plasmaball", CreateHeavyPlasmaball); TryBuildAsset("Utility Smoke", CreateDashSmoke); TryBuildAsset("Utility Dash Explosions", CreateDashExplosions); TryBuildAsset("Utility Fire Trail", CreateFireTrail); TryBuildAsset("Display Effect", CreateDisplayEffect); TryBuildAsset("Special Liftoff Effects", CreateAmbushLiftoffEffects); TryBuildAsset("Special Ascending Effects", CreateAmbushAscendingEffects); TryBuildAsset("Special Landing Effects", CreateAmbushLandingEffects); TryBuildAsset("Special Motion Data", GetAmbushMotionData); TryBuildAsset("Mithrix Dialogue", CreateMithrixDialogue); } private static void TryBuildAsset(string assetName, Action buildAction) { try { buildAction(); } catch (Exception arg) { Log.Warning($"Failed to complete building asset {assetName}!\n\n{arg}"); } } private static void CreateImpactDecalBase() { impactDecalBase = PrefabAPI.CreateEmptyPrefab("ImpactDecal", false); TryBuildAsset("Impact Decal Components", delegate { //IL_0028: 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_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: 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_00c9: 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_00dd: Expected O, but got Unknown MeshRenderer val = impactDecalBase.AddComponent(); ((Renderer)val).sharedMaterials = (Material[])(object)new Material[0]; impactDecalBase.AddComponent().sharedMesh = Addressables.LoadAssetAsync((object)Decalicious.DecalCube_asset).WaitForCompletion(); impactDecalBase.AddComponent().setRandomYRotation = true; Decal val2 = impactDecalBase.AddComponent(); val2.Fade = 1f; val2.Material = Addressables.LoadAssetAsync((object)RoR2_Base_SurvivorPod.matPodImpactDecal_mat).WaitForCompletion(); AnimateShaderAlpha val3 = impactDecalBase.AddComponent(); val3.decal = val2; val3.alphaCurve = new AnimationCurve((Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 1f, 0f, -5f), new Keyframe(3f, 0f, 0f, 0f) }); }); } private static void CreateJetEffect() { //IL_002a: 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) jetEffectPrefab = PrefabAPI.CreateEmptyPrefab("JetEffect", false); jetEffectPrefab.transform.localScale = new Vector3(0.1834f, 0.1834f, 1.572f); jetEffectPrefab.transform.eulerAngles = new Vector3(0f, 90f, 0f); TryBuildAsset("Jet Effect Components", delegate { //IL_0006: 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_0043: 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) GameObject val = Object.Instantiate(((Component)Addressables.LoadAssetAsync((object)RoR2_Base_Mage.MageBody_prefab).WaitForCompletion().GetComponent() .modelChildLocator.FindChild("JetOn")).gameObject, jetEffectPrefab.transform, false); val.transform.localPosition = Vector3.zero; ((Object)val.gameObject).name = "JetSFX"; val.SetActive(true); Object.Destroy((Object)(object)((Component)val.transform.Find("JetsL")).gameObject); ((Object)((Component)val.transform.Find("JetsR")).gameObject).name = "MainJet"; for (int num = val.transform.childCount - 1; num >= 0; num--) { Transform child = val.transform.GetChild(num); child.localPosition = Vector3.zero; child.SetParent(jetEffectPrefab.transform, false); } }); } private static void CreateFireball() { //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) fireballPrefab = assetBundle.LoadAsset("FireballProjectile"); fireballGhostPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Mage.MageLightningBombGhost_prefab).WaitForCompletion(), "DragonFireballGhost", false); TryBuildAsset("Primary Fireball Ghost", delegate { //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_0077: 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_00aa: 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_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Expected O, but got Unknown //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_013c: 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_0199: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) Object.Destroy((Object)(object)((Component)fireballGhostPrefab.transform.Find("Sparks, Trail")).gameObject); Object.Destroy((Object)(object)((Component)fireballGhostPrefab.transform.Find("Point light")).gameObject); GameObject gameObject = ((Component)fireballGhostPrefab.transform.Find("Base")).gameObject; ParticleSystemRenderer component = gameObject.GetComponent(); Material val = new Material(((Renderer)component).sharedMaterial); val.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_Base_Common_ColorRamps.texRampMageFire_png).WaitForCompletion()); val.SetFloat("_AlphaBoost", 5.7f); ((Renderer)component).sharedMaterial = val; gameObject.transform.localScale = Vector3.one * 3f; GameObject gameObject2 = ((Component)fireballGhostPrefab.transform.Find("OrbCore")).gameObject; MeshRenderer component2 = gameObject2.GetComponent(); Material val2 = new Material(Addressables.LoadAssetAsync((object)RoR2_DLC2_Child.matChildStarCore_mat).WaitForCompletion()); val2.SetColor("_TintColor", new Color(1f, 0.74f, 0f)); val2.renderQueue += 1; ((Renderer)component2).sharedMaterial = val2; gameObject2.transform.localScale = Vector3.one; GameObject val3 = Object.Instantiate(Addressables.LoadAssetAsync((object)RoR2_Base_Lemurian.FireballGhost_prefab).WaitForCompletion(), fireballGhostPrefab.transform); Object.Destroy((Object)(object)val3.GetComponent()); Object.Destroy((Object)(object)val3.GetComponent()); Object.Destroy((Object)(object)val3.GetComponent()); val3.transform.localScale = Vector3.one * 1.8f; ((Component)val3.transform.Find("Point light")).GetComponent().range = 8f; val3.transform.localPosition = Vector3.zero; }); fireballPrefab.GetComponent().ghostPrefab = fireballGhostPrefab; TryBuildAsset("Primary Fireball Impact Explosion", delegate { //IL_0006: 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_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Expected O, but got Unknown //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_008e: 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) fireballImpactPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_LemurianBruiser.OmniExplosionVFXLemurianBruiserFireballImpact_prefab).WaitForCompletion(), "DragonFireballImpact", false); GameObject val = Object.Instantiate(impactDecalBase, fireballImpactPrefab.transform, false); Material val2 = new Material(Addressables.LoadAssetAsync((object)RoR2_DLC2_Chef.matChefOilPoolFireDecal_mat).WaitForCompletion()); val2.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_Base_Common_ColorRamps.texRampDroneFire_png).WaitForCompletion()); val.GetComponent().Material = val2; ((Object)val).name = "FireImpactDecal"; val.transform.localScale = Vector3.one * 0.8f; }); fireballPrefab.GetComponent().impactEffect = fireballImpactPrefab; Content.CreateAndAddEffectDef(fireballImpactPrefab); Content.AddProjectilePrefab(fireballPrefab); } private static void CreateIceball() { //IL_0021: 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_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) iceballPrefab = assetBundle.LoadAsset("IceballProjectile"); GameObject dragonIceballGhost = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Mage.MageIceBombGhost_prefab).WaitForCompletion(), "DragonIceballGhost", false); TryBuildAsset("Primary Iceball Ghost", delegate { //IL_0022: 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_007e: 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) GameObject gameObject = ((Component)dragonIceballGhost.transform.Find("OrbCore")).gameObject; gameObject.transform.localScale = Vector3.one * 0.5f; ((Component)dragonIceballGhost.transform.Find("Beams")).gameObject.SetActive(true); ((Component)dragonIceballGhost.transform.Find("Base")).gameObject.SetActive(true); iceballMuzzlePrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Mage.MageIceExplosion_prefab).WaitForCompletion(), "IceCannonMuzzleVFX", false); iceballMuzzlePrefab.GetComponent().parentToReferencedTransform = false; Object.Destroy((Object)(object)((Component)iceballMuzzlePrefab.transform.Find("IceMesh")).gameObject); Object.Destroy((Object)(object)((Component)iceballMuzzlePrefab.transform.Find("RuneRings")).gameObject); }); Content.CreateAndAddEffectDef(iceballMuzzlePrefab); iceballPrefab.GetComponent().ghostPrefab = dragonIceballGhost; iceballImpactPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_DLC2_Chef.BoostedProjectileExplosionVFX_prefab).WaitForCompletion(), "IceBallExplosionVFX", false); TryBuildAsset("Primary Iceball Impact Explosion", delegate { //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_003a: 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_0043: 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_0077: 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_009b: 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_0154: Expected O, but got Unknown //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) foreach (Transform item in iceballImpactPrefab.transform.Find("Dash, Bright")) { Transform val = item; ParticleSystem component = ((Component)val).GetComponent(); MainModule main = component.main; val.localScale = Vector3.one * 0.5f; if (((Object)val).name == "Ring") { ((MainModule)(ref main)).startSizeX = new MinMaxCurve(6f); ((MainModule)(ref main)).startSizeY = new MinMaxCurve(6f); ((MainModule)(ref main)).startSizeZ = new MinMaxCurve(3f); ((Component)val).GetComponent().alignment = (ParticleSystemRenderSpace)1; } else { ((MainModule)(ref main)).startSizeMultiplier = 0.5f; } } ShakeEmitter component2 = iceballImpactPrefab.GetComponent(); component2.wave.amplitude = 0.2f; component2.wave.frequency = 12f; component2.duration = 0.15f; component2.radius = 120f; GameObject val2 = Object.Instantiate(impactDecalBase, iceballImpactPrefab.transform, false); Decal component3 = val2.GetComponent(); iceDecalMaterial = new Material(component3.Material); iceDecalMaterial.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_Base_Common_ColorRamps.texRampIce_png).WaitForCompletion()); iceDecalMaterial.SetColor("_Color", new Color(1f, 1f, 1f, 0.28f)); component3.Material = iceDecalMaterial; ((Object)val2).name = "IceImpactDecal"; val2.transform.localScale = Vector3.one * 10f; }); Content.CreateAndAddEffectDef(iceballImpactPrefab); iceballPrefab.GetComponent().impactEffect = iceballImpactPrefab; Content.AddProjectilePrefab(iceballPrefab); } private static void CreateHeavyFireball() { //IL_007c: 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_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) heavyFireballPrefab = assetBundle.LoadAsset("HeavyFireballProjectile"); GameObject val = assetBundle.LoadAsset("FireballEruption"); GameObject heavyFireballGhost = PrefabAPI.InstantiateClone(fireballPrefab.GetComponent().ghostPrefab, "DragonFireballHeavyGhost", false); TryBuildAsset("Secondary Fireball Ghost", delegate { //IL_000c: 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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0073: 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_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Expected O, but got Unknown //IL_00d2: 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_0128: 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_0156: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) heavyFireballGhost.transform.localScale = Vector3.one * 1.5f; MeshRenderer component = ((Component)heavyFireballGhost.transform.Find("OrbCore")).GetComponent(); Material val2 = new Material(((Renderer)component).sharedMaterial); val2.SetColor("_TintColor", new Color(0f, 0.9f, 1f)); val2.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC3_SolusAmalgamator.texRampSolusBlueFlame_png).WaitForCompletion()); val2.SetFloat("_AlphaBoost", 6f); ((Renderer)component).sharedMaterial = val2; ParticleSystemRenderer component2 = ((Component)heavyFireballGhost.transform.Find("Base")).GetComponent(); Material val3 = new Material(((Renderer)component2).sharedMaterial); val3.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC2_Items_SpeedBoostPickup.texElusiveAntlersRamp_png).WaitForCompletion()); val3.SetFloat("_AlphaBoost", 7f); ((Renderer)component2).sharedMaterial = val3; ((Component)heavyFireballGhost.transform.Find("FireballGhost(Clone)/Point light")).GetComponent().color = new Color(0f, 0.8f, 1f); Transform val4 = heavyFireballGhost.transform.Find("FireballGhost(Clone)/Flames"); val4.localScale = Vector3.one * 1.5f; ColorOverLifetimeModule colorOverLifetime = ((Component)val4).GetComponent().colorOverLifetime; MinMaxGradient color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; Gradient gradient = ((MinMaxGradient)(ref color)).gradient; GradientColorKey[] colorKeys = gradient.colorKeys; colorKeys[0] = new GradientColorKey(new Color(0.02f, 0.7f, 1f), colorKeys[0].time); colorKeys[1] = new GradientColorKey(new Color(0.02f, 0.23f, 0.91f), colorKeys[1].time); gradient.colorKeys = colorKeys; ((ColorOverLifetimeModule)(ref colorOverLifetime)).color = new MinMaxGradient(gradient); Object.Destroy((Object)(object)((Component)heavyFireballGhost.transform.Find("Sparks, Trail")).gameObject); GameObject val5 = Object.Instantiate(Addressables.LoadAssetAsync((object)RoR2_DLC2_Chef.BoostedSearFireballGhost_prefab).WaitForCompletion()); val5.transform.Find("Particles/FireOutter").SetParent(heavyFireballGhost.transform, false); Object.Destroy((Object)(object)val5); }); heavyFireballPrefab.GetComponent().ghostPrefab = heavyFireballGhost; heavyFireballMuzzlePrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Common_VFX.OmniExplosionVFXQuick_prefab).WaitForCompletion(), "FireballHeavyMuzzleVFX", false); TryBuildAsset("Secondary Fireball Muzzle VFX", delegate { //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_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown //IL_0051: 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_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Expected O, but got Unknown //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: 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) heavyFireballMuzzlePrefab.transform.localScale = Vector3.one * 1.5f; ParticleSystemRenderer component = ((Component)heavyFireballMuzzlePrefab.transform.Find("ScaledHitsparks 1")).GetComponent(); Material val2 = new Material(((Renderer)component).sharedMaterial); val2.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC2_Items_SpeedBoostPickup.texSpeedBoostPickupThornRamp_png).WaitForCompletion()); ((Renderer)component).sharedMaterial = val2; component = ((Component)heavyFireballMuzzlePrefab.transform.Find("Unscaled Flames")).GetComponent(); Material val3 = new Material(((Renderer)component).sharedMaterial); val3.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC2_Items_SpeedBoostPickup.texSpeedBoostPickupThornRamp_png).WaitForCompletion()); ((Renderer)component).sharedMaterial = val3; ((Component)heavyFireballMuzzlePrefab.transform.Find("Point Light")).GetComponent().color = new Color(0f, 0.8f, 1f); }); Content.CreateAndAddEffectDef(heavyFireballMuzzlePrefab); heavyFireballImpactPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_LemurianBruiser.OmniExplosionVFXLemurianBruiserFireballImpact_prefab).WaitForCompletion(), "FireballHeavyImpactVFX", false); TryBuildAsset("Secondary Fireball Impact VFX", delegate { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown //IL_0051: 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_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: 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_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: 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_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_010d: 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_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01e4: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_020d: Unknown result type (might be due to invalid IL or missing references) //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_024d: Unknown result type (might be due to invalid IL or missing references) //IL_0252: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_028e: Unknown result type (might be due to invalid IL or missing references) //IL_0295: Expected O, but got Unknown //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_02ef: 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_0308: Unknown result type (might be due to invalid IL or missing references) //IL_032c: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0339: Unknown result type (might be due to invalid IL or missing references) //IL_035d: Unknown result type (might be due to invalid IL or missing references) //IL_036f: Unknown result type (might be due to invalid IL or missing references) //IL_0374: Unknown result type (might be due to invalid IL or missing references) //IL_038b: Unknown result type (might be due to invalid IL or missing references) //IL_039d: Unknown result type (might be due to invalid IL or missing references) //IL_03a2: Unknown result type (might be due to invalid IL or missing references) //IL_03b3: Unknown result type (might be due to invalid IL or missing references) //IL_03de: Unknown result type (might be due to invalid IL or missing references) //IL_03e5: Expected O, but got Unknown //IL_03f1: Unknown result type (might be due to invalid IL or missing references) //IL_03f6: Unknown result type (might be due to invalid IL or missing references) //IL_0427: Unknown result type (might be due to invalid IL or missing references) //IL_042c: Unknown result type (might be due to invalid IL or missing references) //IL_043f: Unknown result type (might be due to invalid IL or missing references) //IL_0444: Unknown result type (might be due to invalid IL or missing references) //IL_0477: Unknown result type (might be due to invalid IL or missing references) Object.Destroy((Object)(object)((Component)heavyFireballImpactPrefab.transform.Find("ScaledHitsparks 1")).gameObject); ParticleSystemRenderer component = ((Component)heavyFireballImpactPrefab.transform.Find("UnscaledHitsparks 1")).GetComponent(); Material val2 = new Material(((Renderer)component).sharedMaterial); val2.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC2_Items_SpeedBoostPickup.texSpeedBoostPickupThornRamp_png).WaitForCompletion()); ((Renderer)component).sharedMaterial = val2; ColorOverLifetimeModule colorOverLifetime = ((Component)heavyFireballImpactPrefab.transform.Find("ScaledSmoke, Billboard")).GetComponent().colorOverLifetime; MinMaxGradient color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; Gradient gradient = ((MinMaxGradient)(ref color)).gradient; GradientColorKey[] colorKeys = gradient.colorKeys; colorKeys[0] = new GradientColorKey(new Color(0.62f, 0.8f, 1f), colorKeys[0].time); colorKeys[1] = new GradientColorKey(new Color(0.38f, 0.44f, 0.64f), colorKeys[1].time); gradient.colorKeys = colorKeys; ((ColorOverLifetimeModule)(ref colorOverLifetime)).color = new MinMaxGradient(gradient); colorOverLifetime = ((Component)heavyFireballImpactPrefab.transform.Find("ScaledSmokeRing, Mesh")).GetComponent().colorOverLifetime; color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; gradient = ((MinMaxGradient)(ref color)).gradient; colorKeys = gradient.colorKeys; colorKeys[0] = new GradientColorKey(new Color(0.62f, 0.8f, 1f), colorKeys[0].time); colorKeys[1] = new GradientColorKey(new Color(0.38f, 0.44f, 0.64f), colorKeys[1].time); gradient.colorKeys = colorKeys; ((ColorOverLifetimeModule)(ref colorOverLifetime)).color = new MinMaxGradient(gradient); colorOverLifetime = ((Component)heavyFireballImpactPrefab.transform.Find("Unscaled Smoke, Billboard")).GetComponent().colorOverLifetime; color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; gradient = ((MinMaxGradient)(ref color)).gradient; colorKeys = gradient.colorKeys; colorKeys[0] = new GradientColorKey(new Color(0.62f, 0.8f, 1f), colorKeys[0].time); colorKeys[1] = new GradientColorKey(new Color(0.38f, 0.44f, 0.64f), colorKeys[1].time); gradient.colorKeys = colorKeys; ((ColorOverLifetimeModule)(ref colorOverLifetime)).color = new MinMaxGradient(gradient); component = ((Component)heavyFireballImpactPrefab.transform.Find("AreaIndicatorRing, Billboard")).GetComponent(); Material val3 = new Material(((Renderer)component).sharedMaterial); val3.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC2_Items_SpeedBoostPickup.texSpeedBoostPickupThornRamp_png).WaitForCompletion()); ((Renderer)component).sharedMaterial = val3; MainModule main = ((Component)heavyFireballImpactPrefab.transform.Find("Physics Sparks")).GetComponent().main; ((MainModule)(ref main)).startColor = new MinMaxGradient(new Color(0f, 0.41f, 0.72f), new Color(0.05f, 0.64f, 0.8f)); colorOverLifetime = ((Component)heavyFireballImpactPrefab.transform.Find("Flash, Soft Glow")).GetComponent().colorOverLifetime; color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; gradient = ((MinMaxGradient)(ref color)).gradient; colorKeys = gradient.colorKeys; colorKeys[0] = new GradientColorKey(new Color(0.62f, 0.8f, 1f), colorKeys[0].time); colorKeys[1] = new GradientColorKey(new Color(0.38f, 0.44f, 0.64f), colorKeys[1].time); gradient.colorKeys = colorKeys; ((ColorOverLifetimeModule)(ref colorOverLifetime)).color = new MinMaxGradient(gradient); component = ((Component)heavyFireballImpactPrefab.transform.Find("Unscaled Flames")).GetComponent(); Material val4 = new Material(((Renderer)component).sharedMaterial); val4.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC2_Items_SpeedBoostPickup.texSpeedBoostPickupThornRamp_png).WaitForCompletion()); ((Renderer)component).sharedMaterial = val4; main = ((Component)heavyFireballImpactPrefab.transform.Find("Dash, Bright")).GetComponent().main; ((MainModule)(ref main)).startColor = new MinMaxGradient(new Color(0f, 0.32f, 0.58f)); ((Component)heavyFireballImpactPrefab.transform.Find("Point Light")).GetComponent().color = new Color(0f, 0.42f, 0.81f); }); Content.CreateAndAddEffectDef(heavyFireballImpactPrefab); heavyFireballPrefab.GetComponent().impactEffect = heavyFireballImpactPrefab; heavyFireballPlumePrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_DLC2_Scorchling.VFXScorchlingBurrowing_prefab).WaitForCompletion(), "FireballHeavyPlumeVFX", false); TryBuildAsset("Secondary Fireball Plume VFX", delegate { //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0045: 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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0086: 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_00af: 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_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Expected O, but got Unknown //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0130: 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) //IL_0162: 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_018f: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Expected O, but got Unknown //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_0267: 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_0276: Expected O, but got Unknown //IL_028c: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Expected O, but got Unknown //IL_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02e2: Unknown result type (might be due to invalid IL or missing references) //IL_0321: Unknown result type (might be due to invalid IL or missing references) //IL_0326: Unknown result type (might be due to invalid IL or missing references) //IL_03c2: Unknown result type (might be due to invalid IL or missing references) //IL_03c7: Unknown result type (might be due to invalid IL or missing references) //IL_03d8: Unknown result type (might be due to invalid IL or missing references) //IL_03dd: Unknown result type (might be due to invalid IL or missing references) //IL_03e5: Unknown result type (might be due to invalid IL or missing references) //IL_0405: Unknown result type (might be due to invalid IL or missing references) //IL_041c: Unknown result type (might be due to invalid IL or missing references) //IL_0433: Unknown result type (might be due to invalid IL or missing references) //IL_0445: Unknown result type (might be due to invalid IL or missing references) //IL_049a: Unknown result type (might be due to invalid IL or missing references) //IL_049f: Unknown result type (might be due to invalid IL or missing references) //IL_04ba: Unknown result type (might be due to invalid IL or missing references) //IL_04bf: Unknown result type (might be due to invalid IL or missing references) //IL_04c4: Unknown result type (might be due to invalid IL or missing references) //IL_04ce: Expected O, but got Unknown //IL_04d3: Unknown result type (might be due to invalid IL or missing references) //IL_04d8: Unknown result type (might be due to invalid IL or missing references) //IL_04e1: Unknown result type (might be due to invalid IL or missing references) //IL_04e8: Expected O, but got Unknown //IL_04f4: Unknown result type (might be due to invalid IL or missing references) //IL_04f9: Unknown result type (might be due to invalid IL or missing references) //IL_052a: Unknown result type (might be due to invalid IL or missing references) //IL_0534: Unknown result type (might be due to invalid IL or missing references) Object.Destroy((Object)(object)heavyFireballPlumePrefab.GetComponent()); heavyFireballPlumePrefab.AddComponent().duration = 2f; Transform val2 = heavyFireballPlumePrefab.transform.Find("ParticleLoop/Sparks"); val2.localScale = Vector3.one * 1.5f; MainModule main = ((Component)val2).GetComponent().main; ((MainModule)(ref main)).startColor = new MinMaxGradient(new Color(0f, 0.67f, 0.75f), new Color(0f, 0.14f, 1f)); heavyFireballPlumePrefab.transform.Find("ParticleLoop/Debris, 3D").localScale = Vector3.one * 1.5f; Transform val3 = heavyFireballPlumePrefab.transform.Find("ParticleLoop/Magma, Billboard"); val3.localScale = Vector3.one * 1.5f; ParticleSystemRenderer component = ((Component)val3).GetComponent(); Material val4 = new Material(((Renderer)component).sharedMaterial); val4.SetColor("_TintColor", new Color(0.06f, 1f, 0.93f)); val4.SetColor("_EmissionColor", new Color(0f, 0.35f, 1f)); ((Renderer)component).sharedMaterial = val4; heavyFireballPlumePrefab.transform.Find("ParticleLoop/Dust, Billboard").localScale = Vector3.one * 1.5f; Transform val5 = heavyFireballPlumePrefab.transform.Find("ParticleLoop/DirtMounts"); val5.localScale = Vector3.one * 3f; component = ((Component)val5).GetComponent(); Material val6 = new Material(((Renderer)component).sharedMaterial); val6.SetTexture("_FlowHeightRamp", Addressables.LoadAssetAsync((object)RoR2_Base_Common_ColorRamps.texRampLunarWispFire_png).WaitForCompletion()); val6.SetTexture("_GreenChannelTex", Addressables.LoadAssetAsync((object)RoR2_Base_skymeadow.texSMRockSide3_png).WaitForCompletion()); ((Renderer)component).sharedMaterial = val6; LightIntensityCurve val7 = ((Component)heavyFireballPlumePrefab.transform.Find("ParticleLoop/Point Light")).gameObject.AddComponent(); val7.timeMax = 0.5f; val7.curve = new AnimationCurve((Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 1f, 0f, 0f), new Keyframe(1f, 0f, -5f, 0f) }); ((Component)val7).GetComponent().color = new Color(0.14f, 0.4f, 1f); foreach (Transform item in heavyFireballPlumePrefab.transform.Find("ParticleLoop")) { Transform val8 = item; ParticleSystem component2 = ((Component)val8).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { main = component2.main; ((MainModule)(ref main)).duration = 0.25f; ((MainModule)(ref main)).loop = false; } } GameObject val9 = Object.Instantiate(Addressables.LoadAssetAsync((object)RoR2_Base_LunarWisp.LunarWispTrackingBombExplosion_prefab).WaitForCompletion()); Transform val10 = val9.transform.Find("InitialBurst"); val10.SetParent(heavyFireballPlumePrefab.transform, false); Object.Destroy((Object)(object)val9); Object.Destroy((Object)(object)((Component)val10.Find("Point light")).gameObject); Object.Destroy((Object)(object)((Component)val10.Find("Ring_Ps")).gameObject); Object.Destroy((Object)(object)((Component)val10.Find("Sparks_Ps")).gameObject); Transform val11 = val10.Find("Flames_Ps"); ParticleSystem component3 = ((Component)val11).GetComponent(); ShapeModule shape = component3.shape; ((ShapeModule)(ref shape)).radius = 10f; main = component3.main; ((MainModule)(ref main)).startDelay = MinMaxCurve.op_Implicit(0f); ((MainModule)(ref main)).startSize3D = true; ((MainModule)(ref main)).startSizeX = new MinMaxCurve(5f, 10f); ((MainModule)(ref main)).startSizeY = new MinMaxCurve(10f, 15f); ((MainModule)(ref main)).startSizeZ = new MinMaxCurve(5f, 10f); ((MainModule)(ref main)).startRotation = MinMaxCurve.op_Implicit(0f); GameObject val12 = Object.Instantiate(impactDecalBase, heavyFireballPlumePrefab.transform, false); AnimateShaderAlpha component4 = val12.GetComponent(); component4.timeMax = 3f; component4.alphaCurve = new AnimationCurve((Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 1f, 0f, -5f), new Keyframe(1f, 0f, 0f, 0f) }); Material val13 = new Material(Addressables.LoadAssetAsync((object)RoR2_DLC2_Chef.matChefOilPoolFireDecal_mat).WaitForCompletion()); val13.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_Base_Common_ColorRamps.texRampLunarWispFire_png).WaitForCompletion()); val12.GetComponent().Material = val13; ((Object)val12).name = "LunarFireImpactDecal"; val12.transform.localScale = Vector3.one * 8f; }); Content.CreateAndAddEffectDef(heavyFireballPlumePrefab); plumeShakeSFX = PrefabAPI.CreateEmptyPrefab("FireballHeavyPlume Shake, SFX", true); TryBuildAsset("Secondary Fireball Plume Shake, SFX", delegate { //IL_002b: 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) EffectComponent val2 = plumeShakeSFX.AddComponent(); val2.applyScale = true; val2.soundName = "Play_lunar_wisp_attack2_explode"; VFXAttributes val3 = plumeShakeSFX.AddComponent(); val3.vfxIntensity = (VFXIntensity)0; val3.vfxPriority = (VFXPriority)2; plumeShakeSFX.AddComponent().duration = 2f; ShakeEmitter val4 = plumeShakeSFX.AddComponent(); val4.wave.amplitude = 0.6f; val4.wave.frequency = 20f; val4.duration = 0.5f; val4.radius = 80f; val4.scaleShakeRadiusWithLocalScale = true; val4.amplitudeTimeDecay = true; }); Content.CreateAndAddEffectDef(plumeShakeSFX); heavyFireballPlumeLargePrefab = PrefabAPI.InstantiateClone(heavyFireballPlumePrefab, "FireballHeavyPlumeLargeVFX", false); TryBuildAsset("Secondary Fireball Plume Large VFX", delegate { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0072: 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_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: 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_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Expected O, but got Unknown //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) Object.Destroy((Object)(object)((Component)heavyFireballPlumeLargePrefab.transform.Find("LunarFireImpactDecal")).gameObject); heavyFireballPlumePrefab.GetComponent().duration = 5f; heavyFireballPlumeLargePrefab.transform.Find("ParticleLoop/Debris, 3D").localScale = Vector3.one * 2f; Transform obj = heavyFireballPlumeLargePrefab.transform.Find("ParticleLoop/DirtMounts"); obj.localScale *= 2f; Transform val2 = heavyFireballPlumeLargePrefab.transform.Find("InitialBurst/Flames_Ps"); ParticleSystem component = ((Component)val2).GetComponent(); MainModule main = component.main; ((MainModule)(ref main)).startSizeX = new MinMaxCurve(8f, 12f); ((MainModule)(ref main)).startSizeY = new MinMaxCurve(16f, 24f); ((MainModule)(ref main)).startSizeZ = new MinMaxCurve(8f, 12f); GameObject val3 = Object.Instantiate(impactDecalBase, heavyFireballPlumeLargePrefab.transform, false); Material val4 = new Material(Addressables.LoadAssetAsync((object)RoR2_DLC2_Chef.matChefOilPoolFireDecal_mat).WaitForCompletion()); val4.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_Base_Common_ColorRamps.texRampLunarWispFire_png).WaitForCompletion()); val3.GetComponent().Material = val4; ((Object)val3).name = "LunarFireImpactDecalLarge"; val3.transform.localScale = Vector3.one * 20f; }); Content.CreateAndAddEffectDef(heavyFireballPlumeLargePrefab); PrefabAPI.RegisterNetworkPrefab(heavyFireballPrefab); Content.AddProjectilePrefab(heavyFireballPrefab); PrefabAPI.RegisterNetworkPrefab(val); Content.AddProjectilePrefab(val); } private static void CreateHeavyIceball() { heavyIceballPrefab = assetBundle.LoadAsset("HeavyIceballProjectile"); Content.AddProjectilePrefab(heavyIceballPrefab); } private static void CreateHeavyPlasmaball() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) heavyPlasmaballPrefab = assetBundle.LoadAsset("HeavyPlasmaballProjectile"); DamageAPI.AddModdedDamageType(ref heavyPlasmaballPrefab.GetComponent().damageType, Stun3s.damageType); Content.AddProjectilePrefab(heavyPlasmaballPrefab); } private static void CreateLaser() { //IL_0006: 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_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: 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) laserTracerPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Toolbot.TracerToolbotRebar_prefab).WaitForCompletion(), "DragonLaserTracer", false); TryBuildAsset("Primary Laser Tracer", delegate { //IL_0065: 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_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Expected O, but got Unknown //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: 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_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_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Expected O, but got Unknown //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: 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_020c: Expected O, but got Unknown //IL_026f: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Expected O, but got Unknown //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Expected O, but got Unknown //IL_02cc: Unknown result type (might be due to invalid IL or missing references) //IL_02e3: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_039a: Expected O, but got Unknown //IL_0432: Unknown result type (might be due to invalid IL or missing references) //IL_0437: Unknown result type (might be due to invalid IL or missing references) //IL_0452: Unknown result type (might be due to invalid IL or missing references) //IL_0457: Unknown result type (might be due to invalid IL or missing references) //IL_045c: Unknown result type (might be due to invalid IL or missing references) //IL_0466: Expected O, but got Unknown //IL_054d: Unknown result type (might be due to invalid IL or missing references) //IL_0552: Unknown result type (might be due to invalid IL or missing references) //IL_056d: Unknown result type (might be due to invalid IL or missing references) //IL_0572: Unknown result type (might be due to invalid IL or missing references) //IL_058d: Unknown result type (might be due to invalid IL or missing references) //IL_0592: Unknown result type (might be due to invalid IL or missing references) //IL_0597: Unknown result type (might be due to invalid IL or missing references) //IL_05a1: Expected O, but got Unknown //IL_05b5: Unknown result type (might be due to invalid IL or missing references) //IL_05bf: Unknown result type (might be due to invalid IL or missing references) //IL_0486: Unknown result type (might be due to invalid IL or missing references) //IL_048b: Unknown result type (might be due to invalid IL or missing references) Object.Destroy((Object)(object)((Component)laserTracerPrefab.transform.Find("StickEffect")).gameObject); Object.Destroy((Object)(object)laserTracerPrefab.GetComponent()); Object.Destroy((Object)(object)laserTracerPrefab.GetComponent()); Transform val = laserTracerPrefab.transform.Find("BeamObject"); val.localScale = new Vector3(12f, 12f, 1f); laserTracerPrefab.AddComponent().vfxPriority = (VFXPriority)2; ParticleSystemRenderer component = ((Component)val).GetComponent(); Material val2 = new Material(((Renderer)component).sharedMaterials[1]); val2.SetColor("_TintColor", new Color(1f, 1f, 1f)); val2.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC1_Common_ColorRamps.texRampMinorConstructProjectile_png).WaitForCompletion()); Material[] sharedMaterials = ((Renderer)component).sharedMaterials; sharedMaterials[1] = val2; ((Renderer)component).sharedMaterials = sharedMaterials; AnimateShaderAlpha val3 = ((Component)val).gameObject.AddComponent(); val3.timeMax = 1f; val3.continueExistingAfterTimeMaxIsReached = true; val3.alphaCurve = new AnimationCurve((Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 1f, 0f, -5f), new Keyframe(1f, 0f, 0f, 0f) }); GameObject val4 = Object.Instantiate(Addressables.LoadAssetAsync((object)RoR2_DLC1_MajorAndMinorConstruct.LaserMajorConstruct_prefab).WaitForCompletion()); Transform val5 = val4.transform.Find("LaserStart"); ((Object)((Component)val5).gameObject).name = "LineBeam"; val5.SetParent(laserTracerPrefab.transform, false); val5.localPosition = Vector3.zero; AnimateShaderAlpha component2 = ((Component)val5).GetComponent(); component2.timeMax = 0.5f; component2.alphaCurve = new AnimationCurve((Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 1f), new Keyframe(1f, 0f) }); component2.continueExistingAfterTimeMaxIsReached = true; Object.Destroy((Object)(object)((Component)val5).GetComponent()); ScaleLineToTracer scaleLineToTracer = ((Component)val5).gameObject.AddComponent(); LineRenderer component3 = ((Component)val5).GetComponent(); scaleLineToTracer.lineRenderer = ((Component)val5).GetComponent(); scaleLineToTracer.targetTracer = laserTracerPrefab.GetComponent(); foreach (Transform item in ((Component)val5).transform) { Transform val6 = item; Object.Destroy((Object)(object)((Component)val6).gameObject); } Material val7 = new Material(((Renderer)component3).sharedMaterials[1]); val7.SetColor("_TintColor", new Color(1f, 0.99f, 0.64f)); val7.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC1_Common_ColorRamps.texRampMinorConstructProjectile_png).WaitForCompletion()); sharedMaterials = ((Renderer)component3).sharedMaterials; sharedMaterials[1] = val7; ((Renderer)component3).sharedMaterials = sharedMaterials; Transform val8 = val4.transform.Find("LaserEnd"); val8.SetParent(laserTracerPrefab.transform, false); val8.localPosition = Vector3.zero; Object.Destroy((Object)(object)((Component)((Component)val8).transform.Find("PP")).gameObject); Object.Destroy((Object)(object)((Component)((Component)val8).transform.Find("AreaIndicator")).gameObject); foreach (Transform item2 in ((Component)val8).transform) { Transform val9 = item2; if (((Object)((Component)val9).gameObject).name == "Point light") { Object.Destroy((Object)(object)((Component)val9).GetComponent()); Light component4 = ((Component)val9).GetComponent(); component4.intensity *= 2f; Light component5 = ((Component)val9).GetComponent(); component5.range *= 2f; LightIntensityCurve val10 = ((Component)val9).gameObject.AddComponent(); val10.timeMax = 0.6f; val10.curve = new AnimationCurve((Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 1f, 0f, -5f), new Keyframe(0.5f, 0f, 0f, 0f) }); } else { ParticleSystem component6 = ((Component)val9).GetComponent(); if (Object.op_Implicit((Object)(object)component6)) { MainModule main = component6.main; ((MainModule)(ref main)).duration = 0.25f; ((MainModule)(ref main)).loop = false; } } } ShakeEmitter component7 = ((Component)val8).GetComponent(); component7.wave.amplitude = 0.2f; component7.wave.frequency = 20f; component7.duration = 0.15f; component7.radius = 120f; GameObject val11 = Object.Instantiate(impactDecalBase, val8, false); AnimateShaderAlpha component8 = val11.GetComponent(); component8.timeMax = 0.55f; component8.alphaCurve = new AnimationCurve((Keyframe[])(object)new Keyframe[3] { new Keyframe(0f, 1f, 0f, 0f), new Keyframe(0.5f, 0.7f, 0f, -5f), new Keyframe(1f, 0f, 0f, 0f) }); ((Object)val11).name = "LaserImpactDecal"; val11.transform.localScale = Vector3.one * 7f; Object.Destroy((Object)(object)val4); }); Content.CreateAndAddEffectDef(laserTracerPrefab); laserMuzzlePrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Huntress.HuntressFireArrowRain_prefab).WaitForCompletion(), "DragonLaserMuzzleVFX", false); TryBuildAsset("Secondary Laser Muzzle VFX", delegate { //IL_000c: 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_0033: Expected O, but got Unknown //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0040: 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_0093: Expected O, but got Unknown //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Expected O, but got Unknown //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Expected O, but got Unknown //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Expected O, but got Unknown //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_0209: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Expected O, but got Unknown //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0221: 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_028b: Unknown result type (might be due to invalid IL or missing references) laserMuzzlePrefab.GetComponent().vfxPriority = (VFXPriority)1; foreach (Transform item3 in laserMuzzlePrefab.transform) { Transform val = item3; val.localScale = Vector3.one * 2f; } ParticleSystemRenderer component = ((Component)laserMuzzlePrefab.transform.Find("Flash, White (1)")).GetComponent(); Material val2 = new Material(((Renderer)component).sharedMaterial); val2.SetColor("_TintColor", new Color(1f, 0.7f, 0.08f)); ((Renderer)component).sharedMaterial = val2; ParticleSystemRenderer component2 = ((Component)laserMuzzlePrefab.transform.Find("Beams")).GetComponent(); Material val3 = new Material(((Renderer)component2).sharedMaterial); val3.SetColor("_TintColor", new Color(1f, 0.7f, 0.08f)); ((Renderer)component2).sharedMaterial = val3; Transform val4 = laserMuzzlePrefab.transform.Find("Dash"); val4.localEulerAngles = new Vector3(270f, 0f, 0f); val4.localScale *= 1.5f; ParticleSystemRenderer component3 = ((Component)val4).GetComponent(); Material val5 = new Material(((Renderer)component3).sharedMaterial); val5.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC1_Common_ColorRamps.texRampMinorConstructProjectile_png).WaitForCompletion()); ((Renderer)component3).sharedMaterial = val5; ParticleSystemRenderer component4 = ((Component)laserMuzzlePrefab.transform.Find("DashRings")).GetComponent(); Material val6 = new Material(((Renderer)component4).sharedMaterial); val6.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC1_Common_ColorRamps.texRampMinorConstructProjectile_png).WaitForCompletion()); ((Renderer)component4).sharedMaterial = val6; ParticleSystemRenderer component5 = ((Component)laserMuzzlePrefab.transform.Find("Shockwave")).GetComponent(); Material val7 = new Material(((Renderer)component5).sharedMaterial); val7.SetTexture("_MainTex", Addressables.LoadAssetAsync((object)RoR2_Base_ArtifactCompounds.texArtifactCompoundCircleMask_png).WaitForCompletion()); val7.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_DLC1_Common_ColorRamps.texRampMinorConstructProjectile_png).WaitForCompletion()); ((Renderer)component5).sharedMaterial = val7; component5.alignment = (ParticleSystemRenderSpace)0; ((Component)laserMuzzlePrefab.transform.Find("Point light")).GetComponent().color = new Color(1f, 0.7f, 0.08f); }); Content.CreateAndAddEffectDef(laserMuzzlePrefab); laserHitEffectPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Common_VFX.OmniImpactVFXLightning_prefab).WaitForCompletion(), "DragonLaserHitVFX", false); TryBuildAsset("Secondary Laser Hit VFX", delegate { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Expected O, but got Unknown //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_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) foreach (Transform item4 in laserHitEffectPrefab.transform) { Transform val = item4; ParticleSystem component = ((Component)val).GetComponent(); MainModule main = component.main; ((MainModule)(ref main)).startColor = new MinMaxGradient(new Color(1f, 0.78f, 0.4f), new Color(1f, 0.47f, 0f)); ((Component)val).transform.localScale = Vector3.one * 3f; } }); Content.CreateAndAddEffectDef(laserHitEffectPrefab); } private static void CreateDashSmoke() { //IL_0006: 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) utilitySmokeEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Bandit2.Bandit2SmokeBomb_prefab).WaitForCompletion(), "DragonUtilitySmoke", false); TryBuildAsset("Utility Smoke Effect", delegate { //IL_001c: 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_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Expected O, but got Unknown //IL_00a4: 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) Transform val = utilitySmokeEffect.transform.Find("Core"); ((Component)val).transform.localScale = Vector3.one * 0.7f; ((Component)val.Find("Debris, 3D")).gameObject.SetActive(true); ((Component)val.Find("Debris")).gameObject.SetActive(true); ((Component)val.Find("Dust")).gameObject.SetActive(true); Object.Destroy((Object)(object)((Component)val.Find("Dust, CenterSphere")).gameObject); foreach (Transform item in val) { Transform val2 = item; val.localScale = Vector3.one * 0.5f; } }); Content.CreateAndAddEffectDef(utilitySmokeEffect); } private static void CreateDashExplosions() { //IL_0006: 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) utilityDashHeavyEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_LunarGolem.LunarGolemDeath_prefab).WaitForCompletion(), "DragonUtilityExplosionHeavy", false); TryBuildAsset("Utility Heavy Explosion Effect", delegate { //IL_0071: 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_00a7: 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_00dc: Expected O, but got Unknown //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: 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_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) utilityDashHeavyEffect.GetComponent().soundName = "Play_MULT_m1_grenade_launcher_explo"; ShakeEmitter component = utilityDashHeavyEffect.GetComponent(); component.startDelay = 0f; component.duration = 0.4f; component.wave.amplitude = 1.8f; component.wave.frequency = 120f; Transform val = utilityDashHeavyEffect.transform.Find("Particles"); ((Component)val).transform.localScale = Vector3.one * 2f; Light component2 = ((Component)val.Find("Point light")).GetComponent(); component2.color = new Color(1f, 0.72f, 0f); component2.range = 30f; ParticleSystemRenderer component3 = ((Component)val.Find("Fire")).GetComponent(); Material val2 = new Material(((Renderer)component3).sharedMaterial); val2.shader = Addressables.LoadAssetAsync((object)RoR2_Base_Shaders.HGOpaqueCloudRemap_shader).WaitForCompletion(); val2.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_Base_Common_ColorRamps.texRampMageFire_png).WaitForCompletion()); ((Renderer)component3).sharedMaterial = val2; ParticleSystem component4 = ((Component)val.Find("Sparks_Ps")).GetComponent(); MainModule main = component4.main; ((MainModule)(ref main)).startColor = new MinMaxGradient(new Color(1f, 0.55f, 0.22f), new Color(0.74f, 0.16f, 0f)); Object.Destroy((Object)(object)((Component)val.Find("Fire, Linger")).gameObject); component3 = ((Component)val.Find("Flash, White")).GetComponent(); component3.maxParticleSize = 50f; ((Component)component3).transform.localScale = Vector3.one * 0.15f; }); utilityDashMediumEffect = PrefabAPI.InstantiateClone(utilityDashHeavyEffect, "DragonUtilityExplosionMedium", false); TryBuildAsset("Utility Medium Explosion Effect", delegate { //IL_0052: 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_0077: 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) ShakeEmitter component = utilityDashMediumEffect.GetComponent(); component.duration = 0.36f; component.wave.amplitude = 1.4f; component.wave.frequency = 80f; Transform val = utilityDashMediumEffect.transform.Find("Particles"); ((Component)val).transform.localScale = Vector3.one * 2f; ((Component)val.Find("Sparks_Ps")).transform.localScale = Vector3.one * 0.5f; ((Component)val.Find("Point light")).GetComponent().range = 15f; Object.Destroy((Object)(object)((Component)val.Find("Fire, Linger")).gameObject); Object.Destroy((Object)(object)((Component)val.Find("RockBurst_Ps")).gameObject); }); utilityDashLightEffect = PrefabAPI.InstantiateClone(utilityDashMediumEffect, "DragonUtilityExplosionLight", false); TryBuildAsset("Utility Light Explosion Effect", delegate { //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) utilityDashLightEffect.GetComponent().soundName = ""; ShakeEmitter component = utilityDashLightEffect.GetComponent(); component.duration = 0.3f; component.wave.amplitude = 1f; component.wave.frequency = 60f; Transform val = utilityDashLightEffect.transform.Find("Particles"); ((Component)val).transform.localScale = Vector3.one * 1.2f; ((Component)val.Find("Point light")).GetComponent().range = 10f; Object.Destroy((Object)(object)((Component)val.Find("Fire, Linger")).gameObject); Object.Destroy((Object)(object)((Component)val.Find("RockBurst_Ps")).gameObject); Object.Destroy((Object)(object)((Component)val.Find("Sparks_Ps")).gameObject); Object.Destroy((Object)(object)((Component)val.Find("PP")).gameObject); }); PlaySoundOnDelay playSoundOnDelay = utilityDashHeavyEffect.AddComponent(); playSoundOnDelay.soundString = "Play_GG_Tanker_PuddleIgnite"; playSoundOnDelay.delay = 0f; Content.CreateAndAddEffectDef(utilityDashLightEffect); Content.CreateAndAddEffectDef(utilityDashMediumEffect); Content.CreateAndAddEffectDef(utilityDashHeavyEffect); } private static void CreateFireTrail() { //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_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) GameObject dragonFireSegment = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Common.FireTrailSegment_prefab).WaitForCompletion(), "DragonFireTrailSegment", false); TryBuildAsset("Utility Fire Trail Segment Effect", delegate { //IL_001b: 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_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0052: 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_0080: Unknown result type (might be due to invalid IL or missing references) //IL_008c: 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) //IL_0094: 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_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: 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_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: 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_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Expected O, but got Unknown //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: 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_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: 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_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_020d: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Expected O, but got Unknown //IL_021b: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) dragonFireSegment.transform.localScale = new Vector3(1f, 10f, 10f); ParticleSystem component = dragonFireSegment.GetComponent(); MainModule main = component.main; ((MainModule)(ref main)).duration = 0.7f; ((MainModule)(ref main)).startLifetime = new MinMaxCurve(1.5f, 2.5f); ((MainModule)(ref main)).startSizeX = new MinMaxCurve(5f, 7.5f); ((MainModule)(ref main)).startSizeY = new MinMaxCurve(1.25f, 2.5f); ShapeModule shape = component.shape; ((ShapeModule)(ref shape)).scale = Vector3.one; ColorOverLifetimeModule colorOverLifetime = component.colorOverLifetime; MinMaxGradient color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; ((MinMaxGradient)(ref color)).gradient.alphaKeys = (GradientAlphaKey[])(object)new GradientAlphaKey[2] { new GradientAlphaKey(1f, 0f), new GradientAlphaKey(0f, 1f) }; ParticleSystemRenderer component2 = dragonFireSegment.GetComponent(); Material val = new Material(((Renderer)component2).sharedMaterial); val.SetFloat("_AlphaBoost", 0.96f); ((Renderer)component2).sharedMaterial = val; GameObject val2 = Object.Instantiate(dragonFireSegment, dragonFireSegment.transform, false); Object.Destroy((Object)(object)val2.GetComponent()); val2.transform.localScale = Vector3.one; val2.transform.localPosition = Vector3.zero; component = val2.GetComponent(); main = component.main; ((MainModule)(ref main)).startColor = new MinMaxGradient(new Color(0.98f, 0.05f, 0f), Color.black); colorOverLifetime = component.colorOverLifetime; color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; ((MinMaxGradient)(ref color)).gradient.colorKeys = (GradientColorKey[])(object)new GradientColorKey[2] { new GradientColorKey(Color.white, 0f), new GradientColorKey(Color.black, 0.6f) }; ((ColorOverLifetimeModule)(ref colorOverLifetime)).color = color; component2 = val2.GetComponent(); Material val3 = new Material(((Renderer)component2).sharedMaterial); val3.shader = Addressables.LoadAssetAsync((object)RoR2_Base_Shaders.HGOpaqueCloudRemap_shader).WaitForCompletion(); val3.SetTexture("_RemapTex", Addressables.LoadAssetAsync((object)RoR2_Base_Common_ColorRamps.texRampTritone3_png).WaitForCompletion()); val3.SetFloat("_Cutoff", 0.73f); val3.SetFloat("_AlphaBoost", 1.3f); val3.SetInt("_RampInfo", 5); ((Renderer)component2).sharedMaterial = val3; }); fireTrailPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Common.FireTrail_prefab).WaitForCompletion(), "DragonFireTrail", false); TryBuildAsset("Utility Fire Trail Prefab", delegate { //IL_0055: 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) Object.Destroy((Object)(object)fireTrailPrefab.GetComponent()); DamageTrailDynamic damageTrailDynamic = fireTrailPrefab.AddComponent(); damageTrailDynamic.pointUpdateInterval = 0.25f; damageTrailDynamic.damageUpdateInterval = 0.2f; damageTrailDynamic.radius = 3f; damageTrailDynamic.height = 0.5f; damageTrailDynamic.pointLifetime = 1.5f; damageTrailDynamic.damageType = DamageTypeCombo.op_Implicit((DamageType)0); damageTrailDynamic.segmentPrefab = dragonFireSegment; }); } private static void CreateDisplayEffect() { //IL_0006: 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) displayEffectPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Brother.BrotherSlamImpact_prefab).WaitForCompletion(), "DragonDisplayEffect", false); TryBuildAsset("Display Effect VFX", delegate { //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: 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_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: 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_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Expected O, but got Unknown //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: 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_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0148: 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_015b: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0184: 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_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: 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) ShakeEmitter[] components = displayEffectPrefab.GetComponents(); ShakeEmitter[] array = components; foreach (ShakeEmitter val in array) { Object.Destroy((Object)(object)val); } Object.Destroy((Object)(object)displayEffectPrefab.GetComponent()); Transform val2 = displayEffectPrefab.transform.Find("Spikes, Small"); val2.localPosition = Vector3.zero; val2.localScale = new Vector3(0.25f, 0.25f, 0.2f); ScaleOverTime scaleOverTime = ((Component)val2).gameObject.AddComponent(); scaleOverTime.separateAxes = true; scaleOverTime.zCurve = new AnimationCurve((Keyframe[])(object)new Keyframe[3] { new Keyframe(0f, 0f, 0f, 2f), new Keyframe(0.048f, 0.209f, 0f, 0f), new Keyframe(0.246f, 0.16f, 0.2f, 0f) }) { postWrapMode = (WrapMode)8 }; ParticleSystem component = ((Component)val2).GetComponent(); MainModule main = component.main; ((MainModule)(ref main)).startLifetime = MinMaxCurve.op_Implicit(float.PositiveInfinity); ShapeModule shape = component.shape; ((ShapeModule)(ref shape)).radiusThickness = 0.5f; EmissionModule emission = component.emission; ((EmissionModule)(ref emission)).burstCount = 1; Burst burst = ((EmissionModule)(ref emission)).GetBurst(0); ((Burst)(ref burst)).cycleCount = 1; ((Burst)(ref burst)).count = MinMaxCurve.op_Implicit(16f); ((EmissionModule)(ref emission)).SetBurst(0, burst); SizeOverLifetimeModule sizeOverLifetime = component.sizeOverLifetime; ((SizeOverLifetimeModule)(ref sizeOverLifetime)).enabled = false; Transform val3 = displayEffectPrefab.transform.Find("Decal"); val3.localPosition = Vector3.zero; val3.localScale = Vector3.one * 2f; Decal component2 = ((Component)val3).GetComponent(); component2.Material = iceDecalMaterial; component2.Fade = 0.2f; ((Component)val3).gameObject.AddComponent().setRandomYRotation = true; Object.Destroy((Object)(object)((Component)val3).GetComponent()); }); } private static void CreateAmbushLiftoffEffects() { specialLiftoffExplosionEffect = PrefabAPI.InstantiateClone(utilityDashHeavyEffect, "DragonSpecialLiftoffEffect", false); TryBuildAsset("Special Liftoff Explosion", delegate { //IL_0049: 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_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) ShakeEmitter component = specialLiftoffExplosionEffect.GetComponent(); component.radius = 40f; component.duration = 0.8f; component.wave.amplitude = 3.5f; Transform val = specialLiftoffExplosionEffect.transform.Find("Particles"); val.localScale *= 3f; val.Find("Fire").localScale = Vector3.one * 0.5f; Object.Destroy((Object)(object)((Component)val.Find("Fire, Linger")).gameObject); }); Content.CreateAndAddEffectDef(specialLiftoffExplosionEffect); specialLiftoffSmokeEffect = PrefabAPI.InstantiateClone(utilitySmokeEffect, "DragonSpecialSmoke", false); TryBuildAsset("Special Liftoff Smoke Effect", delegate { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown //IL_002e: 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) Transform val = utilitySmokeEffect.transform.Find("Core"); foreach (Transform item in val) { Transform val2 = item; val.localScale = Vector3.one * 5f; } }); Content.CreateAndAddEffectDef(specialLiftoffSmokeEffect); } private static void CreateAmbushAscendingEffects() { specialAscendingFireEffect = PrefabAPI.InstantiateClone(fireballGhostPrefab, "DragonSpecialAmbushAura", false); TryBuildAsset("Special Ascending Aura", delegate { //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0054: 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_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_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Expected O, but got Unknown //IL_0107: 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) Object.Destroy((Object)(object)specialAscendingFireEffect.GetComponent()); Object.Destroy((Object)(object)specialAscendingFireEffect.GetComponent()); Object.Destroy((Object)(object)((Component)specialAscendingFireEffect.transform.Find("OrbCore")).gameObject); specialAscendingFireEffect.transform.localScale = Vector3.one * 10f; specialAscendingFireEffect.transform.localPosition = Vector3.zero; Object.Instantiate(assetBundle.LoadAsset("AmbushGlow"), specialAscendingFireEffect.transform, false); ParticleSystem component = ((Component)specialAscendingFireEffect.transform.Find("FireballGhost(Clone)/Flames")).GetComponent(); EmissionModule emission = component.emission; ((EmissionModule)(ref emission)).rateOverTime = MinMaxCurve.op_Implicit(120f); GameObject val = new GameObject("PP"); val.transform.SetParent(specialAscendingFireEffect.transform, false); val.layer = (int)(ref LayerIndex.postProcess); PostProcessVolume val2 = val.AddComponent(); val2.sharedProfile = Addressables.LoadAssetAsync((object)RoR2_Base_title_PostProcessing.ppLocalGolem_asset).WaitForCompletion(); val2.blendDistance = 90f; val2.weight = 1f; val2.priority = 99f; SphereCollider val3 = val.AddComponent(); ((Collider)val3).isTrigger = true; val3.radius = 1f; }); } private static void CreateAmbushLandingEffects() { //IL_0006: 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) specialLandingExplosionEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)RoR2_Base_Brother.BrotherSlamImpact_prefab).WaitForCompletion(), "DragonAmbushLandEffect", false); TryBuildAsset("Special Landing Explosion", delegate { //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_00c6: 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_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Expected O, but got Unknown //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Expected O, but got Unknown //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_0222: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_022b: 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_0256: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Expected O, but got Unknown //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02d4: Unknown result type (might be due to invalid IL or missing references) //IL_0313: Unknown result type (might be due to invalid IL or missing references) //IL_0318: Unknown result type (might be due to invalid IL or missing references) //IL_032b: Unknown result type (might be due to invalid IL or missing references) //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Unknown result type (might be due to invalid IL or missing references) //IL_039e: Unknown result type (might be due to invalid IL or missing references) //IL_03b4: Unknown result type (might be due to invalid IL or missing references) //IL_03b9: Unknown result type (might be due to invalid IL or missing references) //IL_03c7: Unknown result type (might be due to invalid IL or missing references) //IL_03d4: Unknown result type (might be due to invalid IL or missing references) //IL_03d9: Unknown result type (might be due to invalid IL or missing references) //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_03fc: Unknown result type (might be due to invalid IL or missing references) //IL_040a: Unknown result type (might be due to invalid IL or missing references) //IL_040f: Unknown result type (might be due to invalid IL or missing references) //IL_0421: Unknown result type (might be due to invalid IL or missing references) //IL_042f: Unknown result type (might be due to invalid IL or missing references) //IL_043c: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_0474: Unknown result type (might be due to invalid IL or missing references) //IL_047e: Unknown result type (might be due to invalid IL or missing references) //IL_0523: Unknown result type (might be due to invalid IL or missing references) //IL_052a: Expected O, but got Unknown //IL_059a: Unknown result type (might be due to invalid IL or missing references) //IL_059f: Unknown result type (might be due to invalid IL or missing references) //IL_05a8: Unknown result type (might be due to invalid IL or missing references) //IL_05af: Expected O, but got Unknown //IL_05bb: Unknown result type (might be due to invalid IL or missing references) //IL_05c0: Unknown result type (might be due to invalid IL or missing references) specialLandingExplosionEffect.transform.localScale = Vector3.one * 6f; ShakeEmitter[] components = specialLandingExplosionEffect.GetComponents(); ShakeEmitter[] array = components; foreach (ShakeEmitter val in array) { Object.Destroy((Object)(object)val); } ShakeEmitter val2 = specialLandingExplosionEffect.AddComponent(); val2.startDelay = 0f; val2.radius = 150f; val2.duration = 0.8f; val2.amplitudeTimeDecay = true; val2.wave.frequency = 125f; val2.wave.amplitude = 4.4f; Transform val3 = specialLandingExplosionEffect.transform.Find("PP"); ((Component)val3).GetComponent().sharedProfile = Addressables.LoadAssetAsync((object)RoR2_DLC1_Railgunner.ppLocalRailgunnerSuper_asset).WaitForCompletion(); Texture val4 = Addressables.LoadAssetAsync((object)RoR2_Base_Common_ColorRamps.texRampMageFire_png).WaitForCompletion(); ParticleSystemRenderer component = ((Component)specialLandingExplosionEffect.transform.Find("Fire")).GetComponent(); Material val5 = new Material(((Renderer)component).sharedMaterial); val5.SetTexture("_RemapTex", val4); val5.SetFloat("_AlphaBoost", 3f); ((Renderer)component).sharedMaterial = val5; component = ((Component)specialLandingExplosionEffect.transform.Find("Flash Lines, Fire")).GetComponent(); Material val6 = new Material(((Renderer)component).sharedMaterial); val6.SetTexture("_RemapTex", val4); ((Renderer)component).sharedMaterial = val6; ParticleSystem component2 = ((Component)specialLandingExplosionEffect.transform.Find("Flash Lines")).GetComponent(); MainModule main = component2.main; ((MainModule)(ref main)).startColor = MinMaxGradient.op_Implicit(new Color(0.37f, 0f, 0.04f)); GameObject gameObject = ((Component)specialLandingExplosionEffect.transform.Find("Flash")).gameObject; ((Object)((Component)specialLandingExplosionEffect.transform.Find("Flash")).gameObject).name = "Flash, Small"; component2 = ((Component)specialLandingExplosionEffect.transform.Find("Flash")).GetComponent(); ColorOverLifetimeModule colorOverLifetime = component2.colorOverLifetime; MinMaxGradient color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; Gradient gradient = ((MinMaxGradient)(ref color)).gradient; GradientColorKey[] colorKeys = gradient.colorKeys; colorKeys[1] = new GradientColorKey(new Color(0.93f, 0.07f, 0.08f), colorKeys[1].time); gradient.colorKeys = colorKeys; ((ColorOverLifetimeModule)(ref colorOverLifetime)).color = new MinMaxGradient(gradient); Decal component3 = ((Component)specialLandingExplosionEffect.transform.Find("Decal")).GetComponent(); Material val7 = new Material(component3.Material); val7.SetColor("_Color", new Color(0.92f, 0.58f, 0.2f) * 2.5f); val7.SetTexture("_RemapTex", val4); component3.Material = val7; component2 = ((Component)specialLandingExplosionEffect.transform.Find("Sparks")).GetComponent(); main = component2.main; ((MainModule)(ref main)).startColor = new MinMaxGradient(new Color(1f, 0.29f, 1f), new Color(1f, 0.11f, 0f)); Light component4 = ((Component)specialLandingExplosionEffect.transform.Find("Point light")).GetComponent(); component4.color = new Color(1f, 0.31f, 0.25f); Transform val8 = specialLandingExplosionEffect.transform.Find("Spikes, Small"); val8.localPosition = Vector3.zero; component2 = ((Component)val8).GetComponent(); main = component2.main; ((MainModule)(ref main)).startLifetime = new MinMaxCurve(0.2f, 0.6f); ShapeModule shape = component2.shape; ((ShapeModule)(ref shape)).radiusThickness = 0.9f; ((ShapeModule)(ref shape)).radius = 20f; EmissionModule emission = component2.emission; ((EmissionModule)(ref emission)).burstCount = 1; Burst burst = ((EmissionModule)(ref emission)).GetBurst(0); ((Burst)(ref burst)).cycleCount = 1; ((Burst)(ref burst)).count = MinMaxCurve.op_Implicit(30f); ((EmissionModule)(ref emission)).SetBurst(0, burst); GameObject val9 = Object.Instantiate(Addressables.LoadAssetAsync((object)RoR2_Base_LemurianBruiser.OmniExplosionVFXLemurianBruiserFireballImpact_prefab).WaitForCompletion(), specialLandingExplosionEffect.transform); ((Object)val9.gameObject).name = "OmniExplosionVFX"; val9.transform.localScale = Vector3.one * 5f; Behaviour[] componentsInChildren = val9.GetComponentsInChildren(); foreach (Behaviour val10 in componentsInChildren) { Object.Destroy((Object)(object)val10); } Object.Destroy((Object)(object)((Component)val9.transform.Find("ScaledSmoke, Billboard")).gameObject); Object.Destroy((Object)(object)((Component)val9.transform.Find("AreaIndicatorRing, Random Billboard")).gameObject); Object.Destroy((Object)(object)((Component)val9.transform.Find("Point Light")).gameObject); foreach (Transform item in val9.transform) { Transform val11 = item; ((Component)val11).gameObject.SetActive(true); } GameObject val12 = Object.Instantiate(((Component)val9.transform.Find("AreaIndicatorRing, Billboard")).gameObject, val9.transform); ((Object)val12).name = "DistortionRing"; component = val12.GetComponent(); Material val13 = new Material(Addressables.LoadAssetAsync((object)RoR2_Base_Shaders.HGDistortion_shader).WaitForCompletion()); val13.SetTexture("_BumpMap", Addressables.LoadAssetAsync((object)RoR2_Base_TeamWarCry.texHeatwaveNormal_psd).WaitForCompletion()); val13.SetFloat("_Magnitude", 3f); ((Renderer)component).sharedMaterial = val13; }); Content.CreateAndAddEffectDef(specialLandingExplosionEffect); } private static void GetAmbushMotionData() { specialAmbushRisingData = assetBundle.LoadAsset("RisingData"); specialAmbushDescendingData = assetBundle.LoadAsset("DescendingData"); } private static void CreateMithrixDialogue() { //IL_000b: 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_004a: 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_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: 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_00ee: 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_012d: 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_0174: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017e: 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_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0219: 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_0258: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Unknown result type (might be due to invalid IL or missing references) seeDragonResponses = (SpeechInfo[])(object)new SpeechInfo[3] { new SpeechInfo { token = LunarDragonTokens.mithrixDialogueSee1, duration = 2f, maxWait = 0.5f, priority = 10000f, mustPlay = true }, new SpeechInfo { token = LunarDragonTokens.mithrixDialogueSee2, duration = 2f, maxWait = 0.5f, priority = 10000f, mustPlay = true }, new SpeechInfo { token = LunarDragonTokens.mithrixDialogueSee2, duration = 2f, maxWait = 0.5f, priority = 10000f, mustPlay = true } }; killDragonResponses = (SpeechInfo[])(object)new SpeechInfo[3] { new SpeechInfo { token = LunarDragonTokens.mithrixDialogueKill1, duration = 1f, maxWait = 0.1f, priority = 10f, mustPlay = true }, new SpeechInfo { token = LunarDragonTokens.mithrixDialogueKill2, duration = 1f, maxWait = 0.1f, priority = 10f, mustPlay = true }, new SpeechInfo { token = LunarDragonTokens.mithrixDialogueKill2, duration = 1f, maxWait = 0.1f, priority = 10f, mustPlay = true } }; killHurtDragonResponses = (SpeechInfo[])(object)new SpeechInfo[3] { new SpeechInfo { token = LunarDragonTokens.mithrixHurtDialogueKill1, duration = 1f, maxWait = 0.1f, priority = 10f, mustPlay = true }, new SpeechInfo { token = LunarDragonTokens.mithrixHurtDialogueKill2, duration = 1f, maxWait = 0.1f, priority = 10f, mustPlay = true }, new SpeechInfo { token = LunarDragonTokens.mithrixHurtDialogueKill2, duration = 1f, maxWait = 0.1f, priority = 10f, mustPlay = true } }; } } public static class LunarDragonBuffs { public static void Init(AssetBundle assetBundle) { } } public class LunarDragonItemDisplays : ItemDisplaysBase { protected override void SetItemDisplayRules(List itemDisplayRules) { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_004b: 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_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_00af: 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_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: 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_013b: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_024e: 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_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Unknown result type (might be due to invalid IL or missing references) //IL_02c1: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: 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_031b: Unknown result type (might be due to invalid IL or missing references) //IL_032f: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0339: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_037f: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_03a7: Unknown result type (might be due to invalid IL or missing references) //IL_03ac: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_040b: Unknown result type (might be due to invalid IL or missing references) //IL_041f: Unknown result type (might be due to invalid IL or missing references) //IL_0424: Unknown result type (might be due to invalid IL or missing references) //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_042e: Unknown result type (might be due to invalid IL or missing references) //IL_046f: Unknown result type (might be due to invalid IL or missing references) //IL_0483: Unknown result type (might be due to invalid IL or missing references) //IL_0497: Unknown result type (might be due to invalid IL or missing references) //IL_049c: Unknown result type (might be due to invalid IL or missing references) //IL_04a1: Unknown result type (might be due to invalid IL or missing references) //IL_04a6: Unknown result type (might be due to invalid IL or missing references) //IL_04e7: Unknown result type (might be due to invalid IL or missing references) //IL_04fb: Unknown result type (might be due to invalid IL or missing references) //IL_050f: Unknown result type (might be due to invalid IL or missing references) //IL_0514: Unknown result type (might be due to invalid IL or missing references) //IL_0519: Unknown result type (might be due to invalid IL or missing references) //IL_051e: Unknown result type (might be due to invalid IL or missing references) //IL_055f: Unknown result type (might be due to invalid IL or missing references) //IL_0573: Unknown result type (might be due to invalid IL or missing references) //IL_0587: Unknown result type (might be due to invalid IL or missing references) //IL_058c: Unknown result type (might be due to invalid IL or missing references) //IL_0591: Unknown result type (might be due to invalid IL or missing references) //IL_0596: Unknown result type (might be due to invalid IL or missing references) //IL_05d7: Unknown result type (might be due to invalid IL or missing references) //IL_05eb: Unknown result type (might be due to invalid IL or missing references) //IL_05ff: Unknown result type (might be due to invalid IL or missing references) //IL_0604: Unknown result type (might be due to invalid IL or missing references) //IL_0609: Unknown result type (might be due to invalid IL or missing references) //IL_060e: Unknown result type (might be due to invalid IL or missing references) //IL_064f: Unknown result type (might be due to invalid IL or missing references) //IL_0663: Unknown result type (might be due to invalid IL or missing references) //IL_0677: Unknown result type (might be due to invalid IL or missing references) //IL_067c: Unknown result type (might be due to invalid IL or missing references) //IL_0681: Unknown result type (might be due to invalid IL or missing references) //IL_0686: Unknown result type (might be due to invalid IL or missing references) //IL_06c7: Unknown result type (might be due to invalid IL or missing references) //IL_06db: Unknown result type (might be due to invalid IL or missing references) //IL_06ef: Unknown result type (might be due to invalid IL or missing references) //IL_06f4: Unknown result type (might be due to invalid IL or missing references) //IL_06f9: Unknown result type (might be due to invalid IL or missing references) //IL_06fe: Unknown result type (might be due to invalid IL or missing references) //IL_073f: Unknown result type (might be due to invalid IL or missing references) //IL_0753: Unknown result type (might be due to invalid IL or missing references) //IL_0767: Unknown result type (might be due to invalid IL or missing references) //IL_076c: Unknown result type (might be due to invalid IL or missing references) //IL_0771: Unknown result type (might be due to invalid IL or missing references) //IL_0776: Unknown result type (might be due to invalid IL or missing references) //IL_07b7: Unknown result type (might be due to invalid IL or missing references) //IL_07cb: Unknown result type (might be due to invalid IL or missing references) //IL_07df: Unknown result type (might be due to invalid IL or missing references) //IL_07e4: Unknown result type (might be due to invalid IL or missing references) //IL_07e9: Unknown result type (might be due to invalid IL or missing references) //IL_07ee: Unknown result type (might be due to invalid IL or missing references) //IL_082f: Unknown result type (might be due to invalid IL or missing references) //IL_0843: Unknown result type (might be due to invalid IL or missing references) //IL_0857: Unknown result type (might be due to invalid IL or missing references) //IL_085c: Unknown result type (might be due to invalid IL or missing references) //IL_0861: Unknown result type (might be due to invalid IL or missing references) //IL_0866: Unknown result type (might be due to invalid IL or missing references) //IL_08a7: Unknown result type (might be due to invalid IL or missing references) //IL_08bb: Unknown result type (might be due to invalid IL or missing references) //IL_08cf: Unknown result type (might be due to invalid IL or missing references) //IL_08d4: Unknown result type (might be due to invalid IL or missing references) //IL_08d9: Unknown result type (might be due to invalid IL or missing references) //IL_08de: Unknown result type (might be due to invalid IL or missing references) //IL_091f: Unknown result type (might be due to invalid IL or missing references) //IL_0933: Unknown result type (might be due to invalid IL or missing references) //IL_0947: Unknown result type (might be due to invalid IL or missing references) //IL_094c: Unknown result type (might be due to invalid IL or missing references) //IL_0951: Unknown result type (might be due to invalid IL or missing references) //IL_0956: Unknown result type (might be due to invalid IL or missing references) //IL_0997: Unknown result type (might be due to invalid IL or missing references) //IL_09ab: Unknown result type (might be due to invalid IL or missing references) //IL_09bf: Unknown result type (might be due to invalid IL or missing references) //IL_09c4: Unknown result type (might be due to invalid IL or missing references) //IL_09c9: Unknown result type (might be due to invalid IL or missing references) //IL_09ce: Unknown result type (might be due to invalid IL or missing references) //IL_0a0f: Unknown result type (might be due to invalid IL or missing references) //IL_0a23: Unknown result type (might be due to invalid IL or missing references) //IL_0a37: Unknown result type (might be due to invalid IL or missing references) //IL_0a3c: Unknown result type (might be due to invalid IL or missing references) //IL_0a41: Unknown result type (might be due to invalid IL or missing references) //IL_0a46: Unknown result type (might be due to invalid IL or missing references) //IL_0a87: Unknown result type (might be due to invalid IL or missing references) //IL_0a9b: Unknown result type (might be due to invalid IL or missing references) //IL_0aaf: Unknown result type (might be due to invalid IL or missing references) //IL_0ab4: Unknown result type (might be due to invalid IL or missing references) //IL_0ab9: Unknown result type (might be due to invalid IL or missing references) //IL_0abe: Unknown result type (might be due to invalid IL or missing references) //IL_0aff: Unknown result type (might be due to invalid IL or missing references) //IL_0b13: Unknown result type (might be due to invalid IL or missing references) //IL_0b27: Unknown result type (might be due to invalid IL or missing references) //IL_0b2c: Unknown result type (might be due to invalid IL or missing references) //IL_0b31: Unknown result type (might be due to invalid IL or missing references) //IL_0b36: Unknown result type (might be due to invalid IL or missing references) //IL_0b77: Unknown result type (might be due to invalid IL or missing references) //IL_0b8b: Unknown result type (might be due to invalid IL or missing references) //IL_0b9f: Unknown result type (might be due to invalid IL or missing references) //IL_0ba4: Unknown result type (might be due to invalid IL or missing references) //IL_0ba9: Unknown result type (might be due to invalid IL or missing references) //IL_0bae: Unknown result type (might be due to invalid IL or missing references) //IL_0bef: Unknown result type (might be due to invalid IL or missing references) //IL_0c03: Unknown result type (might be due to invalid IL or missing references) //IL_0c17: Unknown result type (might be due to invalid IL or missing references) //IL_0c1c: Unknown result type (might be due to invalid IL or missing references) //IL_0c21: Unknown result type (might be due to invalid IL or missing references) //IL_0c26: Unknown result type (might be due to invalid IL or missing references) //IL_0c67: Unknown result type (might be due to invalid IL or missing references) //IL_0c7b: Unknown result type (might be due to invalid IL or missing references) //IL_0c8f: Unknown result type (might be due to invalid IL or missing references) //IL_0c94: Unknown result type (might be due to invalid IL or missing references) //IL_0c99: Unknown result type (might be due to invalid IL or missing references) //IL_0c9e: Unknown result type (might be due to invalid IL or missing references) //IL_0cdf: Unknown result type (might be due to invalid IL or missing references) //IL_0cf3: Unknown result type (might be due to invalid IL or missing references) //IL_0d07: Unknown result type (might be due to invalid IL or missing references) //IL_0d0c: Unknown result type (might be due to invalid IL or missing references) //IL_0d11: Unknown result type (might be due to invalid IL or missing references) //IL_0d16: Unknown result type (might be due to invalid IL or missing references) //IL_0d57: Unknown result type (might be due to invalid IL or missing references) //IL_0d6b: Unknown result type (might be due to invalid IL or missing references) //IL_0d7f: Unknown result type (might be due to invalid IL or missing references) //IL_0d84: Unknown result type (might be due to invalid IL or missing references) //IL_0d89: Unknown result type (might be due to invalid IL or missing references) //IL_0d8e: Unknown result type (might be due to invalid IL or missing references) //IL_0dcf: Unknown result type (might be due to invalid IL or missing references) //IL_0de3: Unknown result type (might be due to invalid IL or missing references) //IL_0df7: Unknown result type (might be due to invalid IL or missing references) //IL_0dfc: Unknown result type (might be due to invalid IL or missing references) //IL_0e01: Unknown result type (might be due to invalid IL or missing references) //IL_0e06: Unknown result type (might be due to invalid IL or missing references) //IL_0e47: Unknown result type (might be due to invalid IL or missing references) //IL_0e5b: Unknown result type (might be due to invalid IL or missing references) //IL_0e6f: Unknown result type (might be due to invalid IL or missing references) //IL_0e74: Unknown result type (might be due to invalid IL or missing references) //IL_0e79: Unknown result type (might be due to invalid IL or missing references) //IL_0e7e: Unknown result type (might be due to invalid IL or missing references) //IL_0ea2: Unknown result type (might be due to invalid IL or missing references) //IL_0ea7: Unknown result type (might be due to invalid IL or missing references) //IL_0ecc: Unknown result type (might be due to invalid IL or missing references) //IL_0ee0: Unknown result type (might be due to invalid IL or missing references) //IL_0ef4: Unknown result type (might be due to invalid IL or missing references) //IL_0ef9: Unknown result type (might be due to invalid IL or missing references) //IL_0efe: Unknown result type (might be due to invalid IL or missing references) //IL_0f23: Unknown result type (might be due to invalid IL or missing references) //IL_0f37: Unknown result type (might be due to invalid IL or missing references) //IL_0f4b: Unknown result type (might be due to invalid IL or missing references) //IL_0f50: Unknown result type (might be due to invalid IL or missing references) //IL_0f55: Unknown result type (might be due to invalid IL or missing references) //IL_0f5a: Unknown result type (might be due to invalid IL or missing references) //IL_0f9b: Unknown result type (might be due to invalid IL or missing references) //IL_0faf: Unknown result type (might be due to invalid IL or missing references) //IL_0fc3: Unknown result type (might be due to invalid IL or missing references) //IL_0fc8: Unknown result type (might be due to invalid IL or missing references) //IL_0fcd: Unknown result type (might be due to invalid IL or missing references) //IL_0fd2: Unknown result type (might be due to invalid IL or missing references) //IL_1013: Unknown result type (might be due to invalid IL or missing references) //IL_1027: Unknown result type (might be due to invalid IL or missing references) //IL_103b: Unknown result type (might be due to invalid IL or missing references) //IL_1040: Unknown result type (might be due to invalid IL or missing references) //IL_1045: Unknown result type (might be due to invalid IL or missing references) //IL_104a: Unknown result type (might be due to invalid IL or missing references) //IL_108b: Unknown result type (might be due to invalid IL or missing references) //IL_109f: Unknown result type (might be due to invalid IL or missing references) //IL_10b3: Unknown result type (might be due to invalid IL or missing references) //IL_10b8: Unknown result type (might be due to invalid IL or missing references) //IL_10bd: Unknown result type (might be due to invalid IL or missing references) //IL_10c2: Unknown result type (might be due to invalid IL or missing references) //IL_1103: Unknown result type (might be due to invalid IL or missing references) //IL_1117: Unknown result type (might be due to invalid IL or missing references) //IL_112b: Unknown result type (might be due to invalid IL or missing references) //IL_1130: Unknown result type (might be due to invalid IL or missing references) //IL_1135: Unknown result type (might be due to invalid IL or missing references) //IL_113a: Unknown result type (might be due to invalid IL or missing references) //IL_117b: Unknown result type (might be due to invalid IL or missing references) //IL_118f: Unknown result type (might be due to invalid IL or missing references) //IL_11a3: Unknown result type (might be due to invalid IL or missing references) //IL_11a8: Unknown result type (might be due to invalid IL or missing references) //IL_11ad: Unknown result type (might be due to invalid IL or missing references) //IL_11b2: Unknown result type (might be due to invalid IL or missing references) //IL_11f3: Unknown result type (might be due to invalid IL or missing references) //IL_1207: Unknown result type (might be due to invalid IL or missing references) //IL_121b: Unknown result type (might be due to invalid IL or missing references) //IL_1220: Unknown result type (might be due to invalid IL or missing references) //IL_1225: Unknown result type (might be due to invalid IL or missing references) //IL_122a: Unknown result type (might be due to invalid IL or missing references) //IL_126b: Unknown result type (might be due to invalid IL or missing references) //IL_127f: Unknown result type (might be due to invalid IL or missing references) //IL_1293: Unknown result type (might be due to invalid IL or missing references) //IL_1298: Unknown result type (might be due to invalid IL or missing references) //IL_129d: Unknown result type (might be due to invalid IL or missing references) //IL_12a2: Unknown result type (might be due to invalid IL or missing references) //IL_12e3: Unknown result type (might be due to invalid IL or missing references) //IL_12f7: Unknown result type (might be due to invalid IL or missing references) //IL_130b: Unknown result type (might be due to invalid IL or missing references) //IL_1310: Unknown result type (might be due to invalid IL or missing references) //IL_1315: Unknown result type (might be due to invalid IL or missing references) //IL_131a: Unknown result type (might be due to invalid IL or missing references) //IL_135b: Unknown result type (might be due to invalid IL or missing references) //IL_136f: Unknown result type (might be due to invalid IL or missing references) //IL_1383: Unknown result type (might be due to invalid IL or missing references) //IL_1388: Unknown result type (might be due to invalid IL or missing references) //IL_138d: Unknown result type (might be due to invalid IL or missing references) //IL_13b2: Unknown result type (might be due to invalid IL or missing references) //IL_13c6: Unknown result type (might be due to invalid IL or missing references) //IL_13da: Unknown result type (might be due to invalid IL or missing references) //IL_13df: Unknown result type (might be due to invalid IL or missing references) //IL_13e4: Unknown result type (might be due to invalid IL or missing references) //IL_1409: Unknown result type (might be due to invalid IL or missing references) //IL_141d: Unknown result type (might be due to invalid IL or missing references) //IL_1431: Unknown result type (might be due to invalid IL or missing references) //IL_1436: Unknown result type (might be due to invalid IL or missing references) //IL_143b: Unknown result type (might be due to invalid IL or missing references) //IL_1460: Unknown result type (might be due to invalid IL or missing references) //IL_1474: Unknown result type (might be due to invalid IL or missing references) //IL_1488: Unknown result type (might be due to invalid IL or missing references) //IL_148d: Unknown result type (might be due to invalid IL or missing references) //IL_1492: Unknown result type (might be due to invalid IL or missing references) //IL_1497: Unknown result type (might be due to invalid IL or missing references) //IL_14d8: Unknown result type (might be due to invalid IL or missing references) //IL_14ec: Unknown result type (might be due to invalid IL or missing references) //IL_1500: Unknown result type (might be due to invalid IL or missing references) //IL_1505: Unknown result type (might be due to invalid IL or missing references) //IL_150a: Unknown result type (might be due to invalid IL or missing references) //IL_150f: Unknown result type (might be due to invalid IL or missing references) //IL_1550: Unknown result type (might be due to invalid IL or missing references) //IL_1564: Unknown result type (might be due to invalid IL or missing references) //IL_1578: Unknown result type (might be due to invalid IL or missing references) //IL_157d: Unknown result type (might be due to invalid IL or missing references) //IL_1582: Unknown result type (might be due to invalid IL or missing references) //IL_1587: Unknown result type (might be due to invalid IL or missing references) //IL_15c8: Unknown result type (might be due to invalid IL or missing references) //IL_15dc: Unknown result type (might be due to invalid IL or missing references) //IL_15f0: Unknown result type (might be due to invalid IL or missing references) //IL_15f5: Unknown result type (might be due to invalid IL or missing references) //IL_15fa: Unknown result type (might be due to invalid IL or missing references) //IL_15ff: Unknown result type (might be due to invalid IL or missing references) //IL_1640: Unknown result type (might be due to invalid IL or missing references) //IL_1654: Unknown result type (might be due to invalid IL or missing references) //IL_1668: Unknown result type (might be due to invalid IL or missing references) //IL_166d: Unknown result type (might be due to invalid IL or missing references) //IL_1672: Unknown result type (might be due to invalid IL or missing references) //IL_1677: Unknown result type (might be due to invalid IL or missing references) //IL_16b8: Unknown result type (might be due to invalid IL or missing references) //IL_16cc: Unknown result type (might be due to invalid IL or missing references) //IL_16e0: Unknown result type (might be due to invalid IL or missing references) //IL_16e5: Unknown result type (might be due to invalid IL or missing references) //IL_16ea: Unknown result type (might be due to invalid IL or missing references) //IL_16ef: Unknown result type (might be due to invalid IL or missing references) //IL_1730: Unknown result type (might be due to invalid IL or missing references) //IL_1744: Unknown result type (might be due to invalid IL or missing references) //IL_1758: Unknown result type (might be due to invalid IL or missing references) //IL_175d: Unknown result type (might be due to invalid IL or missing references) //IL_1762: Unknown result type (might be due to invalid IL or missing references) //IL_1767: Unknown result type (might be due to invalid IL or missing references) //IL_17a8: Unknown result type (might be due to invalid IL or missing references) //IL_17bc: Unknown result type (might be due to invalid IL or missing references) //IL_17d0: Unknown result type (might be due to invalid IL or missing references) //IL_17d5: Unknown result type (might be due to invalid IL or missing references) //IL_17da: Unknown result type (might be due to invalid IL or missing references) //IL_17df: Unknown result type (might be due to invalid IL or missing references) //IL_1820: Unknown result type (might be due to invalid IL or missing references) //IL_1834: Unknown result type (might be due to invalid IL or missing references) //IL_1848: Unknown result type (might be due to invalid IL or missing references) //IL_184d: Unknown result type (might be due to invalid IL or missing references) //IL_1852: Unknown result type (might be due to invalid IL or missing references) //IL_1857: Unknown result type (might be due to invalid IL or missing references) //IL_1898: Unknown result type (might be due to invalid IL or missing references) //IL_18ac: Unknown result type (might be due to invalid IL or missing references) //IL_18c0: Unknown result type (might be due to invalid IL or missing references) //IL_18c5: Unknown result type (might be due to invalid IL or missing references) //IL_18ca: Unknown result type (might be due to invalid IL or missing references) //IL_18cf: Unknown result type (might be due to invalid IL or missing references) //IL_1910: Unknown result type (might be due to invalid IL or missing references) //IL_1924: Unknown result type (might be due to invalid IL or missing references) //IL_1938: Unknown result type (might be due to invalid IL or missing references) //IL_193d: Unknown result type (might be due to invalid IL or missing references) //IL_1942: Unknown result type (might be due to invalid IL or missing references) //IL_1947: Unknown result type (might be due to invalid IL or missing references) //IL_1988: Unknown result type (might be due to invalid IL or missing references) //IL_199c: Unknown result type (might be due to invalid IL or missing references) //IL_19b0: Unknown result type (might be due to invalid IL or missing references) //IL_19b5: Unknown result type (might be due to invalid IL or missing references) //IL_19ba: Unknown result type (might be due to invalid IL or missing references) //IL_19bf: Unknown result type (might be due to invalid IL or missing references) //IL_1a00: Unknown result type (might be due to invalid IL or missing references) //IL_1a14: Unknown result type (might be due to invalid IL or missing references) //IL_1a28: Unknown result type (might be due to invalid IL or missing references) //IL_1a2d: Unknown result type (might be due to invalid IL or missing references) //IL_1a32: Unknown result type (might be due to invalid IL or missing references) //IL_1a37: Unknown result type (might be due to invalid IL or missing references) //IL_1a78: Unknown result type (might be due to invalid IL or missing references) //IL_1a8c: Unknown result type (might be due to invalid IL or missing references) //IL_1aa0: Unknown result type (might be due to invalid IL or missing references) //IL_1aa5: Unknown result type (might be due to invalid IL or missing references) //IL_1aaa: Unknown result type (might be due to invalid IL or missing references) //IL_1aaf: Unknown result type (might be due to invalid IL or missing references) //IL_1af0: Unknown result type (might be due to invalid IL or missing references) //IL_1b04: Unknown result type (might be due to invalid IL or missing references) //IL_1b18: Unknown result type (might be due to invalid IL or missing references) //IL_1b1d: Unknown result type (might be due to invalid IL or missing references) //IL_1b22: Unknown result type (might be due to invalid IL or missing references) //IL_1b27: Unknown result type (might be due to invalid IL or missing references) //IL_1b68: Unknown result type (might be due to invalid IL or missing references) //IL_1b7c: Unknown result type (might be due to invalid IL or missing references) //IL_1b90: Unknown result type (might be due to invalid IL or missing references) //IL_1b95: Unknown result type (might be due to invalid IL or missing references) //IL_1b9a: Unknown result type (might be due to invalid IL or missing references) //IL_1b9f: Unknown result type (might be due to invalid IL or missing references) //IL_1be0: Unknown result type (might be due to invalid IL or missing references) //IL_1bf4: Unknown result type (might be due to invalid IL or missing references) //IL_1c08: Unknown result type (might be due to invalid IL or missing references) //IL_1c0d: Unknown result type (might be due to invalid IL or missing references) //IL_1c12: Unknown result type (might be due to invalid IL or missing references) //IL_1c17: Unknown result type (might be due to invalid IL or missing references) //IL_1c58: Unknown result type (might be due to invalid IL or missing references) //IL_1c6c: Unknown result type (might be due to invalid IL or missing references) //IL_1c80: Unknown result type (might be due to invalid IL or missing references) //IL_1c85: Unknown result type (might be due to invalid IL or missing references) //IL_1c8a: Unknown result type (might be due to invalid IL or missing references) //IL_1c8f: Unknown result type (might be due to invalid IL or missing references) //IL_1cd0: Unknown result type (might be due to invalid IL or missing references) //IL_1ce4: Unknown result type (might be due to invalid IL or missing references) //IL_1cf8: Unknown result type (might be due to invalid IL or missing references) //IL_1cfd: Unknown result type (might be due to invalid IL or missing references) //IL_1d02: Unknown result type (might be due to invalid IL or missing references) //IL_1d0a: Unknown result type (might be due to invalid IL or missing references) //IL_1d0f: Unknown result type (might be due to invalid IL or missing references) //IL_1d14: Unknown result type (might be due to invalid IL or missing references) //IL_1d55: Unknown result type (might be due to invalid IL or missing references) //IL_1d69: Unknown result type (might be due to invalid IL or missing references) //IL_1d7d: Unknown result type (might be due to invalid IL or missing references) //IL_1d82: Unknown result type (might be due to invalid IL or missing references) //IL_1d87: Unknown result type (might be due to invalid IL or missing references) //IL_1d8c: Unknown result type (might be due to invalid IL or missing references) //IL_1dcd: Unknown result type (might be due to invalid IL or missing references) //IL_1de1: Unknown result type (might be due to invalid IL or missing references) //IL_1df5: Unknown result type (might be due to invalid IL or missing references) //IL_1dfa: Unknown result type (might be due to invalid IL or missing references) //IL_1dff: Unknown result type (might be due to invalid IL or missing references) //IL_1e04: Unknown result type (might be due to invalid IL or missing references) //IL_1e45: Unknown result type (might be due to invalid IL or missing references) //IL_1e59: Unknown result type (might be due to invalid IL or missing references) //IL_1e6d: Unknown result type (might be due to invalid IL or missing references) //IL_1e72: Unknown result type (might be due to invalid IL or missing references) //IL_1e77: Unknown result type (might be due to invalid IL or missing references) //IL_1e7c: Unknown result type (might be due to invalid IL or missing references) //IL_1ebd: Unknown result type (might be due to invalid IL or missing references) //IL_1ed1: Unknown result type (might be due to invalid IL or missing references) //IL_1ee5: Unknown result type (might be due to invalid IL or missing references) //IL_1eea: Unknown result type (might be due to invalid IL or missing references) //IL_1eef: Unknown result type (might be due to invalid IL or missing references) //IL_1ef4: Unknown result type (might be due to invalid IL or missing references) //IL_1f35: Unknown result type (might be due to invalid IL or missing references) //IL_1f49: Unknown result type (might be due to invalid IL or missing references) //IL_1f5d: Unknown result type (might be due to invalid IL or missing references) //IL_1f62: Unknown result type (might be due to invalid IL or missing references) //IL_1f67: Unknown result type (might be due to invalid IL or missing references) //IL_1f8c: Unknown result type (might be due to invalid IL or missing references) //IL_1fa0: Unknown result type (might be due to invalid IL or missing references) //IL_1fb4: Unknown result type (might be due to invalid IL or missing references) //IL_1fb9: Unknown result type (might be due to invalid IL or missing references) //IL_1fbe: Unknown result type (might be due to invalid IL or missing references) //IL_1fc3: Unknown result type (might be due to invalid IL or missing references) //IL_2004: Unknown result type (might be due to invalid IL or missing references) //IL_2018: Unknown result type (might be due to invalid IL or missing references) //IL_202c: Unknown result type (might be due to invalid IL or missing references) //IL_2031: Unknown result type (might be due to invalid IL or missing references) //IL_2036: Unknown result type (might be due to invalid IL or missing references) //IL_203b: Unknown result type (might be due to invalid IL or missing references) //IL_207c: Unknown result type (might be due to invalid IL or missing references) //IL_2090: Unknown result type (might be due to invalid IL or missing references) //IL_20a4: Unknown result type (might be due to invalid IL or missing references) //IL_20a9: Unknown result type (might be due to invalid IL or missing references) //IL_20ae: Unknown result type (might be due to invalid IL or missing references) //IL_20b3: Unknown result type (might be due to invalid IL or missing references) //IL_20f4: Unknown result type (might be due to invalid IL or missing references) //IL_2108: Unknown result type (might be due to invalid IL or missing references) //IL_211c: Unknown result type (might be due to invalid IL or missing references) //IL_2121: Unknown result type (might be due to invalid IL or missing references) //IL_2126: Unknown result type (might be due to invalid IL or missing references) //IL_212b: Unknown result type (might be due to invalid IL or missing references) //IL_216c: Unknown result type (might be due to invalid IL or missing references) //IL_2180: Unknown result type (might be due to invalid IL or missing references) //IL_2194: Unknown result type (might be due to invalid IL or missing references) //IL_2199: Unknown result type (might be due to invalid IL or missing references) //IL_219e: Unknown result type (might be due to invalid IL or missing references) //IL_21a3: Unknown result type (might be due to invalid IL or missing references) //IL_21e4: Unknown result type (might be due to invalid IL or missing references) //IL_21f8: Unknown result type (might be due to invalid IL or missing references) //IL_220c: Unknown result type (might be due to invalid IL or missing references) //IL_2211: Unknown result type (might be due to invalid IL or missing references) //IL_2216: Unknown result type (might be due to invalid IL or missing references) //IL_221b: Unknown result type (might be due to invalid IL or missing references) //IL_225c: Unknown result type (might be due to invalid IL or missing references) //IL_2270: Unknown result type (might be due to invalid IL or missing references) //IL_2284: Unknown result type (might be due to invalid IL or missing references) //IL_2289: Unknown result type (might be due to invalid IL or missing references) //IL_228e: Unknown result type (might be due to invalid IL or missing references) //IL_2293: Unknown result type (might be due to invalid IL or missing references) //IL_22d4: Unknown result type (might be due to invalid IL or missing references) //IL_22e8: Unknown result type (might be due to invalid IL or missing references) //IL_22fc: Unknown result type (might be due to invalid IL or missing references) //IL_2301: Unknown result type (might be due to invalid IL or missing references) //IL_2306: Unknown result type (might be due to invalid IL or missing references) //IL_230b: Unknown result type (might be due to invalid IL or missing references) //IL_234c: Unknown result type (might be due to invalid IL or missing references) //IL_2360: Unknown result type (might be due to invalid IL or missing references) //IL_2374: Unknown result type (might be due to invalid IL or missing references) //IL_2379: Unknown result type (might be due to invalid IL or missing references) //IL_237e: Unknown result type (might be due to invalid IL or missing references) //IL_2383: Unknown result type (might be due to invalid IL or missing references) //IL_23c4: Unknown result type (might be due to invalid IL or missing references) //IL_23d8: Unknown result type (might be due to invalid IL or missing references) //IL_23ec: Unknown result type (might be due to invalid IL or missing references) //IL_23f1: Unknown result type (might be due to invalid IL or missing references) //IL_23f6: Unknown result type (might be due to invalid IL or missing references) //IL_23fb: Unknown result type (might be due to invalid IL or missing references) //IL_243c: Unknown result type (might be due to invalid IL or missing references) //IL_2450: Unknown result type (might be due to invalid IL or missing references) //IL_2464: Unknown result type (might be due to invalid IL or missing references) //IL_2469: Unknown result type (might be due to invalid IL or missing references) //IL_246e: Unknown result type (might be due to invalid IL or missing references) //IL_2473: Unknown result type (might be due to invalid IL or missing references) //IL_24b4: Unknown result type (might be due to invalid IL or missing references) //IL_24c8: Unknown result type (might be due to invalid IL or missing references) //IL_24dc: Unknown result type (might be due to invalid IL or missing references) //IL_24e1: Unknown result type (might be due to invalid IL or missing references) //IL_24e6: Unknown result type (might be due to invalid IL or missing references) //IL_24eb: Unknown result type (might be due to invalid IL or missing references) //IL_252c: Unknown result type (might be due to invalid IL or missing references) //IL_2540: Unknown result type (might be due to invalid IL or missing references) //IL_2554: Unknown result type (might be due to invalid IL or missing references) //IL_2559: Unknown result type (might be due to invalid IL or missing references) //IL_255e: Unknown result type (might be due to invalid IL or missing references) //IL_2563: Unknown result type (might be due to invalid IL or missing references) //IL_25a4: Unknown result type (might be due to invalid IL or missing references) //IL_25b8: Unknown result type (might be due to invalid IL or missing references) //IL_25cc: Unknown result type (might be due to invalid IL or missing references) //IL_25d1: Unknown result type (might be due to invalid IL or missing references) //IL_25d6: Unknown result type (might be due to invalid IL or missing references) //IL_25db: Unknown result type (might be due to invalid IL or missing references) //IL_261c: Unknown result type (might be due to invalid IL or missing references) //IL_2630: Unknown result type (might be due to invalid IL or missing references) //IL_2644: Unknown result type (might be due to invalid IL or missing references) //IL_2649: Unknown result type (might be due to invalid IL or missing references) //IL_264e: Unknown result type (might be due to invalid IL or missing references) //IL_2653: Unknown result type (might be due to invalid IL or missing references) //IL_2694: Unknown result type (might be due to invalid IL or missing references) //IL_26a8: Unknown result type (might be due to invalid IL or missing references) //IL_26bc: Unknown result type (might be due to invalid IL or missing references) //IL_26c1: Unknown result type (might be due to invalid IL or missing references) //IL_26c6: Unknown result type (might be due to invalid IL or missing references) //IL_26cb: Unknown result type (might be due to invalid IL or missing references) //IL_270c: Unknown result type (might be due to invalid IL or missing references) //IL_2720: Unknown result type (might be due to invalid IL or missing references) //IL_2734: Unknown result type (might be due to invalid IL or missing references) //IL_2739: Unknown result type (might be due to invalid IL or missing references) //IL_273e: Unknown result type (might be due to invalid IL or missing references) //IL_2743: Unknown result type (might be due to invalid IL or missing references) //IL_2784: Unknown result type (might be due to invalid IL or missing references) //IL_2798: Unknown result type (might be due to invalid IL or missing references) //IL_27ac: Unknown result type (might be due to invalid IL or missing references) //IL_27b1: Unknown result type (might be due to invalid IL or missing references) //IL_27b6: Unknown result type (might be due to invalid IL or missing references) //IL_27bb: Unknown result type (might be due to invalid IL or missing references) //IL_27fc: Unknown result type (might be due to invalid IL or missing references) //IL_2810: Unknown result type (might be due to invalid IL or missing references) //IL_2824: Unknown result type (might be due to invalid IL or missing references) //IL_2829: Unknown result type (might be due to invalid IL or missing references) //IL_282e: Unknown result type (might be due to invalid IL or missing references) //IL_2833: Unknown result type (might be due to invalid IL or missing references) //IL_2874: Unknown result type (might be due to invalid IL or missing references) //IL_2888: Unknown result type (might be due to invalid IL or missing references) //IL_289c: Unknown result type (might be due to invalid IL or missing references) //IL_28a1: Unknown result type (might be due to invalid IL or missing references) //IL_28a6: Unknown result type (might be due to invalid IL or missing references) //IL_28ab: Unknown result type (might be due to invalid IL or missing references) //IL_28ec: Unknown result type (might be due to invalid IL or missing references) //IL_2900: Unknown result type (might be due to invalid IL or missing references) //IL_2914: Unknown result type (might be due to invalid IL or missing references) //IL_2919: Unknown result type (might be due to invalid IL or missing references) //IL_291e: Unknown result type (might be due to invalid IL or missing references) //IL_2923: Unknown result type (might be due to invalid IL or missing references) //IL_2964: Unknown result type (might be due to invalid IL or missing references) //IL_2978: Unknown result type (might be due to invalid IL or missing references) //IL_298c: Unknown result type (might be due to invalid IL or missing references) //IL_2991: Unknown result type (might be due to invalid IL or missing references) //IL_2996: Unknown result type (might be due to invalid IL or missing references) //IL_299b: Unknown result type (might be due to invalid IL or missing references) //IL_29dc: Unknown result type (might be due to invalid IL or missing references) //IL_29f0: Unknown result type (might be due to invalid IL or missing references) //IL_2a04: Unknown result type (might be due to invalid IL or missing references) //IL_2a09: Unknown result type (might be due to invalid IL or missing references) //IL_2a0e: Unknown result type (might be due to invalid IL or missing references) //IL_2a13: Unknown result type (might be due to invalid IL or missing references) //IL_2a54: Unknown result type (might be due to invalid IL or missing references) //IL_2a68: Unknown result type (might be due to invalid IL or missing references) //IL_2a7c: Unknown result type (might be due to invalid IL or missing references) //IL_2a81: Unknown result type (might be due to invalid IL or missing references) //IL_2a86: Unknown result type (might be due to invalid IL or missing references) //IL_2a8b: Unknown result type (might be due to invalid IL or missing references) //IL_2acc: Unknown result type (might be due to invalid IL or missing references) //IL_2ae0: Unknown result type (might be due to invalid IL or missing references) //IL_2af4: Unknown result type (might be due to invalid IL or missing references) //IL_2af9: Unknown result type (might be due to invalid IL or missing references) //IL_2afe: Unknown result type (might be due to invalid IL or missing references) //IL_2b23: Unknown result type (might be due to invalid IL or missing references) //IL_2b37: Unknown result type (might be due to invalid IL or missing references) //IL_2b4b: Unknown result type (might be due to invalid IL or missing references) //IL_2b50: Unknown result type (might be due to invalid IL or missing references) //IL_2b55: Unknown result type (might be due to invalid IL or missing references) //IL_2b5a: Unknown result type (might be due to invalid IL or missing references) //IL_2b9b: Unknown result type (might be due to invalid IL or missing references) //IL_2baf: Unknown result type (might be due to invalid IL or missing references) //IL_2bc3: Unknown result type (might be due to invalid IL or missing references) //IL_2bc8: Unknown result type (might be due to invalid IL or missing references) //IL_2bcd: Unknown result type (might be due to invalid IL or missing references) //IL_2bd2: Unknown result type (might be due to invalid IL or missing references) //IL_2c13: Unknown result type (might be due to invalid IL or missing references) //IL_2c27: Unknown result type (might be due to invalid IL or missing references) //IL_2c3b: Unknown result type (might be due to invalid IL or missing references) //IL_2c40: Unknown result type (might be due to invalid IL or missing references) //IL_2c45: Unknown result type (might be due to invalid IL or missing references) //IL_2c4a: Unknown result type (might be due to invalid IL or missing references) //IL_2c8b: Unknown result type (might be due to invalid IL or missing references) //IL_2c9f: Unknown result type (might be due to invalid IL or missing references) //IL_2cb3: Unknown result type (might be due to invalid IL or missing references) //IL_2cb8: Unknown result type (might be due to invalid IL or missing references) //IL_2cbd: Unknown result type (might be due to invalid IL or missing references) //IL_2cc2: Unknown result type (might be due to invalid IL or missing references) //IL_2d03: Unknown result type (might be due to invalid IL or missing references) //IL_2d17: Unknown result type (might be due to invalid IL or missing references) //IL_2d2b: Unknown result type (might be due to invalid IL or missing references) //IL_2d30: Unknown result type (might be due to invalid IL or missing references) //IL_2d35: Unknown result type (might be due to invalid IL or missing references) //IL_2d3a: Unknown result type (might be due to invalid IL or missing references) //IL_2d7b: Unknown result type (might be due to invalid IL or missing references) //IL_2d8f: Unknown result type (might be due to invalid IL or missing references) //IL_2da3: Unknown result type (might be due to invalid IL or missing references) //IL_2da8: Unknown result type (might be due to invalid IL or missing references) //IL_2dad: Unknown result type (might be due to invalid IL or missing references) //IL_2db2: Unknown result type (might be due to invalid IL or missing references) //IL_2df3: Unknown result type (might be due to invalid IL or missing references) //IL_2e07: Unknown result type (might be due to invalid IL or missing references) //IL_2e1b: Unknown result type (might be due to invalid IL or missing references) //IL_2e20: Unknown result type (might be due to invalid IL or missing references) //IL_2e25: Unknown result type (might be due to invalid IL or missing references) //IL_2e2a: Unknown result type (might be due to invalid IL or missing references) //IL_2e6b: Unknown result type (might be due to invalid IL or missing references) //IL_2e7f: Unknown result type (might be due to invalid IL or missing references) //IL_2e93: Unknown result type (might be due to invalid IL or missing references) //IL_2e98: Unknown result type (might be due to invalid IL or missing references) //IL_2e9d: Unknown result type (might be due to invalid IL or missing references) //IL_2ea2: Unknown result type (might be due to invalid IL or missing references) //IL_2ee3: Unknown result type (might be due to invalid IL or missing references) //IL_2ef7: Unknown result type (might be due to invalid IL or missing references) //IL_2f0b: Unknown result type (might be due to invalid IL or missing references) //IL_2f10: Unknown result type (might be due to invalid IL or missing references) //IL_2f15: Unknown result type (might be due to invalid IL or missing references) //IL_2f1a: Unknown result type (might be due to invalid IL or missing references) //IL_2f5b: Unknown result type (might be due to invalid IL or missing references) //IL_2f6f: Unknown result type (might be due to invalid IL or missing references) //IL_2f83: Unknown result type (might be due to invalid IL or missing references) //IL_2f88: Unknown result type (might be due to invalid IL or missing references) //IL_2f8d: Unknown result type (might be due to invalid IL or missing references) //IL_2f92: Unknown result type (might be due to invalid IL or missing references) //IL_2fd3: Unknown result type (might be due to invalid IL or missing references) //IL_2fe7: Unknown result type (might be due to invalid IL or missing references) //IL_2ffb: Unknown result type (might be due to invalid IL or missing references) //IL_3000: Unknown result type (might be due to invalid IL or missing references) //IL_3005: Unknown result type (might be due to invalid IL or missing references) //IL_300a: Unknown result type (might be due to invalid IL or missing references) //IL_304b: Unknown result type (might be due to invalid IL or missing references) //IL_305f: Unknown result type (might be due to invalid IL or missing references) //IL_3073: Unknown result type (might be due to invalid IL or missing references) //IL_3078: Unknown result type (might be due to invalid IL or missing references) //IL_307d: Unknown result type (might be due to invalid IL or missing references) //IL_3082: Unknown result type (might be due to invalid IL or missing references) //IL_30c3: Unknown result type (might be due to invalid IL or missing references) //IL_30d7: Unknown result type (might be due to invalid IL or missing references) //IL_30eb: Unknown result type (might be due to invalid IL or missing references) //IL_30f0: Unknown result type (might be due to invalid IL or missing references) //IL_30f5: Unknown result type (might be due to invalid IL or missing references) //IL_30fa: Unknown result type (might be due to invalid IL or missing references) //IL_313b: Unknown result type (might be due to invalid IL or missing references) //IL_314f: Unknown result type (might be due to invalid IL or missing references) //IL_3163: Unknown result type (might be due to invalid IL or missing references) //IL_3168: Unknown result type (might be due to invalid IL or missing references) //IL_316d: Unknown result type (might be due to invalid IL or missing references) //IL_3172: Unknown result type (might be due to invalid IL or missing references) //IL_31b3: Unknown result type (might be due to invalid IL or missing references) //IL_31c7: Unknown result type (might be due to invalid IL or missing references) //IL_31db: Unknown result type (might be due to invalid IL or missing references) //IL_31e0: Unknown result type (might be due to invalid IL or missing references) //IL_31e5: Unknown result type (might be due to invalid IL or missing references) //IL_31ea: Unknown result type (might be due to invalid IL or missing references) //IL_322b: Unknown result type (might be due to invalid IL or missing references) //IL_323f: Unknown result type (might be due to invalid IL or missing references) //IL_3253: Unknown result type (might be due to invalid IL or missing references) //IL_3258: Unknown result type (might be due to invalid IL or missing references) //IL_325d: Unknown result type (might be due to invalid IL or missing references) //IL_3282: Unknown result type (might be due to invalid IL or missing references) //IL_3296: Unknown result type (might be due to invalid IL or missing references) //IL_32aa: Unknown result type (might be due to invalid IL or missing references) //IL_32af: Unknown result type (might be due to invalid IL or missing references) //IL_32b4: Unknown result type (might be due to invalid IL or missing references) //IL_32b9: Unknown result type (might be due to invalid IL or missing references) //IL_32fa: Unknown result type (might be due to invalid IL or missing references) //IL_330e: Unknown result type (might be due to invalid IL or missing references) //IL_3322: Unknown result type (might be due to invalid IL or missing references) //IL_3327: Unknown result type (might be due to invalid IL or missing references) //IL_332c: Unknown result type (might be due to invalid IL or missing references) //IL_3331: Unknown result type (might be due to invalid IL or missing references) //IL_3372: Unknown result type (might be due to invalid IL or missing references) //IL_3386: Unknown result type (might be due to invalid IL or missing references) //IL_339a: Unknown result type (might be due to invalid IL or missing references) //IL_339f: Unknown result type (might be due to invalid IL or missing references) //IL_33a4: Unknown result type (might be due to invalid IL or missing references) //IL_33c9: Unknown result type (might be due to invalid IL or missing references) //IL_33dd: Unknown result type (might be due to invalid IL or missing references) //IL_33f1: Unknown result type (might be due to invalid IL or missing references) //IL_33f6: Unknown result type (might be due to invalid IL or missing references) //IL_33fb: Unknown result type (might be due to invalid IL or missing references) //IL_3400: Unknown result type (might be due to invalid IL or missing references) //IL_3441: Unknown result type (might be due to invalid IL or missing references) //IL_3455: Unknown result type (might be due to invalid IL or missing references) //IL_3469: Unknown result type (might be due to invalid IL or missing references) //IL_346e: Unknown result type (might be due to invalid IL or missing references) //IL_3473: Unknown result type (might be due to invalid IL or missing references) //IL_3478: Unknown result type (might be due to invalid IL or missing references) //IL_34b9: Unknown result type (might be due to invalid IL or missing references) //IL_34cd: Unknown result type (might be due to invalid IL or missing references) //IL_34e1: Unknown result type (might be due to invalid IL or missing references) //IL_34e6: Unknown result type (might be due to invalid IL or missing references) //IL_34eb: Unknown result type (might be due to invalid IL or missing references) //IL_34f0: Unknown result type (might be due to invalid IL or missing references) //IL_3531: Unknown result type (might be due to invalid IL or missing references) //IL_3545: Unknown result type (might be due to invalid IL or missing references) //IL_3559: Unknown result type (might be due to invalid IL or missing references) //IL_355e: Unknown result type (might be due to invalid IL or missing references) //IL_3563: Unknown result type (might be due to invalid IL or missing references) //IL_3568: Unknown result type (might be due to invalid IL or missing references) //IL_35a9: Unknown result type (might be due to invalid IL or missing references) //IL_35bd: Unknown result type (might be due to invalid IL or missing references) //IL_35d1: Unknown result type (might be due to invalid IL or missing references) //IL_35d6: Unknown result type (might be due to invalid IL or missing references) //IL_35db: Unknown result type (might be due to invalid IL or missing references) //IL_35e0: Unknown result type (might be due to invalid IL or missing references) //IL_3621: Unknown result type (might be due to invalid IL or missing references) //IL_3635: Unknown result type (might be due to invalid IL or missing references) //IL_3649: Unknown result type (might be due to invalid IL or missing references) //IL_364e: Unknown result type (might be due to invalid IL or missing references) //IL_3653: Unknown result type (might be due to invalid IL or missing references) //IL_3658: Unknown result type (might be due to invalid IL or missing references) //IL_3699: Unknown result type (might be due to invalid IL or missing references) //IL_36ad: Unknown result type (might be due to invalid IL or missing references) //IL_36c1: Unknown result type (might be due to invalid IL or missing references) //IL_36c6: Unknown result type (might be due to invalid IL or missing references) //IL_36cb: Unknown result type (might be due to invalid IL or missing references) //IL_36d0: Unknown result type (might be due to invalid IL or missing references) //IL_3711: Unknown result type (might be due to invalid IL or missing references) //IL_3725: Unknown result type (might be due to invalid IL or missing references) //IL_3739: Unknown result type (might be due to invalid IL or missing references) //IL_373e: Unknown result type (might be due to invalid IL or missing references) //IL_3743: Unknown result type (might be due to invalid IL or missing references) //IL_3748: Unknown result type (might be due to invalid IL or missing references) //IL_3789: Unknown result type (might be due to invalid IL or missing references) //IL_379d: Unknown result type (might be due to invalid IL or missing references) //IL_37b1: Unknown result type (might be due to invalid IL or missing references) //IL_37b6: Unknown result type (might be due to invalid IL or missing references) //IL_37bb: Unknown result type (might be due to invalid IL or missing references) //IL_37c0: Unknown result type (might be due to invalid IL or missing references) //IL_3801: Unknown result type (might be due to invalid IL or missing references) //IL_3815: Unknown result type (might be due to invalid IL or missing references) //IL_3829: Unknown result type (might be due to invalid IL or missing references) //IL_382e: Unknown result type (might be due to invalid IL or missing references) //IL_3833: Unknown result type (might be due to invalid IL or missing references) //IL_3838: Unknown result type (might be due to invalid IL or missing references) //IL_3879: Unknown result type (might be due to invalid IL or missing references) //IL_388d: Unknown result type (might be due to invalid IL or missing references) //IL_38a1: Unknown result type (might be due to invalid IL or missing references) //IL_38a6: Unknown result type (might be due to invalid IL or missing references) //IL_38ab: Unknown result type (might be due to invalid IL or missing references) //IL_38b0: Unknown result type (might be due to invalid IL or missing references) //IL_38f1: Unknown result type (might be due to invalid IL or missing references) //IL_3905: Unknown result type (might be due to invalid IL or missing references) //IL_3919: Unknown result type (might be due to invalid IL or missing references) //IL_391e: Unknown result type (might be due to invalid IL or missing references) //IL_3923: Unknown result type (might be due to invalid IL or missing references) //IL_3928: Unknown result type (might be due to invalid IL or missing references) //IL_3969: Unknown result type (might be due to invalid IL or missing references) //IL_397d: Unknown result type (might be due to invalid IL or missing references) //IL_3991: Unknown result type (might be due to invalid IL or missing references) //IL_3996: Unknown result type (might be due to invalid IL or missing references) //IL_399b: Unknown result type (might be due to invalid IL or missing references) //IL_39a0: Unknown result type (might be due to invalid IL or missing references) //IL_39e1: Unknown result type (might be due to invalid IL or missing references) //IL_39f5: Unknown result type (might be due to invalid IL or missing references) //IL_3a09: Unknown result type (might be due to invalid IL or missing references) //IL_3a0e: Unknown result type (might be due to invalid IL or missing references) //IL_3a13: Unknown result type (might be due to invalid IL or missing references) //IL_3a18: Unknown result type (might be due to invalid IL or missing references) //IL_3a59: Unknown result type (might be due to invalid IL or missing references) //IL_3a6d: Unknown result type (might be due to invalid IL or missing references) //IL_3a81: Unknown result type (might be due to invalid IL or missing references) //IL_3a86: Unknown result type (might be due to invalid IL or missing references) //IL_3a8b: Unknown result type (might be due to invalid IL or missing references) //IL_3a90: Unknown result type (might be due to invalid IL or missing references) //IL_3ad1: Unknown result type (might be due to invalid IL or missing references) //IL_3ae5: Unknown result type (might be due to invalid IL or missing references) //IL_3af9: Unknown result type (might be due to invalid IL or missing references) //IL_3afe: Unknown result type (might be due to invalid IL or missing references) //IL_3b03: Unknown result type (might be due to invalid IL or missing references) //IL_3b08: Unknown result type (might be due to invalid IL or missing references) //IL_3b49: Unknown result type (might be due to invalid IL or missing references) //IL_3b5d: Unknown result type (might be due to invalid IL or missing references) //IL_3b71: Unknown result type (might be due to invalid IL or missing references) //IL_3b76: Unknown result type (might be due to invalid IL or missing references) //IL_3b7b: Unknown result type (might be due to invalid IL or missing references) //IL_3b80: Unknown result type (might be due to invalid IL or missing references) //IL_3bc1: Unknown result type (might be due to invalid IL or missing references) //IL_3bd5: Unknown result type (might be due to invalid IL or missing references) //IL_3be9: Unknown result type (might be due to invalid IL or missing references) //IL_3bee: Unknown result type (might be due to invalid IL or missing references) //IL_3bf3: Unknown result type (might be due to invalid IL or missing references) //IL_3bf8: Unknown result type (might be due to invalid IL or missing references) //IL_3c39: Unknown result type (might be due to invalid IL or missing references) //IL_3c4d: Unknown result type (might be due to invalid IL or missing references) //IL_3c61: Unknown result type (might be due to invalid IL or missing references) //IL_3c66: Unknown result type (might be due to invalid IL or missing references) //IL_3c6b: Unknown result type (might be due to invalid IL or missing references) //IL_3c90: Unknown result type (might be due to invalid IL or missing references) //IL_3ca4: Unknown result type (might be due to invalid IL or missing references) //IL_3cb8: Unknown result type (might be due to invalid IL or missing references) //IL_3cbd: Unknown result type (might be due to invalid IL or missing references) //IL_3cc2: Unknown result type (might be due to invalid IL or missing references) //IL_3ce7: Unknown result type (might be due to invalid IL or missing references) //IL_3cfb: Unknown result type (might be due to invalid IL or missing references) //IL_3d0f: Unknown result type (might be due to invalid IL or missing references) //IL_3d14: Unknown result type (might be due to invalid IL or missing references) //IL_3d19: Unknown result type (might be due to invalid IL or missing references) //IL_3d3e: Unknown result type (might be due to invalid IL or missing references) //IL_3d52: Unknown result type (might be due to invalid IL or missing references) //IL_3d66: Unknown result type (might be due to invalid IL or missing references) //IL_3d6b: Unknown result type (might be due to invalid IL or missing references) //IL_3d70: Unknown result type (might be due to invalid IL or missing references) //IL_3d95: Unknown result type (might be due to invalid IL or missing references) //IL_3da9: Unknown result type (might be due to invalid IL or missing references) //IL_3dbd: Unknown result type (might be due to invalid IL or missing references) //IL_3dc2: Unknown result type (might be due to invalid IL or missing references) //IL_3dc7: Unknown result type (might be due to invalid IL or missing references) //IL_3dcc: Unknown result type (might be due to invalid IL or missing references) //IL_3e0d: Unknown result type (might be due to invalid IL or missing references) //IL_3e21: Unknown result type (might be due to invalid IL or missing references) //IL_3e35: Unknown result type (might be due to invalid IL or missing references) //IL_3e3a: Unknown result type (might be due to invalid IL or missing references) //IL_3e3f: Unknown result type (might be due to invalid IL or missing references) //IL_3e44: Unknown result type (might be due to invalid IL or missing references) //IL_3e85: Unknown result type (might be due to invalid IL or missing references) //IL_3e99: Unknown result type (might be due to invalid IL or missing references) //IL_3ead: Unknown result type (might be due to invalid IL or missing references) //IL_3eb2: Unknown result type (might be due to invalid IL or missing references) //IL_3eb7: Unknown result type (might be due to invalid IL or missing references) //IL_3ebc: Unknown result type (might be due to invalid IL or missing references) //IL_3efd: Unknown result type (might be due to invalid IL or missing references) //IL_3f11: Unknown result type (might be due to invalid IL or missing references) //IL_3f25: Unknown result type (might be due to invalid IL or missing references) //IL_3f2a: Unknown result type (might be due to invalid IL or missing references) //IL_3f2f: Unknown result type (might be due to invalid IL or missing references) //IL_3f34: Unknown result type (might be due to invalid IL or missing references) //IL_3f75: Unknown result type (might be due to invalid IL or missing references) //IL_3f89: Unknown result type (might be due to invalid IL or missing references) //IL_3f9d: Unknown result type (might be due to invalid IL or missing references) //IL_3fa2: Unknown result type (might be due to invalid IL or missing references) //IL_3fa7: Unknown result type (might be due to invalid IL or missing references) //IL_3fcc: Unknown result type (might be due to invalid IL or missing references) //IL_3fe0: Unknown result type (might be due to invalid IL or missing references) //IL_3ff4: Unknown result type (might be due to invalid IL or missing references) //IL_3ff9: Unknown result type (might be due to invalid IL or missing references) //IL_3ffe: Unknown result type (might be due to invalid IL or missing references) //IL_4003: Unknown result type (might be due to invalid IL or missing references) //IL_4044: Unknown result type (might be due to invalid IL or missing references) //IL_4058: Unknown result type (might be due to invalid IL or missing references) //IL_406c: Unknown result type (might be due to invalid IL or missing references) //IL_4071: Unknown result type (might be due to invalid IL or missing references) //IL_4076: Unknown result type (might be due to invalid IL or missing references) //IL_407b: Unknown result type (might be due to invalid IL or missing references) //IL_40bc: Unknown result type (might be due to invalid IL or missing references) //IL_40d0: Unknown result type (might be due to invalid IL or missing references) //IL_40e4: Unknown result type (might be due to invalid IL or missing references) //IL_40e9: Unknown result type (might be due to invalid IL or missing references) //IL_40ee: Unknown result type (might be due to invalid IL or missing references) //IL_40f3: Unknown result type (might be due to invalid IL or missing references) //IL_4134: Unknown result type (might be due to invalid IL or missing references) //IL_4148: Unknown result type (might be due to invalid IL or missing references) //IL_415c: Unknown result type (might be due to invalid IL or missing references) //IL_4161: Unknown result type (might be due to invalid IL or missing references) //IL_4166: Unknown result type (might be due to invalid IL or missing references) //IL_416b: Unknown result type (might be due to invalid IL or missing references) //IL_41ac: Unknown result type (might be due to invalid IL or missing references) //IL_41c0: Unknown result type (might be due to invalid IL or missing references) //IL_41d4: Unknown result type (might be due to invalid IL or missing references) //IL_41d9: Unknown result type (might be due to invalid IL or missing references) //IL_41de: Unknown result type (might be due to invalid IL or missing references) //IL_41e3: Unknown result type (might be due to invalid IL or missing references) //IL_4224: Unknown result type (might be due to invalid IL or missing references) //IL_4238: Unknown result type (might be due to invalid IL or missing references) //IL_424c: Unknown result type (might be due to invalid IL or missing references) //IL_4251: Unknown result type (might be due to invalid IL or missing references) //IL_4256: Unknown result type (might be due to invalid IL or missing references) //IL_425b: Unknown result type (might be due to invalid IL or missing references) //IL_429c: Unknown result type (might be due to invalid IL or missing references) //IL_42b0: Unknown result type (might be due to invalid IL or missing references) //IL_42c4: Unknown result type (might be due to invalid IL or missing references) //IL_42c9: Unknown result type (might be due to invalid IL or missing references) //IL_42ce: Unknown result type (might be due to invalid IL or missing references) //IL_42f3: Unknown result type (might be due to invalid IL or missing references) //IL_4307: Unknown result type (might be due to invalid IL or missing references) //IL_431b: Unknown result type (might be due to invalid IL or missing references) //IL_4320: Unknown result type (might be due to invalid IL or missing references) //IL_4325: Unknown result type (might be due to invalid IL or missing references) //IL_432a: Unknown result type (might be due to invalid IL or missing references) //IL_436b: Unknown result type (might be due to invalid IL or missing references) //IL_437f: Unknown result type (might be due to invalid IL or missing references) //IL_4393: Unknown result type (might be due to invalid IL or missing references) //IL_4398: Unknown result type (might be due to invalid IL or missing references) //IL_439d: Unknown result type (might be due to invalid IL or missing references) //IL_43a2: Unknown result type (might be due to invalid IL or missing references) //IL_43e3: Unknown result type (might be due to invalid IL or missing references) //IL_43f7: Unknown result type (might be due to invalid IL or missing references) //IL_440b: Unknown result type (might be due to invalid IL or missing references) //IL_4410: Unknown result type (might be due to invalid IL or missing references) //IL_4415: Unknown result type (might be due to invalid IL or missing references) //IL_441a: Unknown result type (might be due to invalid IL or missing references) //IL_445b: Unknown result type (might be due to invalid IL or missing references) //IL_446f: Unknown result type (might be due to invalid IL or missing references) //IL_4483: Unknown result type (might be due to invalid IL or missing references) //IL_4488: Unknown result type (might be due to invalid IL or missing references) //IL_448d: Unknown result type (might be due to invalid IL or missing references) //IL_4492: Unknown result type (might be due to invalid IL or missing references) //IL_44d3: Unknown result type (might be due to invalid IL or missing references) //IL_44e7: Unknown result type (might be due to invalid IL or missing references) //IL_44fb: Unknown result type (might be due to invalid IL or missing references) //IL_4500: Unknown result type (might be due to invalid IL or missing references) //IL_4505: Unknown result type (might be due to invalid IL or missing references) //IL_450a: Unknown result type (might be due to invalid IL or missing references) //IL_454b: Unknown result type (might be due to invalid IL or missing references) //IL_455f: Unknown result type (might be due to invalid IL or missing references) //IL_4573: Unknown result type (might be due to invalid IL or missing references) //IL_4578: Unknown result type (might be due to invalid IL or missing references) //IL_457d: Unknown result type (might be due to invalid IL or missing references) //IL_4582: Unknown result type (might be due to invalid IL or missing references) //IL_45c3: Unknown result type (might be due to invalid IL or missing references) //IL_45d7: Unknown result type (might be due to invalid IL or missing references) //IL_45eb: Unknown result type (might be due to invalid IL or missing references) //IL_45f0: Unknown result type (might be due to invalid IL or missing references) //IL_45f5: Unknown result type (might be due to invalid IL or missing references) //IL_45fa: Unknown result type (might be due to invalid IL or missing references) //IL_463b: Unknown result type (might be due to invalid IL or missing references) //IL_464f: Unknown result type (might be due to invalid IL or missing references) //IL_4663: Unknown result type (might be due to invalid IL or missing references) //IL_4668: Unknown result type (might be due to invalid IL or missing references) //IL_466d: Unknown result type (might be due to invalid IL or missing references) //IL_4672: Unknown result type (might be due to invalid IL or missing references) //IL_46b3: Unknown result type (might be due to invalid IL or missing references) //IL_46c7: Unknown result type (might be due to invalid IL or missing references) //IL_46db: Unknown result type (might be due to invalid IL or missing references) //IL_46e0: Unknown result type (might be due to invalid IL or missing references) //IL_46e5: Unknown result type (might be due to invalid IL or missing references) //IL_46ea: Unknown result type (might be due to invalid IL or missing references) //IL_472b: Unknown result type (might be due to invalid IL or missing references) //IL_473f: Unknown result type (might be due to invalid IL or missing references) //IL_4753: Unknown result type (might be due to invalid IL or missing references) //IL_4758: Unknown result type (might be due to invalid IL or missing references) //IL_475d: Unknown result type (might be due to invalid IL or missing references) //IL_4762: Unknown result type (might be due to invalid IL or missing references) //IL_47a3: Unknown result type (might be due to invalid IL or missing references) //IL_47b7: Unknown result type (might be due to invalid IL or missing references) //IL_47cb: Unknown result type (might be due to invalid IL or missing references) //IL_47d0: Unknown result type (might be due to invalid IL or missing references) //IL_47d5: Unknown result type (might be due to invalid IL or missing references) //IL_47fa: Unknown result type (might be due to invalid IL or missing references) //IL_480e: Unknown result type (might be due to invalid IL or missing references) //IL_4822: Unknown result type (might be due to invalid IL or missing references) //IL_4827: Unknown result type (might be due to invalid IL or missing references) //IL_482c: Unknown result type (might be due to invalid IL or missing references) //IL_4831: Unknown result type (might be due to invalid IL or missing references) //IL_4872: Unknown result type (might be due to invalid IL or missing references) //IL_4886: Unknown result type (might be due to invalid IL or missing references) //IL_489a: Unknown result type (might be due to invalid IL or missing references) //IL_489f: Unknown result type (might be due to invalid IL or missing references) //IL_48a4: Unknown result type (might be due to invalid IL or missing references) //IL_48a9: Unknown result type (might be due to invalid IL or missing references) //IL_48ea: Unknown result type (might be due to invalid IL or missing references) //IL_48fe: Unknown result type (might be due to invalid IL or missing references) //IL_4912: Unknown result type (might be due to invalid IL or missing references) //IL_4917: Unknown result type (might be due to invalid IL or missing references) //IL_491c: Unknown result type (might be due to invalid IL or missing references) //IL_4921: Unknown result type (might be due to invalid IL or missing references) //IL_4962: Unknown result type (might be due to invalid IL or missing references) //IL_4976: Unknown result type (might be due to invalid IL or missing references) //IL_498a: Unknown result type (might be due to invalid IL or missing references) //IL_498f: Unknown result type (might be due to invalid IL or missing references) //IL_4994: Unknown result type (might be due to invalid IL or missing references) //IL_49b9: Unknown result type (might be due to invalid IL or missing references) //IL_49cd: Unknown result type (might be due to invalid IL or missing references) //IL_49e1: Unknown result type (might be due to invalid IL or missing references) //IL_49e6: Unknown result type (might be due to invalid IL or missing references) //IL_49eb: Unknown result type (might be due to invalid IL or missing references) //IL_49f0: Unknown result type (might be due to invalid IL or missing references) //IL_4a31: Unknown result type (might be due to invalid IL or missing references) //IL_4a45: Unknown result type (might be due to invalid IL or missing references) //IL_4a59: Unknown result type (might be due to invalid IL or missing references) //IL_4a5e: Unknown result type (might be due to invalid IL or missing references) //IL_4a63: Unknown result type (might be due to invalid IL or missing references) //IL_4a68: Unknown result type (might be due to invalid IL or missing references) //IL_4aa9: Unknown result type (might be due to invalid IL or missing references) //IL_4abd: Unknown result type (might be due to invalid IL or missing references) //IL_4ad1: Unknown result type (might be due to invalid IL or missing references) //IL_4ad6: Unknown result type (might be due to invalid IL or missing references) //IL_4adb: Unknown result type (might be due to invalid IL or missing references) //IL_4ae0: Unknown result type (might be due to invalid IL or missing references) //IL_4b21: Unknown result type (might be due to invalid IL or missing references) //IL_4b35: Unknown result type (might be due to invalid IL or missing references) //IL_4b49: Unknown result type (might be due to invalid IL or missing references) //IL_4b4e: Unknown result type (might be due to invalid IL or missing references) //IL_4b53: Unknown result type (might be due to invalid IL or missing references) //IL_4b58: Unknown result type (might be due to invalid IL or missing references) //IL_4b99: Unknown result type (might be due to invalid IL or missing references) //IL_4bad: Unknown result type (might be due to invalid IL or missing references) //IL_4bc1: Unknown result type (might be due to invalid IL or missing references) //IL_4bc6: Unknown result type (might be due to invalid IL or missing references) //IL_4bcb: Unknown result type (might be due to invalid IL or missing references) //IL_4bd0: Unknown result type (might be due to invalid IL or missing references) //IL_4c11: Unknown result type (might be due to invalid IL or missing references) //IL_4c25: Unknown result type (might be due to invalid IL or missing references) //IL_4c39: Unknown result type (might be due to invalid IL or missing references) //IL_4c3e: Unknown result type (might be due to invalid IL or missing references) //IL_4c43: Unknown result type (might be due to invalid IL or missing references) //IL_4c48: Unknown result type (might be due to invalid IL or missing references) //IL_4c89: Unknown result type (might be due to invalid IL or missing references) //IL_4c9d: Unknown result type (might be due to invalid IL or missing references) //IL_4cb1: Unknown result type (might be due to invalid IL or missing references) //IL_4cb6: Unknown result type (might be due to invalid IL or missing references) //IL_4cbb: Unknown result type (might be due to invalid IL or missing references) //IL_4cc0: Unknown result type (might be due to invalid IL or missing references) //IL_4d01: Unknown result type (might be due to invalid IL or missing references) //IL_4d15: Unknown result type (might be due to invalid IL or missing references) //IL_4d29: Unknown result type (might be due to invalid IL or missing references) //IL_4d2e: Unknown result type (might be due to invalid IL or missing references) //IL_4d33: Unknown result type (might be due to invalid IL or missing references) //IL_4d38: Unknown result type (might be due to invalid IL or missing references) //IL_4d79: Unknown result type (might be due to invalid IL or missing references) //IL_4d8d: Unknown result type (might be due to invalid IL or missing references) //IL_4da1: Unknown result type (might be due to invalid IL or missing references) //IL_4da6: Unknown result type (might be due to invalid IL or missing references) //IL_4dab: Unknown result type (might be due to invalid IL or missing references) //IL_4db0: Unknown result type (might be due to invalid IL or missing references) //IL_4df1: Unknown result type (might be due to invalid IL or missing references) //IL_4e05: Unknown result type (might be due to invalid IL or missing references) //IL_4e19: Unknown result type (might be due to invalid IL or missing references) //IL_4e1e: Unknown result type (might be due to invalid IL or missing references) //IL_4e23: Unknown result type (might be due to invalid IL or missing references) //IL_4e28: Unknown result type (might be due to invalid IL or missing references) //IL_4e69: Unknown result type (might be due to invalid IL or missing references) //IL_4e7d: Unknown result type (might be due to invalid IL or missing references) //IL_4e91: Unknown result type (might be due to invalid IL or missing references) //IL_4e96: Unknown result type (might be due to invalid IL or missing references) //IL_4e9b: Unknown result type (might be due to invalid IL or missing references) //IL_4ea0: Unknown result type (might be due to invalid IL or missing references) //IL_4ee1: Unknown result type (might be due to invalid IL or missing references) //IL_4ef5: Unknown result type (might be due to invalid IL or missing references) //IL_4f09: Unknown result type (might be due to invalid IL or missing references) //IL_4f0e: Unknown result type (might be due to invalid IL or missing references) //IL_4f13: Unknown result type (might be due to invalid IL or missing references) //IL_4f18: Unknown result type (might be due to invalid IL or missing references) //IL_4f59: Unknown result type (might be due to invalid IL or missing references) //IL_4f6d: Unknown result type (might be due to invalid IL or missing references) //IL_4f81: Unknown result type (might be due to invalid IL or missing references) //IL_4f86: Unknown result type (might be due to invalid IL or missing references) //IL_4f8b: Unknown result type (might be due to invalid IL or missing references) //IL_4f90: Unknown result type (might be due to invalid IL or missing references) //IL_4fd1: Unknown result type (might be due to invalid IL or missing references) //IL_4fe5: Unknown result type (might be due to invalid IL or missing references) //IL_4ff9: Unknown result type (might be due to invalid IL or missing references) //IL_4ffe: Unknown result type (might be due to invalid IL or missing references) //IL_5003: Unknown result type (might be due to invalid IL or missing references) //IL_500b: Unknown result type (might be due to invalid IL or missing references) //IL_5010: Unknown result type (might be due to invalid IL or missing references) //IL_5015: Unknown result type (might be due to invalid IL or missing references) //IL_5056: Unknown result type (might be due to invalid IL or missing references) //IL_506a: Unknown result type (might be due to invalid IL or missing references) //IL_507e: Unknown result type (might be due to invalid IL or missing references) //IL_5083: Unknown result type (might be due to invalid IL or missing references) //IL_5088: Unknown result type (might be due to invalid IL or missing references) //IL_508d: Unknown result type (might be due to invalid IL or missing references) //IL_50ce: Unknown result type (might be due to invalid IL or missing references) //IL_50e2: Unknown result type (might be due to invalid IL or missing references) //IL_50f6: Unknown result type (might be due to invalid IL or missing references) //IL_50fb: Unknown result type (might be due to invalid IL or missing references) //IL_5100: Unknown result type (might be due to invalid IL or missing references) //IL_5105: Unknown result type (might be due to invalid IL or missing references) //IL_5146: Unknown result type (might be due to invalid IL or missing references) //IL_515a: Unknown result type (might be due to invalid IL or missing references) //IL_516e: Unknown result type (might be due to invalid IL or missing references) //IL_5173: Unknown result type (might be due to invalid IL or missing references) //IL_5178: Unknown result type (might be due to invalid IL or missing references) //IL_517d: Unknown result type (might be due to invalid IL or missing references) //IL_51be: Unknown result type (might be due to invalid IL or missing references) //IL_51d2: Unknown result type (might be due to invalid IL or missing references) //IL_51e6: Unknown result type (might be due to invalid IL or missing references) //IL_51eb: Unknown result type (might be due to invalid IL or missing references) //IL_51f0: Unknown result type (might be due to invalid IL or missing references) //IL_51f5: Unknown result type (might be due to invalid IL or missing references) //IL_5236: Unknown result type (might be due to invalid IL or missing references) //IL_524a: Unknown result type (might be due to invalid IL or missing references) //IL_525e: Unknown result type (might be due to invalid IL or missing references) //IL_5263: Unknown result type (might be due to invalid IL or missing references) //IL_5268: Unknown result type (might be due to invalid IL or missing references) //IL_526d: Unknown result type (might be due to invalid IL or missing references) //IL_52ae: Unknown result type (might be due to invalid IL or missing references) //IL_52c2: Unknown result type (might be due to invalid IL or missing references) //IL_52d6: Unknown result type (might be due to invalid IL or missing references) //IL_52db: Unknown result type (might be due to invalid IL or missing references) //IL_52e0: Unknown result type (might be due to invalid IL or missing references) //IL_52e5: Unknown result type (might be due to invalid IL or missing references) //IL_5326: Unknown result type (might be due to invalid IL or missing references) //IL_533a: Unknown result type (might be due to invalid IL or missing references) //IL_534e: Unknown result type (might be due to invalid IL or missing references) //IL_5353: Unknown result type (might be due to invalid IL or missing references) //IL_5358: Unknown result type (might be due to invalid IL or missing references) //IL_535d: Unknown result type (might be due to invalid IL or missing references) //IL_539e: Unknown result type (might be due to invalid IL or missing references) //IL_53b2: Unknown result type (might be due to invalid IL or missing references) //IL_53c6: Unknown result type (might be due to invalid IL or missing references) //IL_53cb: Unknown result type (might be due to invalid IL or missing references) //IL_53d0: Unknown result type (might be due to invalid IL or missing references) //IL_53d5: Unknown result type (might be due to invalid IL or missing references) //IL_5416: Unknown result type (might be due to invalid IL or missing references) //IL_542a: Unknown result type (might be due to invalid IL or missing references) //IL_543e: Unknown result type (might be due to invalid IL or missing references) //IL_5443: Unknown result type (might be due to invalid IL or missing references) //IL_5448: Unknown result type (might be due to invalid IL or missing references) //IL_544d: Unknown result type (might be due to invalid IL or missing references) //IL_548e: Unknown result type (might be due to invalid IL or missing references) //IL_54a2: Unknown result type (might be due to invalid IL or missing references) //IL_54b6: Unknown result type (might be due to invalid IL or missing references) //IL_54bb: Unknown result type (might be due to invalid IL or missing references) //IL_54c0: Unknown result type (might be due to invalid IL or missing references) //IL_54c5: Unknown result type (might be due to invalid IL or missing references) //IL_5506: Unknown result type (might be due to invalid IL or missing references) //IL_551a: Unknown result type (might be due to invalid IL or missing references) //IL_552e: Unknown result type (might be due to invalid IL or missing references) //IL_5533: Unknown result type (might be due to invalid IL or missing references) //IL_5538: Unknown result type (might be due to invalid IL or missing references) //IL_553d: Unknown result type (might be due to invalid IL or missing references) //IL_557e: Unknown result type (might be due to invalid IL or missing references) //IL_5592: Unknown result type (might be due to invalid IL or missing references) //IL_55a6: Unknown result type (might be due to invalid IL or missing references) //IL_55ab: Unknown result type (might be due to invalid IL or missing references) //IL_55b0: Unknown result type (might be due to invalid IL or missing references) //IL_55b5: Unknown result type (might be due to invalid IL or missing references) //IL_55f6: Unknown result type (might be due to invalid IL or missing references) //IL_560a: Unknown result type (might be due to invalid IL or missing references) //IL_561e: Unknown result type (might be due to invalid IL or missing references) //IL_5623: Unknown result type (might be due to invalid IL or missing references) //IL_5628: Unknown result type (might be due to invalid IL or missing references) //IL_562d: Unknown result type (might be due to invalid IL or missing references) //IL_566e: Unknown result type (might be due to invalid IL or missing references) //IL_5682: Unknown result type (might be due to invalid IL or missing references) //IL_5696: Unknown result type (might be due to invalid IL or missing references) //IL_569b: Unknown result type (might be due to invalid IL or missing references) //IL_56a0: Unknown result type (might be due to invalid IL or missing references) //IL_56a5: Unknown result type (might be due to invalid IL or missing references) //IL_56e6: Unknown result type (might be due to invalid IL or missing references) //IL_56fa: Unknown result type (might be due to invalid IL or missing references) //IL_570e: Unknown result type (might be due to invalid IL or missing references) //IL_5713: Unknown result type (might be due to invalid IL or missing references) //IL_5718: Unknown result type (might be due to invalid IL or missing references) //IL_571d: Unknown result type (might be due to invalid IL or missing references) //IL_575e: Unknown result type (might be due to invalid IL or missing references) //IL_5772: Unknown result type (might be due to invalid IL or missing references) //IL_5786: Unknown result type (might be due to invalid IL or missing references) //IL_578b: Unknown result type (might be due to invalid IL or missing references) //IL_5790: Unknown result type (might be due to invalid IL or missing references) //IL_57b5: Unknown result type (might be due to invalid IL or missing references) //IL_57c9: Unknown result type (might be due to invalid IL or missing references) //IL_57dd: Unknown result type (might be due to invalid IL or missing references) //IL_57e2: Unknown result type (might be due to invalid IL or missing references) //IL_57e7: Unknown result type (might be due to invalid IL or missing references) //IL_57ec: Unknown result type (might be due to invalid IL or missing references) //IL_582d: Unknown result type (might be due to invalid IL or missing references) //IL_5841: Unknown result type (might be due to invalid IL or missing references) //IL_5855: Unknown result type (might be due to invalid IL or missing references) //IL_585a: Unknown result type (might be due to invalid IL or missing references) //IL_585f: Unknown result type (might be due to invalid IL or missing references) //IL_5864: Unknown result type (might be due to invalid IL or missing references) //IL_58a5: Unknown result type (might be due to invalid IL or missing references) //IL_58b9: Unknown result type (might be due to invalid IL or missing references) //IL_58cd: Unknown result type (might be due to invalid IL or missing references) //IL_58d2: Unknown result type (might be due to invalid IL or missing references) //IL_58d7: Unknown result type (might be due to invalid IL or missing references) //IL_58dc: Unknown result type (might be due to invalid IL or missing references) //IL_591d: Unknown result type (might be due to invalid IL or missing references) //IL_5931: Unknown result type (might be due to invalid IL or missing references) //IL_5945: Unknown result type (might be due to invalid IL or missing references) //IL_594a: Unknown result type (might be due to invalid IL or missing references) //IL_594f: Unknown result type (might be due to invalid IL or missing references) //IL_5954: Unknown result type (might be due to invalid IL or missing references) //IL_5995: Unknown result type (might be due to invalid IL or missing references) //IL_59a9: Unknown result type (might be due to invalid IL or missing references) //IL_59bd: Unknown result type (might be due to invalid IL or missing references) //IL_59c2: Unknown result type (might be due to invalid IL or missing references) //IL_59c7: Unknown result type (might be due to invalid IL or missing references) //IL_59cc: Unknown result type (might be due to invalid IL or missing references) //IL_5a0d: Unknown result type (might be due to invalid IL or missing references) //IL_5a21: Unknown result type (might be due to invalid IL or missing references) //IL_5a35: Unknown result type (might be due to invalid IL or missing references) //IL_5a3a: Unknown result type (might be due to invalid IL or missing references) //IL_5a3f: Unknown result type (might be due to invalid IL or missing references) //IL_5a44: Unknown result type (might be due to invalid IL or missing references) //IL_5a85: Unknown result type (might be due to invalid IL or missing references) //IL_5a99: Unknown result type (might be due to invalid IL or missing references) //IL_5aad: Unknown result type (might be due to invalid IL or missing references) //IL_5ab2: Unknown result type (might be due to invalid IL or missing references) //IL_5ab7: Unknown result type (might be due to invalid IL or missing references) //IL_5abc: Unknown result type (might be due to invalid IL or missing references) //IL_5afd: Unknown result type (might be due to invalid IL or missing references) //IL_5b11: Unknown result type (might be due to invalid IL or missing references) //IL_5b25: Unknown result type (might be due to invalid IL or missing references) //IL_5b2a: Unknown result type (might be due to invalid IL or missing references) //IL_5b2f: Unknown result type (might be due to invalid IL or missing references) //IL_5b34: Unknown result type (might be due to invalid IL or missing references) //IL_5b75: Unknown result type (might be due to invalid IL or missing references) //IL_5b89: Unknown result type (might be due to invalid IL or missing references) //IL_5b9d: Unknown result type (might be due to invalid IL or missing references) //IL_5ba2: Unknown result type (might be due to invalid IL or missing references) //IL_5ba7: Unknown result type (might be due to invalid IL or missing references) //IL_5bac: Unknown result type (might be due to invalid IL or missing references) //IL_5bed: Unknown result type (might be due to invalid IL or missing references) //IL_5c01: Unknown result type (might be due to invalid IL or missing references) //IL_5c15: Unknown result type (might be due to invalid IL or missing references) //IL_5c1a: Unknown result type (might be due to invalid IL or missing references) //IL_5c1f: Unknown result type (might be due to invalid IL or missing references) //IL_5c24: Unknown result type (might be due to invalid IL or missing references) //IL_5c65: Unknown result type (might be due to invalid IL or missing references) //IL_5c79: Unknown result type (might be due to invalid IL or missing references) //IL_5c8d: Unknown result type (might be due to invalid IL or missing references) //IL_5c92: Unknown result type (might be due to invalid IL or missing references) //IL_5c97: Unknown result type (might be due to invalid IL or missing references) //IL_5cbc: Unknown result type (might be due to invalid IL or missing references) //IL_5cd0: Unknown result type (might be due to invalid IL or missing references) //IL_5ce4: Unknown result type (might be due to invalid IL or missing references) //IL_5ce9: Unknown result type (might be due to invalid IL or missing references) //IL_5cee: Unknown result type (might be due to invalid IL or missing references) //IL_5cf3: Unknown result type (might be due to invalid IL or missing references) //IL_5d34: Unknown result type (might be due to invalid IL or missing references) //IL_5d48: Unknown result type (might be due to invalid IL or missing references) //IL_5d5c: Unknown result type (might be due to invalid IL or missing references) //IL_5d61: Unknown result type (might be due to invalid IL or missing references) //IL_5d66: Unknown result type (might be due to invalid IL or missing references) //IL_5d8b: Unknown result type (might be due to invalid IL or missing references) //IL_5d9f: Unknown result type (might be due to invalid IL or missing references) //IL_5db3: Unknown result type (might be due to invalid IL or missing references) //IL_5db8: Unknown result type (might be due to invalid IL or missing references) //IL_5dbd: Unknown result type (might be due to invalid IL or missing references) //IL_5dc2: Unknown result type (might be due to invalid IL or missing references) //IL_5e03: Unknown result type (might be due to invalid IL or missing references) //IL_5e17: Unknown result type (might be due to invalid IL or missing references) //IL_5e2b: Unknown result type (might be due to invalid IL or missing references) //IL_5e30: Unknown result type (might be due to invalid IL or missing references) //IL_5e35: Unknown result type (might be due to invalid IL or missing references) //IL_5e3a: Unknown result type (might be due to invalid IL or missing references) //IL_5e7b: Unknown result type (might be due to invalid IL or missing references) //IL_5e8f: Unknown result type (might be due to invalid IL or missing references) //IL_5ea3: Unknown result type (might be due to invalid IL or missing references) //IL_5ea8: Unknown result type (might be due to invalid IL or missing references) //IL_5ead: Unknown result type (might be due to invalid IL or missing references) //IL_5eb2: Unknown result type (might be due to invalid IL or missing references) //IL_5ef3: Unknown result type (might be due to invalid IL or missing references) //IL_5f07: Unknown result type (might be due to invalid IL or missing references) //IL_5f1b: Unknown result type (might be due to invalid IL or missing references) //IL_5f20: Unknown result type (might be due to invalid IL or missing references) //IL_5f25: Unknown result type (might be due to invalid IL or missing references) //IL_5f2a: Unknown result type (might be due to invalid IL or missing references) //IL_5f6b: Unknown result type (might be due to invalid IL or missing references) //IL_5f7f: Unknown result type (might be due to invalid IL or missing references) //IL_5f93: Unknown result type (might be due to invalid IL or missing references) //IL_5f98: Unknown result type (might be due to invalid IL or missing references) //IL_5f9d: Unknown result type (might be due to invalid IL or missing references) //IL_5fa2: Unknown result type (might be due to invalid IL or missing references) //IL_5fe3: Unknown result type (might be due to invalid IL or missing references) //IL_5ff7: Unknown result type (might be due to invalid IL or missing references) //IL_600b: Unknown result type (might be due to invalid IL or missing references) //IL_6010: Unknown result type (might be due to invalid IL or missing references) //IL_6015: Unknown result type (might be due to invalid IL or missing references) //IL_601a: Unknown result type (might be due to invalid IL or missing references) //IL_605b: Unknown result type (might be due to invalid IL or missing references) //IL_606f: Unknown result type (might be due to invalid IL or missing references) //IL_6083: Unknown result type (might be due to invalid IL or missing references) //IL_6088: Unknown result type (might be due to invalid IL or missing references) //IL_608d: Unknown result type (might be due to invalid IL or missing references) //IL_6092: Unknown result type (might be due to invalid IL or missing references) //IL_60d3: Unknown result type (might be due to invalid IL or missing references) //IL_60e7: Unknown result type (might be due to invalid IL or missing references) //IL_60fb: Unknown result type (might be due to invalid IL or missing references) //IL_6100: Unknown result type (might be due to invalid IL or missing references) //IL_6105: Unknown result type (might be due to invalid IL or missing references) //IL_610a: Unknown result type (might be due to invalid IL or missing references) //IL_614b: Unknown result type (might be due to invalid IL or missing references) //IL_615f: Unknown result type (might be due to invalid IL or missing references) //IL_6173: Unknown result type (might be due to invalid IL or missing references) //IL_6178: Unknown result type (might be due to invalid IL or missing references) //IL_617d: Unknown result type (might be due to invalid IL or missing references) //IL_61a2: Unknown result type (might be due to invalid IL or missing references) //IL_61b6: Unknown result type (might be due to invalid IL or missing references) //IL_61ca: Unknown result type (might be due to invalid IL or missing references) //IL_61cf: Unknown result type (might be due to invalid IL or missing references) //IL_61d4: Unknown result type (might be due to invalid IL or missing references) //IL_61d9: Unknown result type (might be due to invalid IL or missing references) //IL_621a: Unknown result type (might be due to invalid IL or missing references) //IL_622e: Unknown result type (might be due to invalid IL or missing references) //IL_6242: Unknown result type (might be due to invalid IL or missing references) //IL_6247: Unknown result type (might be due to invalid IL or missing references) //IL_624c: Unknown result type (might be due to invalid IL or missing references) //IL_6251: Unknown result type (might be due to invalid IL or missing references) //IL_6292: Unknown result type (might be due to invalid IL or missing references) //IL_62a6: Unknown result type (might be due to invalid IL or missing references) //IL_62ba: Unknown result type (might be due to invalid IL or missing references) //IL_62bf: Unknown result type (might be due to invalid IL or missing references) //IL_62c4: Unknown result type (might be due to invalid IL or missing references) //IL_62c9: Unknown result type (might be due to invalid IL or missing references) //IL_630a: Unknown result type (might be due to invalid IL or missing references) //IL_631e: Unknown result type (might be due to invalid IL or missing references) //IL_6332: Unknown result type (might be due to invalid IL or missing references) //IL_6337: Unknown result type (might be due to invalid IL or missing references) //IL_633c: Unknown result type (might be due to invalid IL or missing references) //IL_6341: Unknown result type (might be due to invalid IL or missing references) //IL_6382: Unknown result type (might be due to invalid IL or missing references) //IL_6396: Unknown result type (might be due to invalid IL or missing references) //IL_63aa: Unknown result type (might be due to invalid IL or missing references) //IL_63af: Unknown result type (might be due to invalid IL or missing references) //IL_63b4: Unknown result type (might be due to invalid IL or missing references) //IL_63b9: Unknown result type (might be due to invalid IL or missing references) //IL_63fa: Unknown result type (might be due to invalid IL or missing references) //IL_640e: Unknown result type (might be due to invalid IL or missing references) //IL_6422: Unknown result type (might be due to invalid IL or missing references) //IL_6427: Unknown result type (might be due to invalid IL or missing references) //IL_642c: Unknown result type (might be due to invalid IL or missing references) //IL_6431: Unknown result type (might be due to invalid IL or missing references) //IL_6472: Unknown result type (might be due to invalid IL or missing references) //IL_6486: Unknown result type (might be due to invalid IL or missing references) //IL_649a: Unknown result type (might be due to invalid IL or missing references) //IL_649f: Unknown result type (might be due to invalid IL or missing references) //IL_64a4: Unknown result type (might be due to invalid IL or missing references) //IL_64a9: Unknown result type (might be due to invalid IL or missing references) //IL_64ea: Unknown result type (might be due to invalid IL or missing references) //IL_64fe: Unknown result type (might be due to invalid IL or missing references) //IL_6512: Unknown result type (might be due to invalid IL or missing references) //IL_6517: Unknown result type (might be due to invalid IL or missing references) //IL_651c: Unknown result type (might be due to invalid IL or missing references) //IL_6521: Unknown result type (might be due to invalid IL or missing references) //IL_6562: Unknown result type (might be due to invalid IL or missing references) //IL_6576: Unknown result type (might be due to invalid IL or missing references) //IL_658a: Unknown result type (might be due to invalid IL or missing references) //IL_658f: Unknown result type (might be due to invalid IL or missing references) //IL_6594: Unknown result type (might be due to invalid IL or missing references) //IL_6599: Unknown result type (might be due to invalid IL or missing references) //IL_65da: Unknown result type (might be due to invalid IL or missing references) //IL_65ee: Unknown result type (might be due to invalid IL or missing references) //IL_6602: Unknown result type (might be due to invalid IL or missing references) //IL_6607: Unknown result type (might be due to invalid IL or missing references) //IL_660c: Unknown result type (might be due to invalid IL or missing references) //IL_6611: Unknown result type (might be due to invalid IL or missing references) //IL_6652: Unknown result type (might be due to invalid IL or missing references) //IL_6666: Unknown result type (might be due to invalid IL or missing references) //IL_667a: Unknown result type (might be due to invalid IL or missing references) //IL_667f: Unknown result type (might be due to invalid IL or missing references) //IL_6684: Unknown result type (might be due to invalid IL or missing references) //IL_6689: Unknown result type (might be due to invalid IL or missing references) //IL_66ca: Unknown result type (might be due to invalid IL or missing references) //IL_66de: Unknown result type (might be due to invalid IL or missing references) //IL_66f2: Unknown result type (might be due to invalid IL or missing references) //IL_66f7: Unknown result type (might be due to invalid IL or missing references) //IL_66fc: Unknown result type (might be due to invalid IL or missing references) //IL_6701: Unknown result type (might be due to invalid IL or missing references) //IL_6742: Unknown result type (might be due to invalid IL or missing references) //IL_6756: Unknown result type (might be due to invalid IL or missing references) //IL_676a: Unknown result type (might be due to invalid IL or missing references) //IL_676f: Unknown result type (might be due to invalid IL or missing references) //IL_6774: Unknown result type (might be due to invalid IL or missing references) //IL_6779: Unknown result type (might be due to invalid IL or missing references) //IL_67ba: Unknown result type (might be due to invalid IL or missing references) //IL_67ce: Unknown result type (might be due to invalid IL or missing references) //IL_67e2: Unknown result type (might be due to invalid IL or missing references) //IL_67e7: Unknown result type (might be due to invalid IL or missing references) //IL_67ec: Unknown result type (might be due to invalid IL or missing references) //IL_67f1: Unknown result type (might be due to invalid IL or missing references) //IL_6832: Unknown result type (might be due to invalid IL or missing references) //IL_6846: Unknown result type (might be due to invalid IL or missing references) //IL_685a: Unknown result type (might be due to invalid IL or missing references) //IL_685f: Unknown result type (might be due to invalid IL or missing references) //IL_6864: Unknown result type (might be due to invalid IL or missing references) //IL_6869: Unknown result type (might be due to invalid IL or missing references) //IL_68aa: Unknown result type (might be due to invalid IL or missing references) //IL_68be: Unknown result type (might be due to invalid IL or missing references) //IL_68d2: Unknown result type (might be due to invalid IL or missing references) //IL_68d7: Unknown result type (might be due to invalid IL or missing references) //IL_68dc: Unknown result type (might be due to invalid IL or missing references) //IL_68e1: Unknown result type (might be due to invalid IL or missing references) //IL_6922: Unknown result type (might be due to invalid IL or missing references) //IL_6936: Unknown result type (might be due to invalid IL or missing references) //IL_694a: Unknown result type (might be due to invalid IL or missing references) //IL_694f: Unknown result type (might be due to invalid IL or missing references) //IL_6954: Unknown result type (might be due to invalid IL or missing references) //IL_6979: Unknown result type (might be due to invalid IL or missing references) //IL_698d: Unknown result type (might be due to invalid IL or missing references) //IL_69a1: Unknown result type (might be due to invalid IL or missing references) //IL_69a6: Unknown result type (might be due to invalid IL or missing references) //IL_69ab: Unknown result type (might be due to invalid IL or missing references) //IL_69d0: Unknown result type (might be due to invalid IL or missing references) //IL_69e4: Unknown result type (might be due to invalid IL or missing references) //IL_69f8: Unknown result type (might be due to invalid IL or missing references) //IL_69fd: Unknown result type (might be due to invalid IL or missing references) //IL_6a02: Unknown result type (might be due to invalid IL or missing references) //IL_6a07: Unknown result type (might be due to invalid IL or missing references) itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["AlienHead"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAlienHead"), "CannonL1", new Vector3(0.82792f, 3.1047f, 0.0393f), new Vector3(316.8825f, 287.3433f, 164.4048f), new Vector3(2.40778f, 2.40778f, 2.40778f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ArmorPlate"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRepulsionArmorPlate"), "ShoulderFR", new Vector3(-0.34584f, 0.3275f, -0.02358f), new Vector3(300.6043f, 88.41927f, 193.221f), new Vector3(1.02704f, 1.09778f, 1.09778f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ArmorReductionOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWarhammer"), "JawLower", new Vector3(-0.26724f, 0.30916f, 0.56068f), new Vector3(0f, 0f, 0f), new Vector3(0.44802f, 0.44802f, 0.44802f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["AttackSpeedAndMoveSpeed"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayCoffee"), "FootRFront", new Vector3(-0.131f, 0.24104f, 0.20698f), new Vector3(61.8913f, 346.128f, 274.5165f), new Vector3(0.45064f, 0.45064f, 0.45064f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["AttackSpeedOnCrit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWolfPelt"), "Head", new Vector3(-0.42706f, 0.16506f, -0.04978f), new Vector3(275.2182f, 340.2496f, 110.4822f), new Vector3(1.6637f, 1.6637f, 1.6637f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["AutoCastEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFossil"), "CannonM", new Vector3(-0.59998f, 1.46458f, -0.22008f), new Vector3(34.88758f, 287.7532f, 0.01251f), new Vector3(1.53794f, 1.53794f, 1.53794f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Bandolier"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBandolier"), "Stomach", new Vector3(-0.262f, 0.52924f, -0.04716f), new Vector3(61.25806f, 86.95718f, 258.5722f), new Vector3(1.98072f, 2.54664f, 2.23224f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BarrierOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBrooch"), "CannonR2", new Vector3(-0.75718f, 0.83054f, 0.11266f), new Vector3(4.88236f, 68.8344f, 103.5888f), new Vector3(1.53794f, 1.53794f, 1.53794f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BarrierOnOverHeal"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAegis"), "CannonL2", new Vector3(-0.53448f, 0.75718f, 0.24628f), new Vector3(2.57513f, 247.9416f, 78.05787f), new Vector3(0.58164f, 0.58164f, 0.58164f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Bear"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBear"), "Tail1", new Vector3(-0.0655f, 0.50042f, 0.61832f), new Vector3(339.1949f, 343.3132f, 185.2405f), new Vector3(0.58164f, 0.58164f, 0.58164f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BearVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBearVoid"), "Tail1", new Vector3(-0.0655f, 0.50042f, 0.61832f), new Vector3(353.3733f, 350.1193f, 182.7603f), new Vector3(0.58164f, 0.58164f, 0.58164f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BeetleGland"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBeetleGland"), "CannonR1", new Vector3(0.04978f, 0.8777f, -0.1965f), new Vector3(0.35301f, 26.97074f, 51.45611f), new Vector3(0.18864f, 0.18864f, 0.18864f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Behemoth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBehemoth"), "CannonM", new Vector3(-1.31524f, 1.62178f, -0.0393f), new Vector3(17.14912f, 264.8521f, 357.803f), new Vector3(0.2489f, 0.2489f, 0.2489f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BleedOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTriTip"), "Chest", new Vector3(-1.2445f, -0.15982f, -0.64976f), new Vector3(348.0823f, 58.84056f, 356.4404f), new Vector3(0.68644f, 0.68644f, 0.68644f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BleedOnHitAndExplode"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBleedOnHitAndExplode"), "CannonR2", new Vector3(0.31964f, 0.09694f, -0.27772f), new Vector3(0.16112f, 0.12192f, 53.17397f), new Vector3(0.19388f, 0.19388f, 0.19388f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BleedOnHitVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTriTipVoid"), "Chest", new Vector3(-1.5458f, -0.2096f, -0.89604f), new Vector3(351.2829f, 52.1021f, 358.2687f), new Vector3(0.68644f, 0.68644f, 0.68644f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BonusGoldPackOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTome"), "Stomach", new Vector3(-0.4323f, -0.00786f, 0.54496f), new Vector3(1.79905f, 345.1404f, 87.14014f), new Vector3(0.17554f, 0.17554f, 0.17554f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BossDamageBonus"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAPRound"), "CannonL2", new Vector3(-0.12314f, 0.8646f, -0.39562f), new Vector3(74.82944f, 39.17511f, 16.24889f), new Vector3(1.87854f, 1.87854f, 1.87854f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BounceNearby"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHook"), "CannonM", new Vector3(-0.67858f, 0.24628f, 0.00786f), new Vector3(276.4501f, 105.0343f, 341.8651f), new Vector3(1.39646f, 1.39646f, 1.39646f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ChainLightning"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayUkulele"), "CannonM", new Vector3(-0.21484f, 0.41658f, 0.57902f), new Vector3(0.30762f, 337.5528f, 61.48467f), new Vector3(1.87854f, 1.87854f, 1.87854f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ChainLightningVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayUkuleleVoid"), "CannonM", new Vector3(-0.21484f, 0.41658f, 0.57902f), new Vector3(0.30762f, 337.5528f, 61.48467f), new Vector3(1.87854f, 1.87854f, 1.87854f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Clover"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayClover"), "CannonR2", new Vector3(-1.17114f, 1.0218f, 0.00524f), new Vector3(7.74383f, 358.7386f, 64.37773f), new Vector3(1.87854f, 1.87854f, 1.87854f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CloverVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayCloverVoid"), "CannonR2", new Vector3(-1.17114f, 1.0218f, 0.00524f), new Vector3(7.74383f, 358.7386f, 64.37773f), new Vector3(1.87854f, 1.87854f, 1.87854f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CooldownOnCrit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySkull"), "LowerLegBL", new Vector3(-0.04716f, 0.0393f, 0.07336f), new Vector3(75.69096f, 312.5846f, 157.8741f), new Vector3(0.72836f, 0.8908f, 0.80172f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CritDamage"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLaserSight"), "CannonM", new Vector3(-0.64452f, 1.5196f, 0.07336f), new Vector3(8.67031f, 245.5983f, 267.8395f), new Vector3(0.39562f, 0.39562f, 0.39562f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CritGlasses"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGlasses"), "JawUpper", new Vector3(-0.2096f, 0.4716f, 0f), new Vector3(296.7123f, 277.8254f, 173.2569f), new Vector3(0.56592f, 0.56592f, 0.5109f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CritGlassesVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGlassesVoid"), "JawUpper", new Vector3(-0.2096f, 0.4716f, 0f), new Vector3(296.7123f, 277.8254f, 173.2569f), new Vector3(0.56592f, 0.56592f, 0.5109f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Crowbar"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayCrowbar"), "UpperLegFL", new Vector3(-0.21484f, 1.02966f, -0.0524f), new Vector3(331.0945f, 120.6027f, 257.6521f), new Vector3(0.74146f, 0.74146f, 0.74146f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Dagger"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDagger"), "CannonL1", new Vector3(0.10218f, 2.04098f, -0.16506f), new Vector3(348.2637f, 256.5058f, 315.2405f), new Vector3(1.8733f, -1.8733f, 1.8733f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["DeathMark"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDeathMark"), "LowerLegBR", new Vector3(-0.26724f, -0.06026f, -0.05502f), new Vector3(67.35581f, 8.77935f, 300.3753f), new Vector3(0.0524f, 0.0524f, 0.0524f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ElementalRingVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayVoidRing"), "Tail3", new Vector3(0.02096f, 0.20698f, 0.1572f), new Vector3(74.6888f, 175.6584f, 160.0018f), new Vector3(1.55628f, 1.55628f, 1.55628f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarSun"], ItemDisplays.CreateLimbMaskDisplayRule((LimbFlags)1), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySunHeadNeck"), "Head", new Vector3(-0.06026f, 0.13886f, 0.0786f), new Vector3(359.201f, 223.1724f, 187.412f), new Vector3(-4.50116f, -4.50116f, -4.50116f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySunHead"), "Head", new Vector3(-0.14672f, 0.50304f, 0.02882f), new Vector3(0f, 0f, 0f), new Vector3(-1.76588f, -1.76588f, -1.76588f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EnergizedOnEquipmentUse"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWarHorn"), "Tail1", new Vector3(0.52662f, 0.4061f, 0.45326f), new Vector3(353.8985f, 58.72745f, 2.95061f), new Vector3(1.08468f, 1.08468f, 1.08468f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EquipmentMagazine"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBattery"), "CannonL1", new Vector3(-0.0524f, 0.55544f, -0.15196f), new Vector3(62.71756f, 26.30354f, 323.923f), new Vector3(0.30654f, 0.30654f, 0.30654f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EquipmentMagazineVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFuelCellVoid"), "CannonL1", new Vector3(-0.0524f, 0.55544f, -0.15196f), new Vector3(62.71756f, 26.30354f, 323.923f), new Vector3(0.30654f, 0.30654f, 0.30654f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExecuteLowHealthElite"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGuillotine"), "CannonL1", new Vector3(-0.0131f, 1.54842f, 0.21746f), new Vector3(359.2478f, 242.771f, 80.86945f), new Vector3(0.29606f, 0.29606f, 0.29606f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExplodeOnDeath"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWilloWisp"), "CannonR1", new Vector3(0.0393f, 0.77552f, 0.20698f), new Vector3(359.6913f, 330.5868f, 88.44695f), new Vector3(0.10218f, 0.10218f, 0.10218f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExplodeOnDeathVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWillowWispVoid"), "CannonR1", new Vector3(0.0393f, 0.77552f, 0.20698f), new Vector3(359.6913f, 330.5868f, 88.44695f), new Vector3(0.10218f, 0.10218f, 0.10218f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExtraLife"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHippo"), "Head", new Vector3(-0.57902f, 0.13624f, -0.01834f), new Vector3(323.5077f, 272.7049f, 174.4573f), new Vector3(0.51614f, 0.51614f, 0.51614f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExtraLifeVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHippoVoid"), "Head", new Vector3(-0.57902f, 0.13624f, -0.01834f), new Vector3(323.5077f, 272.7049f, 174.4573f), new Vector3(0.51614f, 0.51614f, 0.51614f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FallBoots"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGravBoots"), "LowerLegFR", new Vector3(0.0524f, 0.47946f, -0.00262f), new Vector3(15.72228f, 133.5144f, 184.6421f), new Vector3(1.048f, 1.048f, 1.048f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGravBoots"), "LowerLegFL", new Vector3(-0.11528f, 0.524f, -0.04716f), new Vector3(359.4806f, 188.1382f, 166.5909f), new Vector3(1.048f, 1.048f, 1.048f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGravBoots"), "LowerLegBL", new Vector3(0.00262f, 0.5502f, -0.03144f), new Vector3(359.5225f, 38.73606f, 168.1505f), new Vector3(0.786f, 0.786f, 0.786f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGravBoots"), "LowerLegBR", new Vector3(0.00262f, 0.42182f, -0.11266f), new Vector3(30.70843f, 139.946f, 192.6492f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Feather"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFeather"), "Chest", new Vector3(-0.9694f, -0.63928f, -0.05764f), new Vector3(62.46412f, 99.55613f, 187.345f), new Vector3(0.05764f, 0.05764f, 0.05764f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FireballsOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFireballsOnHit"), "CannonL1", new Vector3(0.0524f, -0.01834f, 0f), new Vector3(89.23128f, 156.9026f, 247.0269f), new Vector3(0.13362f, 0.13362f, 0.13362f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FireRing"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFireRing"), "CannonL1", new Vector3(0.1572f, 1.82614f, -0.02882f), new Vector3(271.1805f, 80.53051f, 270.341f), new Vector3(1.66632f, 1.66632f, 1.66632f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Firework"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFirework"), "Tail1", new Vector3(-0.5895f, 0.5633f, 0.22532f), new Vector3(4.54549f, 5.7684f, 233.6832f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FlatHealth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySteakCurved"), "JawLower", new Vector3(-0.31178f, 0.3537f, -0.0131f), new Vector3(16.32465f, 282.0292f, 245.7986f), new Vector3(0.1572f, 0.1572f, 0.1572f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FocusConvergence"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFocusedConvergence"), "BodyMesh", new Vector3(2.709f, -0.695f, 4.226f), new Vector3(0f, 0f, 0f), new Vector3(0.28975f, 0.28975f, 0.28975f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FragileDamageBonus"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDelicateWatch"), "UpperLegFR", new Vector3(-0.07074f, 0.37204f, -0.02882f), new Vector3(276.6938f, 229.1019f, 242.8953f), new Vector3(1.77636f, 3.62608f, 1.77636f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FreeChest"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShippingRequestForm"), "CannonR2", new Vector3(-0.60522f, 0.74932f, -0.19388f), new Vector3(346.343f, 114.4886f, 257.9795f), new Vector3(1.39384f, 1.39384f, 1.39384f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GhostOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMask"), "Head", new Vector3(-0.33274f, 0.64976f, -0.00786f), new Vector3(320.3438f, 270.2191f, 178.2722f), new Vector3(0.54758f, 0.54758f, 0.54758f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GoldOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBoneCrown"), "Neck", new Vector3(-0.40086f, 0.07336f, 0f), new Vector3(287.305f, 110.8396f, 341.4423f), new Vector3(2.79292f, 2.79292f, 2.3056f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GoldOnHurt"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRollOfPennies"), "LowerLegFR", new Vector3(-0.3537f, 0.262f, -0.12314f), new Vector3(8.99135f, 245.1853f, 272.4706f), new Vector3(1.0349f, 1.0349f, 1.0349f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HalfAttackSpeedHalfCooldowns"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLunarShoulderNature"), "ShoulderFL", new Vector3(-0.35894f, 0.3013f, 0.1048f), new Vector3(8.21673f, 199.4362f, 246.4739f), new Vector3(1.85496f, 1.85496f, 1.85496f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HalfSpeedDoubleHealth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLunarShoulderStone"), "ShoulderBR", new Vector3(-0.3537f, 0.21746f, -0.04192f), new Vector3(352.622f, 169.8431f, 232.2887f), new Vector3(1.3231f, 1.3231f, 1.3231f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HeadHunter"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySkullcrown"), "CannonR1", new Vector3(0.08908f, 1.19472f, 0.01048f), new Vector3(4.77789f, 261.8047f, 0.7582f), new Vector3(1.02704f, 0.35632f, 0.46898f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HealingPotion"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHealingPotion"), "CannonL1", new Vector3(0.52138f, 2.35276f, 0.49518f), new Vector3(354.4439f, 341.4752f, 74.05693f), new Vector3(0.1048f, 0.1048f, 0.1048f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HealOnCrit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayScythe"), "CannonM", new Vector3(0.09694f, 0.58688f, -0.6026f), new Vector3(357.9789f, 117.7932f, 97.02751f), new Vector3(0.60784f, 0.60784f, 0.60784f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HealWhileSafe"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySnail"), "Chest", new Vector3(-1.16066f, -0.34322f, -0.21484f), new Vector3(342.0566f, 128.6691f, 259.3024f), new Vector3(0.1703f, 0.1703f, 0.1703f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Hoof"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHoof"), "LowerLegBR", new Vector3(0.09956f, 0.45064f, 0.0524f), new Vector3(68.93609f, 294.4485f, 162.8885f), new Vector3(0.19912f, 0.20174f, 0.17292f)), ItemDisplays.CreateLimbMaskDisplayRule((LimbFlags)8))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["IceRing"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayIceRing"), "CannonR1", new Vector3(0.1572f, 1.82614f, -0.02882f), new Vector3(271.1805f, 80.53051f, 270.341f), new Vector3(1.66632f, 1.66632f, 1.66632f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Icicle"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFrostRelic"), "BodyMesh", new Vector3(-3.296f, -0.525f, 4.183f), new Vector3(16.60143f, 342.1269f, 131.5411f), new Vector3(3.79752f, 3.79752f, 3.79752f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["IgniteOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGasoline"), "CannonL1", new Vector3(0.09694f, 0.8384f, 0.19126f), new Vector3(0.17455f, 241.7809f, 173.49f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ImmuneToDebuff"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRainCoatBelt"), "Tail2", new Vector3(-0.04716f, 0.45326f, 0.18078f), new Vector3(345.8519f, 183.5619f, 176.6527f), new Vector3(2.20342f, 1.9257f, 2.75362f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["IncreaseHealing"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAntler"), "CannonM", new Vector3(-0.24628f, 1.76588f, 0.20436f), new Vector3(22.67947f, 1.262f, 70.31944f), new Vector3(1.179f, 1.179f, 1.179f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAntler"), "CannonM", new Vector3(-0.11266f, 1.6768f, -0.22794f), new Vector3(356.6619f, 183.3313f, 281.1073f), new Vector3(-1.179f, 1.179f, 1.179f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Incubator"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAncestralIncubator"), "CannonR2", new Vector3(0.63142f, 1.1397f, -0.50828f), new Vector3(359.3303f, 359.864f, 275.1376f), new Vector3(0.05764f, 0.05764f, 0.05764f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Infusion"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayInfusion"), "CannonR1", new Vector3(0.0131f, 0.5109f, -0.12838f), new Vector3(6.51738f, 201.5587f, 270.9378f), new Vector3(1.07944f, 1.07944f, 1.1135f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["JumpBoost"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWaxBird"), "Tail1", new Vector3(0.0393f, -0.30392f, -0.0917f), new Vector3(281.6557f, 204.9582f, 332.273f), new Vector3(1.51174f, 1.51174f, 1.51174f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["KillEliteFrenzy"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBrainstalk"), "Head", new Vector3(-0.88294f, 0.35894f, -0.01834f), new Vector3(7.13956f, 1.18677f, 268.9176f), new Vector3(0.65762f, 0.65762f, 0.38252f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Knurl"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayKnurl"), "CannonR2", new Vector3(0.51876f, -0.38252f, 0.21746f), new Vector3(35.67677f, 3.67156f, 153.6139f), new Vector3(0.14672f, 0.14672f, 0.14672f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LaserTurbine"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLaserTurbine"), "CannonR2", new Vector3(-0.01048f, 0.60522f, 0.42968f), new Vector3(10.23441f, 343.6224f, 359.4098f), new Vector3(1.31524f, 1.31524f, 1.31524f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LightningStrikeOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayChargedPerforator"), "CannonR1", new Vector3(0.0524f, -0.01834f, 0f), new Vector3(5.55781f, 269.5089f, 0.85269f), new Vector3(1.92308f, 1.92308f, 1.92308f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarDagger"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLunarDagger"), "CannonL1", new Vector3(-0.11528f, 0.93272f, -0.0786f), new Vector3(68.35986f, 308.6188f, 285.3361f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarPrimaryReplacement"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBirdEye"), "Head", new Vector3(-0.09956f, 0.43492f, 0f), new Vector3(1.28788f, 353.1268f, 189.9673f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarSecondaryReplacement"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBirdClaw"), "CannonR2", new Vector3(-0.05764f, 0.91438f, -0.48208f), new Vector3(13.81396f, 196.9657f, 283.3372f), new Vector3(1.8733f, 1.8733f, 1.8733f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarSpecialReplacement"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBirdHeart"), "BodyMesh", new Vector3(2.305f, 1.019f, 3.66f), new Vector3(1.13576f, 12.43992f, 201.2514f), new Vector3(0.52817f, 0.52817f, 0.52817f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarTrinket"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBeads"), "FootLFront", new Vector3(0.06026f, 0.36418f, 0.04716f), new Vector3(319.5353f, 344.0704f, 294.0811f), new Vector3(3.85664f, 4.43566f, 4.28632f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarUtilityReplacement"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBirdFoot"), "CannonL2", new Vector3(0.54758f, 1.38336f, -0.48994f), new Vector3(0.58266f, 185.7901f, 318.2601f), new Vector3(1.60344f, 1.60344f, 1.60344f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Medkit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMedkit"), "Chest", new Vector3(0.79386f, 0.393f, 0.17554f), new Vector3(40.45152f, 333.5978f, 73.38712f), new Vector3(1.15542f, 1.15542f, 1.15542f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MinorConstructOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDefenseNucleus"), "BodyMesh", new Vector3(-2.648f, 1.176f, 3.533f), new Vector3(86.66463f, 180f, 180f), new Vector3(0.91457f, 0.91457f, 0.91457f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Missile"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMissileLauncher"), "CannonM", new Vector3(-1.05586f, 0.9563f, -0.94582f), new Vector3(279.0811f, 273.2381f, 122.2655f), new Vector3(0.25676f, 0.25676f, 0.25676f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MissileVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMissileLauncherVoid"), "CannonM", new Vector3(-1.05586f, 0.9563f, -0.94582f), new Vector3(279.0811f, 273.2381f, 122.2655f), new Vector3(0.25676f, 0.25676f, 0.25676f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MonstersOnShrineUse"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMonstersOnShrineUse"), "Tail5", new Vector3(0.02096f, 0.29082f, 0.2751f), new Vector3(319.3513f, 106.7037f, 346.6171f), new Vector3(0.0917f, 0.0917f, 0.0917f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MoreMissile"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayICBM"), "CannonM", new Vector3(-0.19912f, 1.07682f, -0.54758f), new Vector3(13.74205f, 327.3432f, 6.21417f), new Vector3(0.27248f, 0.27248f, 0.27248f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MoveSpeedOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGrappleHook"), "CannonL2", new Vector3(0.33012f, 1.22092f, 0.4847f), new Vector3(283.9756f, 166.4609f, 266.9389f), new Vector3(0.4716f, 0.4716f, 0.4716f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Mushroom"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMushroom"), "Tail5", new Vector3(0.00524f, 0.72836f, 0.1572f), new Vector3(0f, 0f, 0f), new Vector3(0.13624f, 0.13624f, 0.13624f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MushroomVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMushroomVoid"), "Tail5", new Vector3(0.00524f, 0.72836f, 0.1572f), new Vector3(0f, 0f, 0f), new Vector3(0.13624f, 0.13624f, 0.13624f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["NearbyDamageBonus"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDiamond"), "CannonM", new Vector3(-0.97988f, 2.096f, -0.00786f), new Vector3(333.3477f, 87.73821f, 317.3846f), new Vector3(0.131f, 0.131f, 0.131f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["NovaOnHeal"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDevilHorns"), "CannonL2", new Vector3(-0.6026f, 0.95368f, 0.1703f), new Vector3(357.5602f, 250.0468f, 15.19442f), new Vector3(1.572f, 1.572f, 1.572f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDevilHorns"), "CannonR2", new Vector3(-0.59998f, 0.88032f, -0.09694f), new Vector3(2.5249f, 283.2307f, 333.9818f), new Vector3(-1.572f, 1.572f, 1.572f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["NovaOnLowHealth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayJellyGuts"), "CannonL1", new Vector3(-0.00786f, 1.2576f, 0.15982f), new Vector3(328.3806f, 104.997f, 358.8842f), new Vector3(0.39038f, 0.39038f, 0.39038f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["OutOfCombatArmor"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayOddlyShapedOpal"), "CannonL2", new Vector3(-0.7336f, 0.90652f, -0.16768f), new Vector3(355.9448f, 19.20143f, 78.05345f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ParentEgg"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayParentEgg"), "CannonL1", new Vector3(0.25938f, 0.61308f, 0.00262f), new Vector3(1.2706f, 86.67559f, 1.38419f), new Vector3(0.06026f, 0.06026f, 0.06026f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Pearl"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayPearl"), "BodyMesh", new Vector3(0f, -1.704f, 4.411f), new Vector3(0f, 0f, 0f), new Vector3(0.399f, 0.399f, 0.399f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["PermanentDebuffOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayScorpion"), "CannonL2", new Vector3(-1.2183f, 1.0873f, -0.00262f), new Vector3(1.86174f, 92.2208f, 2.6429f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["PersonalShield"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShieldGenerator"), "Chest", new Vector3(-1.1266f, -0.69692f, 0.02096f), new Vector3(337.4843f, 314.838f, 346.2195f), new Vector3(0.42444f, 0.42444f, 0.42444f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Phasing"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayStealthkit"), "ShoulderBL", new Vector3(-0.11528f, 0.46112f, 0.24104f), new Vector3(302.3257f, 5.99898f, 295.0934f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Plant"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayInterstellarDeskPlant"), "Tail1", new Vector3(0.19388f, 0.11266f, 0.74146f), new Vector3(339.4784f, 10.29468f, 39.97167f), new Vector3(0.11004f, 0.11004f, 0.11004f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["PrimarySkillShuriken"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShuriken"), "LowerLegFR", new Vector3(-0.33012f, -0.27248f, -0.1703f), new Vector3(335.5521f, 64.18762f, 350.7318f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["RandomDamageZone"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRandomDamageZone"), "Chest", new Vector3(-1.48816f, -0.58164f, 0.06288f), new Vector3(13.24056f, 91.40051f, 4.7054f), new Vector3(0.14672f, 0.14672f, 0.14672f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["RandomEquipmentTrigger"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBottledChaos"), "CannonL2", new Vector3(0.5895f, -0.13624f, 0.52662f), new Vector3(7.21557f, 333.5861f, 81.84316f), new Vector3(0.31964f, 0.31964f, 0.31964f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["RandomlyLunar"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDomino"), "BodyMesh", new Vector3(2.01f, 3.169f, 3.378f), new Vector3(1E-05f, -2E-05f, 129.148f), new Vector3(3.15331f, 3.15331f, 3.15331f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["RegeneratingScrap"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRegeneratingScrap"), "CannonL2", new Vector3(0.03144f, 0.16506f, 0.62094f), new Vector3(9.76024f, 343.5659f, 88.28815f), new Vector3(0.3406f, 0.3406f, 0.3406f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["RepeatHeal"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayCorpseflower"), "CannonM", new Vector3(0.10742f, 1.58772f, 0.4716f), new Vector3(82.76582f, 3.02234f, 23.77436f), new Vector3(0.62356f, 0.62356f, 0.62356f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SecondarySkillMagazine"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDoubleMag"), "CannonR2", new Vector3(0.68644f, 0.02358f, 0.0131f), new Vector3(292.9865f, 255.6676f, 13.8561f), new Vector3(0.28558f, 0.28558f, 0.28558f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDoubleMag"), "CannonL2", new Vector3(0.68644f, 0.02358f, 0.0131f), new Vector3(292.9865f, 255.6676f, 13.8561f), new Vector3(0.28558f, 0.28558f, 0.28558f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Seed"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySeed"), "LowerLegFR", new Vector3(-0.2882f, 0.26986f, 0.30654f), new Vector3(0.29025f, 282.5623f, 46.82766f), new Vector3(0.08908f, 0.08908f, 0.08908f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ShieldOnly"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShieldBug"), "Head", new Vector3(-0.38776f, 0.34584f, -0.08384f), new Vector3(344.0446f, 346.8745f, 103.4123f), new Vector3(0.786f, 0.786f, 0.786f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShieldBug"), "Head", new Vector3(-0.40086f, 0.31702f, 0.0131f), new Vector3(18.95777f, 13.81494f, 107.226f), new Vector3(0.786f, 0.786f, -0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ShinyPearl"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShinyPearl"), "BodyMesh", new Vector3(0f, -1.752f, 4.848f), new Vector3(0f, 0f, 0f), new Vector3(0.386f, 0.386f, 0.386f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ShockNearby"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTeslaCoil"), "Neck", new Vector3(-0.58164f, 0.17816f, 0f), new Vector3(0f, 0f, 88.48837f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SiphonOnLowHealth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySiphonOnLowHealth"), "CannonR2", new Vector3(0.61308f, 1.29952f, 0.53448f), new Vector3(278.9936f, 87.35855f, 2.60902f), new Vector3(0.13624f, 0.13624f, 0.13624f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SlowOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBauble"), "CannonR2", new Vector3(1.11874f, 1.49078f, -0.01572f), new Vector3(81.06794f, 85.24843f, 184.1781f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SlowOnHitVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBaubleVoid"), "CannonR2", new Vector3(1.11874f, 1.49078f, -0.01572f), new Vector3(81.06794f, 85.24843f, 184.1781f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SprintArmor"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBuckler"), "CannonR2", new Vector3(0.0786f, 0.82006f, -0.36942f), new Vector3(6.34373f, 199.5204f, 218.0582f), new Vector3(0.5502f, 0.5502f, 0.5502f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SprintBonus"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySoda"), "CannonL2", new Vector3(0.50042f, 0.42182f, 0.524f), new Vector3(353.065f, 252.4487f, 0f), new Vector3(0.59474f, 0.59736f, 0.59736f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SprintOutOfCombat"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWhip"), "CannonL2", new Vector3(-0.52662f, -0.06812f, 0.0262f), new Vector3(359.8143f, 70.94402f, 7.529f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SprintWisp"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBrokenMask"), "Neck", new Vector3(-0.11004f, 0.44016f, 0.4454f), new Vector3(0f, 0f, 121.9654f), new Vector3(0.31178f, 0.31178f, 0.31178f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Squid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySquidTurret"), "Chest", new Vector3(-0.98512f, -0.59212f, -0.42968f), new Vector3(291.4029f, 193.7296f, 204.632f), new Vector3(0.09956f, 0.09956f, 0.09956f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["StickyBomb"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayStickyBomb"), "CannonL1", new Vector3(0.32488f, 0.60522f, 0.2751f), new Vector3(4.86035f, 334.5583f, 271.6724f), new Vector3(0.50828f, 0.50828f, 0.50828f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["StrengthenBurn"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGasTank"), "CannonL1", new Vector3(-0.07336f, 0.45064f, 0.08122f), new Vector3(342.0461f, 340.889f, 79.25803f), new Vector3(0.28558f, 0.28558f, 0.23318f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["StunChanceOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayStunGrenade"), "CannonR2", new Vector3(-0.49256f, 0.19126f, -0.14148f), new Vector3(25.40139f, 296.8241f, 1E-05f), new Vector3(2.17198f, 2.17198f, 2.17198f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Syringe"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySyringeCluster"), "CannonM", new Vector3(-0.0917f, 1.18162f, 0.39824f), new Vector3(70.68916f, 39.55191f, 67.02256f), new Vector3(0.31301f, 0.31301f, 0.31301f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Talisman"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTalisman"), "BodyMesh", new Vector3(-2.575f, -3.235f, 3.879f), new Vector3(89.98022f, 0f, 0f), new Vector3(2.60422f, 2.60422f, 2.60422f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Thorns"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRazorwireLeft"), "UpperLegBL", new Vector3(-0.02882f, -0.15982f, 0.1703f), new Vector3(297.6479f, 196.3078f, 169.9546f), new Vector3(1.67942f, 1.5982f, 0.7074f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TitanGoldDuringTP"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGoldHeart"), "CannonR1", new Vector3(0.33536f, 0.81482f, 0f), new Vector3(0f, 104.2062f, 0f), new Vector3(0.45588f, 0.45588f, 0.45588f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Tooth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothMeshLarge"), "Neck", new Vector3(0.52924f, 0.51352f, 0.02096f), new Vector3(294.8543f, 259.5425f, 189.5259f), new Vector3(10.18918f, 10.18918f, 10.18918f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothMeshSmall1"), "Neck", new Vector3(0.4847f, 0.47684f, -0.2096f), new Vector3(352.6109f, 12.55494f, 353.9523f), new Vector3(6.37708f, 6.37708f, 6.37708f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothMeshSmall2"), "Neck", new Vector3(0.3668f, 0.42444f, -0.30916f), new Vector3(345.238f, 36.65842f, 355.5012f), new Vector3(3.6025f, 3.6025f, 3.6025f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothMeshSmall2"), "Neck", new Vector3(0.35894f, 0.41134f, 0.40086f), new Vector3(13.2137f, 327.1771f, 355.7222f), new Vector3(3.6025f, 3.6025f, 3.6025f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothMeshSmall1"), "Neck", new Vector3(0.4847f, 0.4716f, 0.26986f), new Vector3(7.86193f, 341.1295f, 358.1177f), new Vector3(6.37708f, 6.37708f, 6.37708f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TPHealingNova"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGlowFlower"), "CannonR2", new Vector3(-0.6943f, 1.12922f, 0.16768f), new Vector3(296.2966f, 271.3603f, 82.2246f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TreasureCache"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayKey"), "CannonL2", new Vector3(0.6288f, 1.21568f, -0.19126f), new Vector3(359.8883f, 18.77502f, 181.6039f), new Vector3(2.72742f, 2.72742f, 2.72742f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TreasureCacheVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayKeyVoid"), "CannonL2", new Vector3(0.6288f, 1.21568f, -0.19126f), new Vector3(359.8883f, 18.77502f, 181.6039f), new Vector3(2.72742f, 2.72742f, 2.72742f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["UtilitySkillMagazine"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAfterburnerShoulderRing"), "CannonR2", new Vector3(-0.11266f, 0.76504f, -0.00524f), new Vector3(359.0166f, 359.3686f, 80.49159f), new Vector3(2.33704f, 2.33704f, 2.33704f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAfterburnerShoulderRing"), "CannonL2", new Vector3(-0.11266f, 0.76504f, -0.00524f), new Vector3(359.0166f, 359.3686f, 80.49159f), new Vector3(2.33704f, 2.33704f, 2.33704f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["VoidMegaCrabItem"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMegaCrabItem"), "CannonM", new Vector3(0.2227f, 1.11088f, 0.73884f), new Vector3(333.886f, 335.3797f, 333.7718f), new Vector3(0.28034f, 0.28034f, 0.28034f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["WarCryOnMultiKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayPauldron"), "CannonM", new Vector3(0.59736f, 1.65846f, 0.6026f), new Vector3(338.9091f, 278.2304f, 281.404f), new Vector3(1.10302f, 1.10302f, 1.10302f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["WardOnLevel"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWarbanner"), "Tail3", new Vector3(-0.0524f, 0.90652f, 0.56068f), new Vector3(48.16163f, 187.7401f, 102.2735f), new Vector3(0.57902f, 0.57902f, 0.57902f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BFG"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBFG"), "CannonL2", new Vector3(-0.04716f, 0.80696f, 0.19912f), new Vector3(281.6765f, 202.7706f, 313.8759f), new Vector3(1.04014f, 1.04014f, 1.08992f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Blackhole"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGravCube"), "BodyMesh", new Vector3(1.596f, -3.302f, 4.176f), new Vector3(0f, 0f, 0f), new Vector3(1.53954f, 1.53954f, 1.53954f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BossHunter"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTricornGhost"), "Head", new Vector3(-0.55544f, 0.3013f, 0.00786f), new Vector3(299.1887f, 93.2808f, 353.2024f), new Vector3(1.48816f, 1.48816f, 1.48816f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBlunderbuss"), "BodyMesh", new Vector3(1.864f, -3.263f, 3.579f), new Vector3(358.1156f, 180f, 180f), new Vector3(2.14851f, 2.14851f, 2.14851f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BossHunterConsumed"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTricornUsed"), "Head", new Vector3(-0.55544f, 0.3013f, 0.00786f), new Vector3(299.1887f, 93.2808f, 353.2024f), new Vector3(1.48816f, 1.48816f, 1.48816f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BurnNearby"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayPotion"), "CannonL2", new Vector3(0.01572f, -0.131f, 0.2882f), new Vector3(1.19055f, 345.8043f, 234.4991f), new Vector3(-0.07074f, -0.07074f, 0.05764f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Cleanse"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWaterPack"), "Tail3", new Vector3(-0.02882f, 0.262f, 0.75456f), new Vector3(15.61748f, 179.8663f, 7.61687f), new Vector3(0.22794f, 0.22794f, 0.22794f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CommandMissile"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMissileRack"), "Stomach", new Vector3(-0.82268f, 0.0524f, 0.02096f), new Vector3(60.92501f, 92.29205f, 180f), new Vector3(1.2314f, 1.2314f, 1.2314f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CrippleWard"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEffigy"), "FootLFront", new Vector3(-0.25414f, 0.2751f, -0.0917f), new Vector3(340.5612f, 28.73879f, 257.675f), new Vector3(0.95106f, 0.95106f, 0.95106f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CritOnUse"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayNeuralImplant"), "Head", new Vector3(-0.4192f, 1.3493f, 0.02358f), new Vector3(277.7148f, 278.8724f, 168.4187f), new Vector3(1.28118f, 1.28118f, 1.28118f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["DeathProjectile"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDeathProjectile"), "FootRFront", new Vector3(-0.34584f, 0.16768f, -0.131f), new Vector3(17.94687f, 247.1393f, 246.8668f), new Vector3(0.15982f, 0.15982f, 0.15982f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["DroneBackup"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRadio"), "CannonR1", new Vector3(0.12314f, 1.70562f, -0.29344f), new Vector3(7.3677f, 196.1069f, 307.8755f), new Vector3(1.05062f, 1.05062f, 1.05062f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteEarthEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteMendingAntlers"), "Head", new Vector3(-0.35108f, 0.26724f, -0.00786f), new Vector3(283.0152f, 99.35869f, 349.3076f), new Vector3(1.02966f, 1.02966f, 1.02966f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteFireEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteHorn"), "Head", new Vector3(-0.38776f, 0.42182f, -0.09956f), new Vector3(3.4329f, 352.0956f, 116.4705f), new Vector3(-0.17816f, 0.16768f, 0.16768f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteHorn"), "Head", new Vector3(-0.4192f, 0.42182f, 0.1179f), new Vector3(1.98497f, 0.5747f, 117.1109f), new Vector3(-0.17816f, 0.16768f, -0.16768f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteHauntedEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteStealthCrown"), "Head", new Vector3(-0.68644f, 0.32226f, -0.00262f), new Vector3(349.5236f, 270.0985f, 178.443f), new Vector3(0.1179f, 0.1179f, 0.1179f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteIceEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteIceCrown"), "Head", new Vector3(-0.68644f, 0.32226f, -0.00262f), new Vector3(349.5f, 270f, 178.44f), new Vector3(0.0524f, 0.0524f, 0.0524f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteLightningEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteRhinoHorn"), "Head", new Vector3(-0.393f, 0.53448f, 0.00262f), new Vector3(340.1496f, 267.4495f, 178.3906f), new Vector3(0.51876f, 0.51876f, 0.51876f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteRhinoHorn"), "Head", new Vector3(-0.43754f, 0.41134f, -0.00262f), new Vector3(340f, 267f, 178.39f), new Vector3(0.29868f, 0.29868f, 0.29868f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteLunarEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteLunar,Eye"), "Head", new Vector3(-0.19912f, 0.22794f, -0.0262f), new Vector3(89.15836f, 180f, 180f), new Vector3(0.8777f, 0.8777f, 0.8777f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ElitePoisonEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteUrchinCrown"), "Head", new Vector3(-0.39824f, 0.19126f, 0.01048f), new Vector3(0f, 270f, 0f), new Vector3(0.05764f, 0.10218f, 0.14148f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteVoidEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAffixVoid"), "Head", new Vector3(-0.09694f, 0.49256f, -0.00262f), new Vector3(342.2388f, 94.14795f, 358.2445f), new Vector3(0.19912f, 0.19912f, 0.19912f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FireBallDash"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEgg"), "CannonL2", new Vector3(-0.39038f, 0.47422f, -0.17554f), new Vector3(0f, 290.2802f, 0f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Fruit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFruit"), "CannonR2", new Vector3(-0.14672f, 0.18602f, -0.3799f), new Vector3(311.6913f, 358.657f, 180f), new Vector3(0.39562f, 0.39562f, 0.39562f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GainArmor"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayElephantFigure"), "Tail1", new Vector3(0.42706f, 0.70478f, 0.4978f), new Vector3(75.91399f, 57.11669f, 11.81289f), new Vector3(1.07682f, 1.07682f, 1.07682f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Gateway"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayVase"), "CannonR1", new Vector3(-0.50828f, 1.7816f, -0.04978f), new Vector3(359.6631f, 16.92542f, 97.58683f), new Vector3(0.58688f, 0.58688f, 0.58688f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GoldGat"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGoldGat"), "CannonL2", new Vector3(-0.07336f, 0.51352f, 1.048f), new Vector3(4.27607f, 259.7353f, 238.0899f), new Vector3(0.39824f, 0.39824f, 0.39824f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GummyClone"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGummyClone"), "LowerLegFL", new Vector3(-0.38252f, -0.00524f, 0.18602f), new Vector3(352.045f, 110.252f, 102.7227f), new Vector3(0.4585f, 0.4585f, 0.4585f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["IrradiatingLaser"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayIrradiatingLaser"), "CannonL2", new Vector3(-0.20436f, 0.89604f, 0.29868f), new Vector3(278.5923f, 238.1961f, 280.1638f), new Vector3(0.48732f, 0.48732f, 0.48732f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Jetpack"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBugWings"), "Chest", new Vector3(-0.63928f, -0.54496f, -0.05764f), new Vector3(301.4683f, 93.77295f, 2.57802f), new Vector3(0.41658f, 0.41658f, 0.41658f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LifestealOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLifestealOnHit"), "Chest", new Vector3(-0.84102f, -0.07336f, -0.7598f), new Vector3(357.4174f, 14.34857f, 357.1581f), new Vector3(0.22008f, 0.22008f, 0.22008f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Lightning"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLightningArmRight"), "ShoulderFR", new Vector3(-0.4192f, 1.4672f, 0.13624f), new Vector3(302.265f, 50.39008f, 237.4836f), new Vector3(2.78506f, 2.78506f, 2.78506f)), ItemDisplays.CreateLimbMaskDisplayRule((LimbFlags)2))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarPortalOnUse"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLunarPortalOnUse"), "BodyMesh", new Vector3(1.901f, -3.363f, 4.001f), new Vector3(70.50439f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Meteor"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMeteor"), "BodyMesh", new Vector3(1.773f, -3.411f, 3.807f), new Vector3(0f, 0f, 0f), new Vector3(1.63545f, 1.63545f, 1.63545f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Molotov"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMolotov"), "CannonL1", new Vector3(-0.13624f, 1.21306f, -0.12838f), new Vector3(327.9858f, 16.95079f, 91.76473f), new Vector3(0.46636f, 0.46636f, 0.46636f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MultiShopCard"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayExecutiveCard"), "Neck", new Vector3(-0.22008f, 0.4978f, -0.36942f), new Vector3(294.2283f, 87.3383f, 282.6364f), new Vector3(0.86198f, 0.86198f, 0.86198f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["QuestVolatileBattery"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBatteryArray"), "Chest", new Vector3(0.73098f, -0.25152f, -0.08646f), new Vector3(340.7111f, 277.722f, 354.8615f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Recycle"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRecycler"), "CannonR1", new Vector3(0.12576f, 1.81828f, -0.37204f), new Vector3(283.5949f, 142.7801f, 332.6609f), new Vector3(0.19126f, 0.19126f, 0.19126f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Saw"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySawmerangFollower"), "BodyMesh", new Vector3(2.174f, -2.857f, 3.993f), new Vector3(0f, 0f, 0f), new Vector3(0.303f, 0.303f, 0.303f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Scanner"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayScanner"), "CannonR2", new Vector3(0.12052f, -0.02358f, -0.0131f), new Vector3(5.45162f, 257.4352f, 263.476f), new Vector3(0.90652f, 0.90652f, 0.90652f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TeamWarCry"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTeamWarCry"), "Tail4", new Vector3(-0.0393f, -0.02096f, 0.63666f), new Vector3(316.1326f, 349.4094f, 183.9743f), new Vector3(0.17292f, 0.17292f, 0.17292f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Tonic"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTonic"), "CannonL2", new Vector3(-0.29082f, 0.18602f, 0.20174f), new Vector3(8.24342f, 330.9496f, 89.20451f), new Vector3(0.45588f, 0.45588f, 0.45588f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["VendingMachine"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayVendingMachine"), "CannonR2", new Vector3(-0.71002f, 0.30654f, 0.0917f), new Vector3(348.2101f, 208.6519f, 260.8873f), new Vector3(0.3799f, 0.3799f, 0.3799f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteAurelioniteEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteAurelioniteEquipment"), "Head", new Vector3(-0.52138f, 0.50304f, -0.00262f), new Vector3(270.4472f, 270.1996f, 180.0004f), new Vector3(0.7991f, 0.7991f, 0.7991f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteBeadEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteBeadSpike"), "Head", new Vector3(-0.46112f, 0.06812f, 0.0786f), new Vector3(350.1732f, 10.66442f, 79.18069f), new Vector3(0.04978f, 0.04978f, 0.04454f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["AttackSpeedPerNearbyAllyOrEnemy"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRageCrystal"), "CannonR2", new Vector3(0.63666f, 1.18948f, 0f), new Vector3(273.7755f, 332.4724f, 117.7938f), new Vector3(2.26106f, 2.26106f, 2.26106f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BarrageOnBoss"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTreasuryDividends"), "CannonL1", new Vector3(-0.02358f, 2.01216f, -0.28034f), new Vector3(354.8913f, 28.95214f, 43.9602f), new Vector3(3.39028f, 3.39028f, 3.39028f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BoostAllStats"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGrowthNectar"), "CannonL2", new Vector3(0.04978f, 0.92224f, -0.02358f), new Vector3(89.97202f, 28.53281f, 0f), new Vector3(1.09254f, 1.09254f, 1.09254f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGrowthNectar"), "CannonR2", new Vector3(0.04978f, 0.92224f, 0f), new Vector3(90f, 150.6665f, 0f), new Vector3(1.09254f, 1.09254f, 1.09254f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["DelayedDamage"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDelayedDamage"), "CannonL2", new Vector3(-0.50304f, 0.44016f, -0.14672f), new Vector3(11.66458f, 201.6717f, 315.5104f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExtraShrineItem"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayChanceDoll"), "Tail1", new Vector3(0.42706f, 0.67596f, 0.40872f), new Vector3(347.8541f, 57.77008f, 103.7612f), new Vector3(0.59998f, 0.59998f, 0.59998f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExtraStatsOnLevelUp"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayPrayerBeads"), "Neck", new Vector3(-0.2358f, 0.58164f, 0.00262f), new Vector3(328.1305f, 92.57101f, 5.72211f), new Vector3(4.34134f, -1.06634f, 4.34134f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["IncreaseDamageOnMultiKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayIncreaseDamageOnMultiKill"), "Tail3", new Vector3(-0.02882f, 0.59736f, 0.50828f), new Vector3(56.84046f, 356.0457f, 171.7052f), new Vector3(0.46898f, 0.46898f, 0.46898f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["IncreasePrimaryDamage"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayIncreasePrimaryDamage"), "CannonM", new Vector3(0.2751f, 1.83662f, 0.02358f), new Vector3(273.1964f, 295.7104f, 62.28433f), new Vector3(1.05586f, 1.26546f, 1.05586f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ItemDropChanceOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySonorousEcho"), "Chest", new Vector3(-0.23056f, 1.26284f, -0.55282f), new Vector3(322.4725f, 165.6139f, 285.8083f), new Vector3(0.80696f, 0.80696f, 0.80696f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["KnockBackHitEnemies"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayKnockbackFin"), "Tail4", new Vector3(-0.0393f, 0.15196f, 0.40348f), new Vector3(14.97208f, 180.6525f, 184.1777f), new Vector3(0.96416f, 0.96416f, 0.96416f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LowerPricedChests"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLowerPricedChests"), "BodyMesh", new Vector3(-1.395f, -1.796f, 5.595f), new Vector3(0f, 0f, 0f), new Vector3(2.65439f, 3.29392f, 2.65439f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MeteorAttackOnHighDamage"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMeteorAttackOnHighDamage"), "CannonR2", new Vector3(-0.73884f, 0.29344f, 0.12314f), new Vector3(301.5796f, 338.8382f, 136.9395f), new Vector3(1.93094f, 1.93094f, 1.93094f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["OnLevelUpFreeUnlock"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayOnLevelUpFreeUnlockTablet"), "Tail3", new Vector3(0.02358f, 0.1572f, -0.31178f), new Vector3(7.88656f, 349.614f, 20.78131f), new Vector3(2.92392f, 2.92392f, 2.92392f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayOnLevelUpFreeUnlock"), "BodyMesh", new Vector3(-2.052f, 2.942f, 3.168f), new Vector3(0f, 0f, 0f), new Vector3(3.83951f, 3.83951f, 3.83951f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SpeedBoostPickup"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayElusiveAntlersLeft"), "Head", new Vector3(-0.39038f, 0.0917f, 0.0524f), new Vector3(340.2469f, 91.76913f, 346.1735f), new Vector3(1.10826f, 1.10826f, 1.10826f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayElusiveAntlersRight"), "Head", new Vector3(-0.38776f, 0.14934f, -0.06288f), new Vector3(338.3947f, 90.15759f, 5.57984f), new Vector3(1.10826f, 1.10826f, 1.10826f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["StunAndPierce"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayElectricBoomerang"), "CannonM", new Vector3(0.07074f, 1.4803f, -0.52138f), new Vector3(278.3978f, 352.0999f, 31.21556f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TeleportOnLowHealth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTeleportOnLowHealth"), "CannonR2", new Vector3(-0.0786f, 0.03668f, -0.26986f), new Vector3(9.54f, 207.8946f, 267.2496f), new Vector3(2.31608f, 2.31608f, 2.06456f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TriggerEnemyDebuffs"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayNoxiousThorn"), "Tail5", new Vector3(0.03144f, 0.19126f, 0.15982f), new Vector3(0.2218f, 281.2085f, 31.65718f), new Vector3(1.85234f, 2.42612f, 2.42612f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HealAndRevive"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHealAndRevive"), "CannonR2", new Vector3(0.34846f, -0.28034f, -0.37728f), new Vector3(71.76885f, 296.3876f, 24.3641f), new Vector3(1.64798f, 1.64798f, 1.64798f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BarrierOnCooldown"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBarrierOnCooldown"), "CannonL2", new Vector3(0.76766f, 0.63404f, 0.56592f), new Vector3(0.48402f, 353.0454f, 83.90771f), new Vector3(0.22008f, 0.22008f, 0.22008f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CritAtLowerElevation"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("CritAtLowerElevationDisplay"), "Stomach", new Vector3(0.38252f, 0.59998f, 0.4847f), new Vector3(7.01462f, 11.83633f, 93.31834f), new Vector3(0.35108f, 0.35108f, 0.35108f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["DronesDropDynamite"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DronesDropDynamiteDisplay"), "Stomach", new Vector3(-0.74932f, 0.01572f, 0.02882f), new Vector3(276.692f, 248.2298f, 202.3959f), new Vector3(0.38776f, 0.38776f, 0.38776f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["JumpDamageStrike"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayJumpDamageStrike"), "FootLBack", new Vector3(0.0131f, -0.01572f, 0.00262f), new Vector3(325.2576f, 47.84559f, 182.7651f), new Vector3(3.09684f, 3.09684f, 3.09684f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayJumpDamageStrike"), "FootRBack", new Vector3(0.01048f, -0.1572f, 0f), new Vector3(312.5926f, 136.0427f, 180.8402f), new Vector3(3.09684f, 3.09684f, 3.09684f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SpeedOnPickup"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("SpeedOnPickupDisplay"), "Tail4", new Vector3(-0.26724f, 0.01834f, 0.34584f), new Vector3(0.39702f, 272.0476f, 271.9629f), new Vector3(0.41396f, 0.41396f, 0.41396f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["PhysicsProjectile"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("PhysicsProjectileDisplay"), "Tail1", new Vector3(-0.43754f, 0.2489f, 0.59736f), new Vector3(1.20883f, 298.9322f, 271.6628f), new Vector3(0.31178f, 0.31178f, 0.31178f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Duplicator"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDuplicator"), "UpperLegFL", new Vector3(0.42706f, 0.6812f, 0.68644f), new Vector3(8.6488f, 210.7756f, 185.4043f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SharedSuffering"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("SharedSufferingDisplay"), "CannonL1", new Vector3(0.21746f, 0.91438f, 0.00786f), new Vector3(84.88052f, 287.7536f, 196.2484f), new Vector3(0.38514f, 0.4585f, 0.4585f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Parry"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("ParryDisplay"), "CannonR2", new Vector3(0.30654f, -0.15982f, 0.3799f), new Vector3(4.56943f, 331.9974f, 98.52043f), new Vector3(3.40338f, 3.40338f, 3.40338f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExtraEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayExtraEquipment"), "Tail4", new Vector3(0.33536f, 0f, -0.3668f), new Vector3(0f, 14.56803f, 0f), new Vector3(0.786f, 0.786f, 0.786f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ShockDamageAura"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("ShockDamageAuraDisplay"), "CannonM", new Vector3(-0.41396f, 0.60522f, 0.34322f), new Vector3(1.22085f, 332.3453f, 244.624f), new Vector3(0.5764f, 0.5764f, 0.5764f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["PowerPyramid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayPowerPyramid"), "BodyMesh", new Vector3(1.618f, -1.899f, 4.594f), new Vector3(0f, 0f, 0f), new Vector3(1.3051f, 1.3051f, 1.3051f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["PowerCube"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayPowerCube"), "BodyMesh", new Vector3(0.913f, -1.721f, 4.039f), new Vector3(0f, 0f, 0f), new Vector3(2.86463f, 2.86463f, 2.86463f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MasterBattery"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayPowerOrbSphere"), "BodyMesh", new Vector3(1.81294f, -1.72476f, 3.72166f), new Vector3(0f, 0f, 0f), new Vector3(1.47239f, 1.47239f, 1.47239f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BonusHealthBoost"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayQuickFix"), "CannonR1", new Vector3(0.00524f, 0.32226f, 0.05502f), new Vector3(282.706f, 273.2146f, 239.2639f), new Vector3(0.42182f, 0.42182f, 0.42182f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CookedSteak"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayCookedSteakFlat"), "JawLower", new Vector3(-0.28034f, 0.34584f, 0.02358f), new Vector3(2E-05f, 92.4457f, 36.74599f), new Vector3(0.1703f, 0.1703f, 0.1703f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Stew"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("StewDisplay"), "LowerLegFR", new Vector3(-0.2096f, -0.131f, 0.19388f), new Vector3(62.73107f, 142.5188f, 163.8869f), new Vector3(0.30654f, 0.30654f, 0.30654f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["UltimateMeal"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("UltimateMealDisplay"), "BodyMesh", new Vector3(0.028f, -1.904f, 4.625f), new Vector3(0f, 0f, 0f), new Vector3(1.08312f, 1.08312f, 1.08312f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["WyrmOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWyrmOnHit"), "Neck", new Vector3(-0.25414f, 0.524f, -0.0131f), new Vector3(359.5497f, 25.29783f, 2.76417f), new Vector3(0.2751f, 0.2751f, 0.2751f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteCollectiveEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteCollectiveHorn"), "Head", new Vector3(-0.19912f, 0.12314f, -0.655f), new Vector3(52.31466f, 0f, 0f), new Vector3(0.7336f, 0.7336f, 0.7336f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteCollectiveHorn"), "Head", new Vector3(-0.2751f, 0.1179f, 0.56068f), new Vector3(307.9425f, 6.47392f, 349.388f), new Vector3(0.7336f, 0.7336f, -0.7336f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteCollectiveRing"), "Head", new Vector3(-0.11266f, 0.48994f, 0.04454f), new Vector3(277.6063f, 270f, 72.52927f), new Vector3(0.59998f, 0.59998f, 0.59998f)))); } } public static class LunarDragonStates { public static void Init() { Content.AddEntityState(typeof(ElementalBlitz)); Content.AddEntityState(typeof(SkillBlocker)); Content.AddEntityState(typeof(BurstThrustersCharge)); Content.AddEntityState(typeof(BurstThrustersDash)); Content.AddEntityState(typeof(BurstThrustersDashTrail)); Content.AddEntityState(typeof(Eruption)); Content.AddEntityState(typeof(FlowThrusters)); Content.AddEntityState(typeof(Glaciate)); Content.AddEntityState(typeof(DracoAmbushAim)); Content.AddEntityState(typeof(DracoAmbushAscend)); Content.AddEntityState(typeof(DracoAmbushRising)); Content.AddEntityState(typeof(DracoAmbushDescending)); Content.AddEntityState(typeof(DracoAmbushLand)); Content.AddEntityState(typeof(DracoAmbushCancel)); Content.AddEntityState(typeof(AmbushSpawn)); Content.AddEntityState(typeof(DeathState)); Content.AddEntityState(typeof(FloorNormalizedMain)); Content.AddEntityState(typeof(LunarDragonMain)); Content.AddEntityState(typeof(JetsOnBase)); Content.AddEntityState(typeof(JetsOff)); Content.AddEntityState(typeof(JetsOnBottom)); Content.AddEntityState(typeof(JetsOnFront)); Content.AddEntityState(typeof(JetsOnFrontTrailLight)); Content.AddEntityState(typeof(JetsOnFrontTrailMedium)); Content.AddEntityState(typeof(JetsOnFrontTrailHeavy)); Content.AddEntityState(typeof(SpawnState)); } } public static class LunarDragonStaticValues { public const float primaryDamageCoefficient = 4f; public const float primaryFinisherDamageCoefficient = 6f; public const float secondaryFireBlastDamageCoefficient = 8f; public const float secondaryIceBlastDamageCoefficient = 6f; public const float secondaryIceBlastDoTDamageCoefficient = 0.5f; public const float secondaryPlasmaBlastDamageCoefficient = 12f; public const float utilityBurstThrustersLowerDamageCoefficient = 5f; public const float utilityBurstThrustersUpperDamageCoefficient = 5f; public const float specialAmbushLandDamageCoefficient = 100f; public const float specialAmbushTakeoffDamageCoefficient = 10f; public const float specialAmbushAnimationXMult = 1500f; public const float specialAmbushAnimationYMult = 4500f; public const float specialAmbushAnimationZMult = 1500f; } public static class LunarDragonTokens { public static string mithrixDialogueSee1; public static string mithrixDialogueSee2; public static string mithrixDialogueKill1; public static string mithrixDialogueKill2; public static string mithrixHurtDialogueKill1; public static string mithrixHurtDialogueKill2; public static void Init() { AddLunarDragonTokens(); } public static void AddLunarDragonTokens() { string text = "MIYOWI_LunarDragon_"; string text2 = "An almost perfect design. The Lunar Dragon is a monstrous survivor that tears down foes from the skies." + Environment.NewLine + Environment.NewLine + "< ! > While strong, the Lunar Dragon is also an easy target. Prioritize enemies who can exploit this weakness." + Environment.NewLine + Environment.NewLine + "< ! > Elemental Blitz is slow, but fires unique, powerful blasts. Switch targets between attacks to maximize your advantage." + Environment.NewLine + Environment.NewLine + "< ! > Burst Thrusters can be charged on the ground to increase its duration and damage, additionally gaining a flaming trail at high charge. Use the skill while hovering in the air instead for a hasty, low-cooldown dash." + Environment.NewLine + Environment.NewLine + "< ! > Draco Ambush is the Lunar Dragon's flagship attack. Keep it for the right moment to utterly devastate a target of choice." + Environment.NewLine + Environment.NewLine; string text3 = "..and so it left, with aspirations anew."; string text4 = "..and so it vanished, its purpose fulfilled."; Language.Add(text + "NAME", "Lunar Dragon"); Language.Add(text + "DESCRIPTION", text2); Language.Add(text + "SUBTITLE", "Forsaken Apostate"); Language.Add(text + "LORE", "Indeed, brother. With more materials, we can compose fitter guardians. Allow me to demonstrate a more sophisticated design." + Environment.NewLine + Environment.NewLine + "Stone, silver, fire. This is the basis of any sentinel." + Environment.NewLine + Environment.NewLine + "With a delicate hand, we can introduce more elements. Ice and charge offer versatility." + Environment.NewLine + Environment.NewLine + "Triple cannons, doubling as thrusters. Speed is war." + Environment.NewLine + Environment.NewLine + "High firepower requires high maneuverability. Recall what I said about quadrupeds." + Environment.NewLine + Environment.NewLine + "Observe the ratios. Despite the further complexity, they remain recognisable. Now it is your turn, dear brother. I trust you understand how to complete this design."); Language.Add(text + "OUTRO_FLAVOR", text3); Language.Add(text + "OUTRO_FAILURE", text4); Language.Add(text + "MASTERY_SKIN_NAME", "Dark Demise"); Language.Add(text + "PASSIVE_NAME", "Lunar Wings"); Language.Add(text + "PASSIVE_DESCRIPTION", "The Lunar Dragon can hover."); Language.Add(text + "PRIMARY_ELEMENTAL_BLITZ_NAME", "Elemental Blitz"); Language.Add(text + "PRIMARY_ELEMENTAL_BLITZ_DESCRIPTION", $"Fire heavy elemental blasts for {400f}% damage each. " + $"Every third attack fires a piercing bolt for {600f}% damage."); Language.Add(text + "SECONDARY_ERUPTION_NAME", "Lunar Eruption"); Language.Add(text + "SECONDARY_ERUPTION_DESCRIPTION", $"Launch a huge lunar fireball for {800f}% damage, " + "causing an eruption of blazing rings if detonated on the ground."); Language.Add(text + "SECONDARY_SURGE_NAME", "Surge"); Language.Add(text + "SECONDARY_SURGE_DESCRIPTION", string.Format("{0} Launch a huge plasmaball for {1}% damage. ", "Stunning.", 1200f) + "Use the skill again before collision to detonate the projectile early."); Language.Add(text + "SECONDARY_GLACIATE_NAME", "Glaciate"); Language.Add(text + "SECONDARY_GLACIATE_DESCRIPTION", $"Launch a huge ice chunk for {600f}% damage, " + "expanding on impact and inflicting Slow to all nearby enemies caught in the glacier."); Language.Add(text + "UTILITY_BURST_THRUSTERS_NAME", "Burst Thrusters"); Language.Add(text + "UTILITY_BURST_THRUSTERS_DESCRIPTION", $"Heavy. Overcharge the cannons to speed forward, dealing up to {500f}% damage, " + "and stunning at maximum charge."); Language.Add(text + "UTILITY_FLOW_THRUSTERS_NAME", "Flow Thrusters"); Language.Add(text + "UTILITY_FLOW_THRUSTERS_DESCRIPTION", "Steadily discharge the cannons to take flight. You can continue to attack for the duration."); Language.Add(text + "SPECIAL_AMBUSH_NAME", "Draco Ambush"); Language.Add(text + "SPECIAL_AMBUSH_DESCRIPTION", $"Take aim, and confirm a target to soar into the sky. Unleash a devastating strike on the target position for {10000f}% damage."); Language.Add(Tokens.GetAchievementNameToken("MIYOWI_LunarDragon_masteryAchievement"), "Lunar Dragon: Mastery"); Language.Add(Tokens.GetAchievementDescriptionToken("MIYOWI_LunarDragon_masteryAchievement"), "As Lunar Dragon, beat the game or obliterate on Monsoon."); Language.Add(Tokens.GetAchievementNameToken("MIYOWI_LunarDragon_wipAchievement"), "Patience"); Language.Add(Tokens.GetAchievementDescriptionToken("MIYOWI_LunarDragon_wipAchievement"), "This content is still being developed!"); mithrixDialogueSee1 = text + "BROTHER_SEE_DRAGON_1"; Language.Add(mithrixDialogueSee1, "The Grand Chimera. But of course."); mithrixDialogueSee2 = text + "BROTHER_SEE_DRAGON_2"; Language.Add(mithrixDialogueSee2, "The Grand Chimera. Predictable."); mithrixDialogueKill1 = text + "BROTHER_KILL_DRAGON_1"; Language.Add(mithrixDialogueKill1, "Wasted elements."); mithrixDialogueKill2 = text + "BROTHER_KILL_DRAGON_2"; Language.Add(mithrixDialogueKill2, "Return to dust, Chimera."); mithrixHurtDialogueKill1 = text + "BROTHERHURT_KILL_DRAGON_1"; Language.Add(mithrixHurtDialogueKill1, "KNOW YOUR PLACE, CHIMERA."); mithrixHurtDialogueKill2 = text + "BROTHERHURT_KILL_DRAGON_2"; Language.Add(mithrixHurtDialogueKill2, "YOU CANNOT SURPASS YOUR CREATOR, CHIMERA."); } } public static class LunarDragonUnlockables { public static UnlockableDef characterUnlockableDef; public static UnlockableDef masterySkinUnlockableDef; public static UnlockableDef wipSkillUnlockableDef; public static void Init() { masterySkinUnlockableDef = Content.CreateAndAddUnlockableDef("MIYOWI_LunarDragon_masteryUnlockable", Tokens.GetAchievementNameToken("MIYOWI_LunarDragon_masteryAchievement"), LunarDragonAssets.assetBundle.LoadAsset("texMasteryAchievement")); wipSkillUnlockableDef = Content.CreateAndAddUnlockableDef("MIYOWI_LunarDragon_wipUnlockable", Tokens.GetAchievementNameToken("MIYOWI_LunarDragon_wipAchievement"), LunarDragonAssets.assetBundle.LoadAsset("texWIPIcon")); } } public class LunarDragonSurvivor : SurvivorBase { public static BodyIndex bodyIndex; private static string _bodyName; public const string LUNAR_DRAGON_PREFIX = "MIYOWI_LunarDragon_"; public override string bodyName => "LunarDragonBody"; public override string masterName => "LunarDragonMonsterMaster"; public override string modelPrefabName => "mdlLunarDragon"; public override string displayPrefabName => "LunarDragonDisplay"; public override string survivorTokenPrefix => "MIYOWI_LunarDragon_"; public override BodyInfo bodyInfo { get { //IL_004e: 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_0084: 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) BodyInfo bodyInfo = new BodyInfo(); bodyInfo.bodyName = bodyName; bodyInfo.bodyNameToken = "MIYOWI_LunarDragon_NAME"; bodyInfo.subtitleNameToken = "MIYOWI_LunarDragon_SUBTITLE"; bodyInfo.characterPortrait = assetBundle.LoadAsset("texLunarDragonIcon"); bodyInfo.bodyColor = new Color(0.67f, 0.65f, 0.74f); bodyInfo.sortPosition = 100f; bodyInfo.crosshair = assetBundle.LoadAsset("LunarDragonCrosshair"); bodyInfo.initialState = new SerializableEntityStateType(typeof(AmbushSpawn)); bodyInfo.maxHealth = 180f; bodyInfo.healthRegen = 1f; bodyInfo.armor = 20f; bodyInfo.jumpCount = 1; return bodyInfo; } } public override CustomRendererInfo[] customRendererInfos => new CustomRendererInfo[6] { new CustomRendererInfo { childName = "BodyMesh", material = assetBundle.LoadMaterial("matBody") }, new CustomRendererInfo { childName = "LimbsMesh", material = assetBundle.LoadMaterial("matLimbs") }, new CustomRendererInfo { childName = "LeftOrbMesh", material = assetBundle.LoadMaterial("matOrbLeft") }, new CustomRendererInfo { childName = "RightOrbMesh", material = assetBundle.LoadMaterial("matOrbRight") }, new CustomRendererInfo { childName = "CenterOrbMesh", material = assetBundle.LoadMaterial("matOrbCenter") }, new CustomRendererInfo { childName = "RocksMesh", material = assetBundle.LoadMaterial("matCannon") } }; public override UnlockableDef characterUnlockableDef => LunarDragonUnlockables.characterUnlockableDef; public override ItemDisplaysBase itemDisplays => new LunarDragonItemDisplays(); public override AssetBundle assetBundle { get; protected set; } public override GameObject bodyPrefab { get; protected set; } public override CharacterBody prefabCharacterBody { get; protected set; } public override GameObject characterModelObject { get; protected set; } public override CharacterModel prefabCharacterModel { get; protected set; } public override GameObject displayPrefab { get; protected set; } [SystemInitializer(new Type[] { typeof(BodyCatalog) })] private static void GetBodyIndex() { //IL_0006: 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) bodyIndex = BodyCatalog.FindBodyIndex(_bodyName); } public override void Init() { base.Init(); } public override void InitializeCharacter() { LunarDragonTokens.Init(); LunarDragonAssets.Init(); assetBundle = LunarDragonAssets.assetBundle; LunarDragonUnlockables.Init(); base.InitializeCharacter(); LunarDragonStates.Init(); LunarDragonBuffs.Init(assetBundle); SetDeathBehaviour(); InitializeEntityStateMachines(); InitializeSkills(); InitializeSkins(); InitializeCharacterMaster(); AdditionalBodySetup(); } private void AdditionalBodySetup() { AddHitboxes(); SetupAkBanks(); bodyPrefab.AddComponent(); bodyPrefab.GetComponent().maxInteractionDistance = 8f; displayPrefab.GetComponent().prefab = LunarDragonAssets.displayEffectPrefab; _bodyName = bodyName; } private void SetupAkBanks() { //IL_000e: 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_002f: 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_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_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) AkBank[] array = new AkBank[4]; GameObject obj = Addressables.LoadAssetAsync((object)RoR2_Base_Croco.CrocoBody_prefab).WaitForCompletion(); array[0] = ((obj != null) ? obj.GetComponent() : null); GameObject obj2 = Addressables.LoadAssetAsync((object)RoR2_Base_Toolbot.ToolbotBody_prefab).WaitForCompletion(); array[1] = ((obj2 != null) ? obj2.GetComponent() : null); GameObject obj3 = Addressables.LoadAssetAsync((object)RoR2_Base_Mage.MageBody_prefab).WaitForCompletion(); array[2] = ((obj3 != null) ? obj3.GetComponent() : null); GameObject obj4 = Addressables.LoadAssetAsync((object)RoR2_DLC2_FalseSon.FalseSonBody_prefab).WaitForCompletion(); array[3] = ((obj4 != null) ? obj4.GetComponent() : null); AkBank[] array2 = (AkBank[])(object)array; AkBank[] array3 = array2; foreach (AkBank val in array3) { if ((Object)(object)val != (Object)null) { AkBank val2 = bodyPrefab.AddComponent(); ((AkTriggerHandler)val2).triggerList = ((AkTriggerHandler)val).triggerList; val2.data.WwiseObjectReference = val.data.WwiseObjectReference; val2.unloadTriggerList = val.unloadTriggerList; } } } private void SetDeathBehaviour() { //IL_0031: 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) CharacterDeathBehavior val = bodyPrefab.GetComponent(); if ((Object)(object)val == (Object)null) { val = bodyPrefab.AddComponent(); } val.deathState = new SerializableEntityStateType(typeof(DeathState)); } public void AddHitboxes() { Prefabs.SetupHitBoxGroup(characterModelObject, "Charge", "BodyHitbox"); } public override void InitializeEntityStateMachines() { Prefabs.ClearEntityStateMachines(bodyPrefab); Prefabs.AddMainEntityStateMachine(bodyPrefab, "Body", typeof(FloorNormalizedMain), typeof(SpawnState)); Prefabs.AddEntityStateMachine(bodyPrefab, "Weapon"); Prefabs.AddEntityStateMachine(bodyPrefab, "Weapon2"); Prefabs.AddEntityStateMachine(bodyPrefab, "Utility"); Prefabs.AddEntityStateMachine(bodyPrefab, "Aim"); Prefabs.AddEntityStateMachine(bodyPrefab, "Jet"); } public override void InitializeSkills() { Skills.ClearGenericSkills(bodyPrefab); LunarDragonSkills.Init(bodyPrefab); } public override void InitializeSkins() { ModelSkinController val = ((Component)prefabCharacterModel).gameObject.AddComponent(); ChildLocator component = ((Component)prefabCharacterModel).GetComponent(); RendererInfo[] baseRendererInfos = prefabCharacterModel.baseRendererInfos; List list = new List(); SkinDef item = Skins.CreateSkinDef("DEFAULT_SKIN", assetBundle.LoadAsset("texDefaultSkinIcon"), baseRendererInfos, ((Component)prefabCharacterModel).gameObject); list.Add(item); SkinDef val2 = Skins.CreateSkinDef("MIYOWI_LunarDragon_MASTERY_SKIN_NAME", assetBundle.LoadAsset("texMasterySkinIcon"), baseRendererInfos, ((Component)prefabCharacterModel).gameObject, LunarDragonUnlockables.masterySkinUnlockableDef); val2.skinDefParams.rendererInfos[0].defaultMaterial = assetBundle.LoadMaterial("matBodyMastery"); val2.skinDefParams.rendererInfos[1].defaultMaterial = assetBundle.LoadMaterial("matLimbsMastery"); val2.skinDefParams.rendererInfos[2].defaultMaterial = assetBundle.LoadMaterial("matOrbLeftMastery"); val2.skinDefParams.rendererInfos[3].defaultMaterial = assetBundle.LoadMaterial("matOrbRightMastery"); val2.skinDefParams.rendererInfos[4].defaultMaterial = assetBundle.LoadMaterial("matOrbCenterMastery"); val2.skinDefParams.rendererInfos[5].defaultMaterial = assetBundle.LoadMaterial("matCannonMastery"); list.Add(val2); val.skins = list.ToArray(); } public override void InitializeCharacterMaster() { LunarDragonAI.Init(bodyPrefab, masterName); } } public class LunarDragonMain : GenericCharacterMain { public LunarDragonController controller; protected bool forceJetpack; public Type jetState = typeof(JetsOnBottom); public bool jumpButtonState; private bool heldPress; private float oldJumpHeldTime; private float jumpButtonHeldTime; private bool canHover; public override void OnEnter() { ((GenericCharacterMain)this).OnEnter(); controller = ((EntityState)this).GetComponent(); if (Object.op_Implicit((Object)(object)controller)) { controller.bodyState = this; } } public override void FixedUpdate() { ((GenericCharacterMain)this).FixedUpdate(); if (!canHover) { canHover = ((EntityState)this).characterMotor.velocity.y < 3f && !((EntityState)this).characterMotor.isGrounded; } else { canHover = !((EntityState)this).characterMotor.isGrounded; } } public override void ProcessJump() { if (((BaseCharacterMain)this).hasCharacterMotor && ((BaseCharacterMain)this).hasInputBank && ((EntityState)this).isAuthority) { if (base.jumpInputReceived && ((EntityState)this).characterMotor.jumpCount < ((EntityState)this).characterBody.maxJumpCount) { canHover = false; } NetworkUser obj = NetworkUser.readOnlyLocalPlayersList[0]; bool? obj2; if (obj == null) { obj2 = null; } else { LocalUser localUser = obj.localUser; obj2 = ((localUser != null) ? new bool?(localUser.userProfile.toggleArtificerHover) : ((bool?)null)); } if (obj2 ?? true) { if (((EntityState)this).inputBank.jump.down) { oldJumpHeldTime = jumpButtonHeldTime; jumpButtonHeldTime += Time.deltaTime; heldPress = oldJumpHeldTime < 0.5f && jumpButtonHeldTime >= 0.5f; } else { oldJumpHeldTime = 0f; jumpButtonHeldTime = 0f; heldPress = false; } if (!((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).characterMotor.jumpCount == ((EntityState)this).characterBody.maxJumpCount) { if (((ButtonState)(ref ((EntityState)this).inputBank.jump)).justPressed) { jumpButtonState = !jumpButtonState; } } else if (heldPress) { jumpButtonState = !jumpButtonState; } } else { jumpButtonState = false; } } else { jumpButtonState = ((EntityState)this).inputBank.jump.down; } if (Object.op_Implicit((Object)(object)controller) && Object.op_Implicit((Object)(object)controller.jetpackStateMachine)) { bool flag = (jumpButtonState && canHover) || forceJetpack; bool flag2 = controller.jetpackStateMachine.state is JetsOnBase; if (flag && !flag2) { controller.jetpackStateMachine.SetNextState(EntityStateCatalog.InstantiateState(jetState)); } if (!flag && flag2) { controller.jetpackStateMachine.SetNextState((EntityState)(object)new JetsOff()); } } } if (Object.op_Implicit((Object)(object)controller) && controller.canJump) { ((GenericCharacterMain)this).ProcessJump(); } } public override void OnExit() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Expected O, but got Unknown if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)controller) && Object.op_Implicit((Object)(object)controller.jetpackStateMachine)) { controller.jetpackStateMachine.SetNextState((EntityState)new Idle()); } ((GenericCharacterMain)this).OnExit(); } public void ForceJetsOn(Type jetState = null) { forceJetpack = true; if (jetState != null) { this.jetState = jetState; } } } } namespace LunarDragonMod.Survivors.LunarDragon.States { public class FloorNormalizedMain : LunarDragonMain { public override void OnEnter() { base.OnEnter(); ((EntityState)this).modelLocator.normalizeToFloor = true; } } public class JetsOff : BaseState { private Animator animator; private const float transitionSpeed = 5f; private float hoveringDegree; private int hoverLayerIndex; public override void OnEnter() { ((BaseState)this).OnEnter(); animator = ((EntityState)this).GetModelAnimator(); if (Object.op_Implicit((Object)(object)animator)) { hoverLayerIndex = animator.GetLayerIndex("Hover"); hoveringDegree = animator.GetLayerWeight(hoverLayerIndex); } } public override void Update() { ((EntityState)this).Update(); if (Object.op_Implicit((Object)(object)animator)) { float num = 1f; if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && ((EntityState)this).characterMotor.isGrounded) { num = 5f; } hoveringDegree = Mathf.Clamp01(Mathf.Lerp(hoveringDegree, 0f, 5f * Time.deltaTime * num)); if ((double)hoveringDegree <= 0.05) { ((EntityState)this).outer.SetNextStateToMain(); } else { animator.SetLayerWeight(hoverLayerIndex, hoveringDegree); } } else { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { ((BaseState)this).OnEnter(); if (Object.op_Implicit((Object)(object)animator)) { animator.SetLayerWeight(hoverLayerIndex, 0f); animator.SetBool(LunarDragonAnimationParameters.isHovering, false); } } } public class JetsOnBase : BaseState { private Animator animator; private const float transitionSpeed = 5f; private float hoveringDegree; private int hoverLayerIndex; private const float hoverVelocity = -1f; private const float hoverAcceleration = 60f; protected Transform jetLeftEffect; protected Transform jetRightEffect; public override void Reset() { ((BaseState)this).Reset(); jetLeftEffect = null; jetRightEffect = null; } protected virtual void GetJetEffects() { jetLeftEffect = ((BaseState)this).FindModelChild("JetLeftBottom"); jetRightEffect = ((BaseState)this).FindModelChild("JetRightBottom"); } public override void OnEnter() { ((BaseState)this).OnEnter(); GetJetEffects(); if (Object.op_Implicit((Object)(object)jetLeftEffect)) { ((Component)jetLeftEffect).gameObject.SetActive(true); } if (Object.op_Implicit((Object)(object)jetRightEffect)) { ((Component)jetRightEffect).gameObject.SetActive(true); } animator = ((EntityState)this).GetModelAnimator(); if (Object.op_Implicit((Object)(object)animator)) { animator.SetBool(LunarDragonAnimationParameters.isHovering, true); hoverLayerIndex = animator.GetLayerIndex("Hover"); hoveringDegree = animator.GetLayerWeight(hoverLayerIndex); } } public override void Update() { ((EntityState)this).Update(); if (Object.op_Implicit((Object)(object)animator)) { hoveringDegree = Mathf.Clamp01(Mathf.Lerp(hoveringDegree, 1f, 5f * Time.deltaTime)); animator.SetLayerWeight(hoverLayerIndex, hoveringDegree); } } public override void FixedUpdate() { //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if (((EntityState)this).isAuthority) { float y = ((EntityState)this).characterMotor.velocity.y; if (y < -1f) { y = Mathf.MoveTowards(y, -1f, 60f * ((EntityState)this).GetDeltaTime()); ((EntityState)this).characterMotor.velocity = new Vector3(((EntityState)this).characterMotor.velocity.x, y, ((EntityState)this).characterMotor.velocity.z); } } } public override void OnExit() { ((EntityState)this).OnExit(); if (Object.op_Implicit((Object)(object)jetLeftEffect)) { ((Component)jetLeftEffect).gameObject.SetActive(false); } if (Object.op_Implicit((Object)(object)jetRightEffect)) { ((Component)jetRightEffect).gameObject.SetActive(false); } } } public class JetsOnBottom : JetsOnBase { } public class JetsOnFront : JetsOnBase { protected override void GetJetEffects() { jetLeftEffect = ((BaseState)this).FindModelChild("JetLeftFront"); jetRightEffect = ((BaseState)this).FindModelChild("JetRightFront"); } } public class JetsOnFrontTrailBase : JetsOnBase { protected TrailRenderer jetLeftTrail; protected TrailRenderer jetRightTrail; protected virtual Color trailColour { get; } protected virtual float trailTime { get; } public override void Reset() { base.Reset(); jetLeftTrail = null; jetRightTrail = null; } protected override void GetJetEffects() { jetLeftEffect = ((BaseState)this).FindModelChild("JetLeftFront"); jetRightEffect = ((BaseState)this).FindModelChild("JetRightFront"); Transform val = ((BaseState)this).FindModelChild("JetTrailLeft"); if (Object.op_Implicit((Object)(object)val)) { jetLeftTrail = ((Component)val).GetComponent(); } Transform val2 = ((BaseState)this).FindModelChild("JetTrailRight"); if (Object.op_Implicit((Object)(object)val2)) { jetRightTrail = ((Component)val2).GetComponent(); } } public override void OnEnter() { //IL_0048: 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) base.OnEnter(); if (Object.op_Implicit((Object)(object)jetLeftTrail)) { jetLeftTrail.emitting = true; jetLeftTrail.time = trailTime; ((Renderer)jetLeftTrail).material.SetColor("_TintColor", trailColour); } if (Object.op_Implicit((Object)(object)jetRightTrail)) { jetRightTrail.emitting = true; jetRightTrail.time = trailTime; ((Renderer)jetRightTrail).material.SetColor("_TintColor", trailColour); } } public override void OnExit() { base.OnExit(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((MonoBehaviour)((EntityState)this).characterBody).StartCoroutine(FadeOutTrails()); } } private IEnumerator FadeOutTrails() { if (Object.op_Implicit((Object)(object)jetLeftTrail) && Object.op_Implicit((Object)(object)jetRightTrail)) { float prevTrailTime = jetLeftTrail.time; while (prevTrailTime > 0.1f) { if (jetLeftTrail.time != prevTrailTime) { yield break; } float newTrailTime = Mathf.Lerp(prevTrailTime, 0f, Time.deltaTime * 12f); if (Object.op_Implicit((Object)(object)jetLeftTrail)) { jetLeftTrail.time = newTrailTime; } if (Object.op_Implicit((Object)(object)jetRightTrail)) { jetRightTrail.time = newTrailTime; } prevTrailTime = newTrailTime; yield return null; } } if (Object.op_Implicit((Object)(object)jetLeftTrail)) { jetLeftTrail.emitting = false; } if (Object.op_Implicit((Object)(object)jetRightTrail)) { jetRightTrail.emitting = false; } } } public class JetsOnFrontTrailHeavy : JetsOnFrontTrailBase { protected override Color trailColour => new Color(1f, 0.55f, 0.22f); protected override float trailTime => 1.2f; } public class JetsOnFrontTrailLight : JetsOnFrontTrailBase { protected override Color trailColour => new Color(1f, 0.17f, 0f); protected override float trailTime => 0.4f; } public class JetsOnFrontTrailMedium : JetsOnFrontTrailBase { protected override Color trailColour => new Color(1f, 0.48f, 0f); protected override float trailTime => 0.6f; } public class AmbushSpawn : DracoAmbushDescending { private DragonSpawnCameraController cameraController; protected override bool doTeleport => false; private void SetupSpawnState() { ((EntityState)this).PlayCrossfade("FullBody, Override", "SpecialDiveStartAir", 0f); ApplyAmbushStart(); ApplyAmbushAscend(); } public override void OnEnter() { if (((EntityState)this).isAuthority) { cameraController = ((EntityState)this).gameObject.AddComponent(); } base.OnEnter(); SetupSpawnState(); } public override void OnExit() { if (Object.op_Implicit((Object)(object)cameraController)) { Object.Destroy((Object)(object)cameraController); } base.OnEnter(); } } public class SecondaryBase : BaseSkillState { private float duration; private Transform muzzleTransform; private Animator animator; private ChildLocator childLocator; private bool hasFired; private bool holdingKeyFromStart = true; protected virtual GameObject projectilePrefab => LunarDragonAssets.heavyFireballPrefab; protected virtual float damageCoefficient => 8f; protected virtual float baseDuration => 0.7f; protected virtual string attackSoundString => ""; protected virtual float attackSoundPitch => 1f; protected virtual string muzzleString => "MuzzleLeft"; protected virtual GameObject muzzleflashEffectPrefab => null; protected virtual string animationLayerName => "LeftCannon, Additive"; protected virtual string animationStateName => "PrimaryShoot1"; protected Vector2 recoilAmplitude => new Vector2(0.5f, 2f); protected virtual float fireDelay => 0.1f; protected virtual float bloom => 0.8f; protected virtual bool canLeaveStateAfterFire => true; protected bool IsNewKeyDownAuthority => ((BaseSkillState)this).IsKeyDownAuthority() && !holdingKeyFromStart; public override void OnEnter() { ((BaseState)this).OnEnter(); duration = baseDuration / ((BaseState)this).attackSpeedStat; ((EntityState)this).characterBody.SetAimTimer(2f); animator = ((EntityState)this).GetModelAnimator(); if (Object.op_Implicit((Object)(object)animator)) { childLocator = ((Component)animator).GetComponent(); } ((EntityState)this).PlayCrossfade(animationLayerName, animationStateName, "Blitz.playbackRate", duration, 0.025f); } protected virtual void FireProjectile() { //IL_007c: 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_0084: 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_008a: 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_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_0170: 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_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: 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_00ba: 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_00c4: Unknown result type (might be due to invalid IL or missing references) Util.PlayAttackSpeedSound(attackSoundString, ((EntityState)this).gameObject, attackSoundPitch); if (Object.op_Implicit((Object)(object)muzzleflashEffectPrefab)) { EffectManager.SimpleMuzzleFlash(muzzleflashEffectPrefab, ((EntityState)this).gameObject, muzzleString, false); } if (((EntityState)this).isAuthority) { if (Object.op_Implicit((Object)(object)childLocator)) { muzzleTransform = childLocator.FindChild(muzzleString); } Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 val = ((Ray)(ref aimRay)).direction; RaycastHit val2 = default(RaycastHit); if (Physics.Raycast(aimRay, ref val2, 600f, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask))) { val = ((RaycastHit)(ref val2)).point - muzzleTransform.position; } FireProjectileInfo val3 = new FireProjectileInfo { projectilePrefab = projectilePrefab, position = muzzleTransform.position + Vector3.up * 1.5f, rotation = Util.QuaternionSafeLookRotation(val), owner = ((EntityState)this).gameObject, damage = ((BaseState)this).damageStat * damageCoefficient, force = 300f, crit = Util.CheckRoll(((BaseState)this).critStat, ((EntityState)this).characterBody.master), damageColorIndex = (DamageColorIndex)0 }; ProjectileManager.instance.FireProjectile(val3); ApplyAirborneKnockback(((Ray)(ref aimRay)).direction, 1800f); ((BaseState)this).AddRecoil(-1f * recoilAmplitude.y, -1.5f * recoilAmplitude.y, -1f * recoilAmplitude.x, 1f * recoilAmplitude.x); ((EntityState)this).characterBody.AddSpreadBloom(bloom); } } private void ApplyAirborneKnockback(Vector3 aimDirection, float maxForce) { //IL_0019: 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) if (!((BaseState)this).isGrounded) { ((EntityState)this).characterBody.characterMotor.ApplyForce(aimDirection * (0f - maxForce), false, false); } } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge >= duration * fireDelay || hasFired) { if (!hasFired) { FireProjectile(); hasFired = true; } if (((EntityState)this).isAuthority && ((EntityState)this).fixedAge >= duration / ((BaseState)this).attackSpeedStat && canLeaveStateAfterFire) { ((EntityState)this).outer.SetNextStateToMain(); } } } public override void Update() { ((EntityState)this).Update(); if (!((BaseSkillState)this).IsKeyDownAuthority() && holdingKeyFromStart) { holdingKeyFromStart = false; } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)2; } } public class SkillBlocker : BaseState { public float duration = float.PositiveInfinity; public override void OnExit() { ((EntityState)this).OnExit(); } public override void Update() { ((EntityState)this).Update(); duration -= Time.deltaTime; if (duration <= 0f) { ((EntityState)this).outer.SetNextStateToMain(); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0003: 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) return (InterruptPriority)9; } } public class BurstThrustersCharge : BaseState { public float baseChargeDuration = 2f; public float minChargeForChargedAttack = 0.1f; public float penaltyCoefficient = 0.01f; private const float turnSpeedCharge = 80f; private const float turnSpeedDash = 220f; private LunarDragonController controller; private bool hasFinishedCharging; private float previousTurnSpeed; public float gearCharge; private int currentCharge; private float chargeDuration; private static readonly float[] chargeThresholds = new float[4] { 0.3f, 0.6f, 0.7f, 0.9f }; public override void OnEnter() { ((BaseState)this).OnEnter(); StartChargeThrusters(); } public override void OnExit() { ((EntityState)this).OnExit(); ExitChargeThrusters(); } private void StartChargeThrusters() { chargeDuration = baseChargeDuration / base.attackSpeedStat; controller = ((EntityState)this).GetComponent(); if (((EntityState)this).isAuthority) { if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { previousTurnSpeed = ((EntityState)this).characterDirection.turnSpeed; } if (Object.op_Implicit((Object)(object)controller)) { controller.DisableWeaponStateMachine(); controller.canJump = false; } if (!((EntityState)this).characterMotor.isGrounded) { hasFinishedCharging = true; } } } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).isAuthority && hasFinishedCharging) { SetupDashState(); } else { ChargeThrustersFixedUpdate(); } } private void SetupDashState() { //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Expected O, but got Unknown BurstThrustersDash burstThrustersDash = ((currentCharge > 1) ? new BurstThrustersDashTrail() : new BurstThrustersDash()); burstThrustersDash.duration = Mathf.Max(0.5f, (float)currentCharge * 2f); burstThrustersDash.damageCoefficient = ((currentCharge > 1) ? 5f : 5f); burstThrustersDash.shouldActivateHitbox = currentCharge > 0; burstThrustersDash.turnSpeed = ((currentCharge >= 1) ? 220f : previousTurnSpeed); if (currentCharge == 0) { burstThrustersDash.speedMultiplier = 1.8f; } GameObject val = null; switch (currentCharge) { case 0: val = LunarDragonAssets.utilityDashLightEffect; burstThrustersDash.jetState = typeof(JetsOnFrontTrailLight); break; case 1: val = LunarDragonAssets.utilityDashMediumEffect; burstThrustersDash.jetState = typeof(JetsOnFrontTrailMedium); break; default: val = LunarDragonAssets.utilityDashHeavyEffect; burstThrustersDash.jetState = typeof(JetsOnFrontTrailHeavy); break; } ((EntityState)this).skillLocator.utility.temporaryCooldownPenalty = (float)currentCharge * 5f * ((EntityState)this).skillLocator.utilityBonusStockSkill.cooldownScale; EntityStateMachine val2 = ((EntityState)this).FindSiblingStateMachine("Body"); if (Object.op_Implicit((Object)(object)val2)) { val2.SetNextState((EntityState)(object)burstThrustersDash); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && Object.op_Implicit((Object)(object)val)) { EffectManager.SpawnEffect(val, new EffectData { origin = ((EntityState)this).characterBody.corePosition }, true); } } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.turnSpeed = previousTurnSpeed; } ((EntityState)this).outer.SetNextStateToMain(); } private void ChargeThrustersFixedUpdate() { //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Expected O, but got Unknown if (((EntityState)this).isAuthority && gearCharge > chargeThresholds[0]) { ((EntityState)this).characterMotor.walkSpeedPenaltyCoefficient = penaltyCoefficient; ((EntityState)this).characterBody.SetSpreadBloom(gearCharge, true); ((EntityState)this).characterBody.SetAimTimer(3f); } gearCharge = Mathf.Clamp01(((EntityState)this).fixedAge / chargeDuration); if (gearCharge >= minChargeForChargedAttack && gearCharge != 1f && gearCharge >= chargeThresholds[currentCharge]) { currentCharge = Math.Min(currentCharge + 1, chargeThresholds.Length - 1); switch (currentCharge) { case 1: ((EntityState)this).PlayCrossfade("FullBody, Override", "UtilityCharge", "Charge.playbackRate", chargeDuration * 0.5f, chargeDuration * 0.2f); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.turnSpeed = 80f; } break; case 2: if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)controller) && controller.bodyState != null) { controller.bodyState.ForceJetsOn(typeof(JetsOnFront)); } EffectManager.SpawnEffect(LunarDragonAssets.utilitySmokeEffect, new EffectData { origin = ((EntityState)this).characterBody.footPosition, rotation = ((EntityState)this).modelLocator.modelBaseTransform.rotation }, false); break; } } if ((((EntityState)this).isAuthority && ((ButtonState)(ref ((EntityState)this).inputBank.skill3)).justReleased) || gearCharge >= chargeThresholds[^1]) { hasFinishedCharging = true; } } private void ExitChargeThrusters() { //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: 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_00f9: 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_0122: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0133: 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_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_015c: 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_017f: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019b: 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_01a7: Expected O, but got Unknown //IL_01a9: Unknown result type (might be due to invalid IL or missing references) if (gearCharge < chargeThresholds[0]) { ((EntityState)this).PlayAnimation("FullBody, Override", "UtilityLoop"); } else if (gearCharge < chargeThresholds[^1]) { ((EntityState)this).PlayCrossfade("FullBody, Override", "UtilityFire", 0.005f); } ((EntityState)this).GetModelAnimator().SetBool(LunarDragonAnimationParameters.forceIdle, true); if (((EntityState)this).isAuthority) { if (Object.op_Implicit((Object)(object)controller)) { controller.DisableWeaponStateMachine(); } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && Object.op_Implicit((Object)(object)((EntityState)this).characterBody.teamComponent)) { BlastAttack val = new BlastAttack { attacker = ((Component)((EntityState)this).characterBody).gameObject, baseDamage = ((EntityState)this).characterBody.damage * (2f + 12f * gearCharge), crit = ((EntityState)this).characterBody.RollCrit(), falloffModel = (FalloffModel)0, inflictor = ((Component)((EntityState)this).characterBody).gameObject, position = ((EntityState)this).characterBody.transform.position, procChainMask = default(ProcChainMask), baseForce = 200f + 1200f * gearCharge, procCoefficient = 1f, radius = 4f + 10f * gearCharge, teamIndex = ((EntityState)this).characterBody.teamComponent.teamIndex, damageType = DamageTypeCombo.op_Implicit((DamageType)128) }; val.Fire(); } ((EntityState)this).characterMotor.walkSpeedPenaltyCoefficient = 1f; if (Object.op_Implicit((Object)(object)controller)) { controller.canJump = true; } } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)7; } } public class BurstThrustersDash : LunarDragonMain { public float duration; public float speedMultiplier = 1.7f; public float damageCoefficient = 5f; public float turnSpeed; private const float upwardForceMagnitude = 2400f; private const float hitPauseDuration = 0.04f; private const float recoilAmplitude = 1f; private const float knockbackForce = 1800f; private const float smallHopVelocity = 14f; public bool shouldActivateHitbox; private float hitPauseTimer; private OverlapAttack attack; private bool inHitPause; private float dashStopWatch; private float previousTurnSpeed; private int originalLayer; private static GameObject hitEffectPrefab = Addressables.LoadAssetAsync((object)RoR2_DLC2_Chef.ChefUtilityImpactVFX_prefab).WaitForCompletion(); public override void OnEnter() { base.OnEnter(); StartThrustersDash(); } public override void FixedUpdate() { base.FixedUpdate(); ThrustersDashFixedUpdate(); } public override void OnExit() { ExitThrustersDash(); base.OnExit(); } public override bool CanExecuteSkill(GenericSkill skillSlot) { return false; } private void StartThrustersDash() { //IL_00ba: 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_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { previousTurnSpeed = ((EntityState)this).characterDirection.turnSpeed; ((EntityState)this).characterDirection.turnSpeed = turnSpeed; } if (Object.op_Implicit((Object)(object)controller) && controller.bodyState != null) { controller.bodyState.ForceJetsOn(); } if (Object.op_Implicit((Object)(object)((EntityState)this).modelLocator)) { ((EntityState)this).modelLocator.normalizeToFloor = true; } if (((EntityState)this).isAuthority) { if (Object.op_Implicit((Object)(object)controller)) { controller.DisableWeaponStateMachine(); } Vector2 val = Util.Vector3XZToVector2XY(((EntityState)this).inputBank.aimDirection); CharacterDirection characterDirection = ((EntityState)this).characterDirection; Vector3 val2 = new Vector3(val.x, 0f, val.y); characterDirection.moveVector = ((Vector3)(ref val2)).normalized; originalLayer = ((EntityState)this).gameObject.layer; ((EntityState)this).gameObject.layer = LayerIndex.GetAppropriateFakeLayerForTeam(((EntityState)this).teamComponent.teamIndex).intVal; if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((BaseCharacterController)((EntityState)this).characterMotor).Motor)) { ((BaseCharacterController)((EntityState)this).characterMotor).Motor.RebuildCollidableLayers(); } } if (shouldActivateHitbox) { PerformAttack(); } } private void PerformAttack() { //IL_0055: 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) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: 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_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: 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_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: 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_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: 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_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Expected O, but got Unknown if (!((EntityState)this).isAuthority) { return; } HitBoxGroup hitBoxGroup = null; Transform modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { hitBoxGroup = Array.Find(((Component)modelTransform).GetComponents(), (HitBoxGroup element) => element.groupName == "Charge"); } attack = new OverlapAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = ((BaseState)this).GetTeam(), damage = ((BaseState)this).damageStat * damageCoefficient * GetDamageBoostFromSpeed(), hitEffectPrefab = hitEffectPrefab, forceVector = Vector3.up * 2400f, pushAwayForce = 1800f, hitBoxGroup = hitBoxGroup, isCrit = ((BaseState)this).RollCrit(), damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)32), (DamageTypeExtended)0, (DamageSource)4), retriggerTimeout = 0.5f }; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private float GetDamageBoostFromSpeed() { return Mathf.Max(1f, ((EntityState)this).characterBody.moveSpeed / ((EntityState)this).characterBody.baseMoveSpeed); } private void ExitThrustersDash() { if (((EntityState)this).isAuthority) { if (Object.op_Implicit((Object)(object)controller)) { controller.ResetWeaponStateMachine(); } ((EntityState)this).gameObject.layer = originalLayer; if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((BaseCharacterController)((EntityState)this).characterMotor).Motor)) { ((BaseCharacterController)((EntityState)this).characterMotor).Motor.RebuildCollidableLayers(); } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.turnSpeed = previousTurnSpeed; } if (!((EntityState)this).outer.destroying && Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody.isSprinting = false; } } if (Object.op_Implicit((Object)(object)((BaseCharacterMain)this).modelAnimator)) { ((BaseCharacterMain)this).modelAnimator.SetBool(LunarDragonAnimationParameters.forceIdle, false); if (((BaseState)this).isGrounded) { ((EntityState)this).PlayAnimation("OuterCannons, Override", "FlipCannons"); } } } private Vector3 GetIdealVelocity() { //IL_0007: 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_0027: 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) return ((EntityState)this).characterDirection.forward * ((EntityState)this).characterBody.moveSpeed * ((EntityState)this).characterBody.sprintingSpeedMultiplier * speedMultiplier; } private void ThrustersDashFixedUpdate() { //IL_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_0203: 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_0137: 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_0147: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015c: 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) if (!((EntityState)this).isAuthority) { return; } dashStopWatch += Time.deltaTime; if (dashStopWatch >= duration || ((ButtonState)(ref ((EntityState)this).inputBank.skill3)).justPressed) { if (((ButtonState)(ref ((EntityState)this).inputBank.skill3)).justPressed) { ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; } ((EntityState)this).outer.SetNextStateToMain(); return; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody.isSprinting = true; } if (Object.op_Implicit((Object)(object)((EntityState)this).skillLocator.special) && ((EntityState)this).inputBank.skill4.down) { ((EntityState)this).skillLocator.special.ExecuteIfReady(); } if (!inHitPause) { if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection) && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.disableAirControlUntilCollision) { Vector3 velocity = ((EntityState)this).characterBody.characterMotor.velocity; Vector3 idealVelocity = GetIdealVelocity(); ((EntityState)this).characterMotor.velocity = new Vector3(idealVelocity.x, velocity.y, idealVelocity.z); } if (shouldActivateHitbox && attack.Fire((List)null)) { if (((EntityState)this).characterMotor.isGrounded) { inHitPause = true; hitPauseTimer = 0.04f; ((BaseState)this).AddRecoil(-0.25f, -0.25f, -0.25f, 0.25f); } else { ((EntityState)this).characterMotor.velocity.y = Mathf.Max(((EntityState)this).characterMotor.velocity.y, 14f); } } } else { ((EntityState)this).characterMotor.velocity = Vector3.zero; hitPauseTimer -= Time.deltaTime; if (hitPauseTimer < 0f) { inHitPause = false; } } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)7; } } public class BurstThrustersDashTrail : BurstThrustersDash { private DamageTrailDynamic damageTrail; public override void OnEnter() { base.OnEnter(); CreateDamageTrail(); } public override void OnExit() { if (Object.op_Implicit((Object)(object)damageTrail)) { damageTrail.active = false; } base.OnExit(); } private void CreateDamageTrail() { //IL_0052: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)damageTrail) && Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { damageTrail = Object.Instantiate(LunarDragonAssets.fireTrailPrefab, ((EntityState)this).characterBody.transform).GetComponent(); ((Component)damageTrail).transform.position = ((EntityState)this).characterBody.corePosition; damageTrail.owner = ((Component)((EntityState)this).characterBody).gameObject; damageTrail.dpsCoefficient = 6f; } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)7; } } public class DracoAmbushAim : BaseSkillState { public GameObject dotCrosshair = Addressables.LoadAssetAsync((object)RoR2_Base_UI.SimpleDotCrosshair_prefab).WaitForCompletion(); public const float maxDistance = 200f; public const float rayRadius = 2.5f; public const float endpointVisualizerRadiusScale = 4f; public bool toggleActivate = true; public LayerMask layerMask = CommonMasks.bullet; private GameObject heldCrosshair; private bool holdingActivationKey = true; private bool holdingCancelKey = false; private bool stateFinished = false; private const int coarseSplit = 10; private const int fineSplit = 100; protected GameObject _endpointVisualizerPrefab; protected Transform endpointVisualizerTransform; protected Transform originOverride; protected float projectileBaseSpeed; protected float minimumDuration; private Transform mainCamera; private AimRequest aimRequest; protected TrajectoryInfo currentTrajectoryInfo; private bool hasPosition; private bool positionUnsafe; private LunarDragonController controller; public GameObject endpointVisualizerPrefab => Addressables.LoadAssetAsync((object)RoR2_Base_Huntress.HuntressArrowRainIndicator_prefab).WaitForCompletion(); public float baseMinimumDuration => 0.15f; public string originOverrideString => ""; private bool IsNewKeyDownAuthority => ((BaseSkillState)this).IsKeyDownAuthority() && !holdingActivationKey; public override void OnEnter() { //IL_004a: 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_0181: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Expected O, but got Unknown //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); if (!((EntityState)this).isAuthority) { return; } if (((EntityState)this).TryGetComponent(ref controller)) { controller.DisableWeaponStateMachine(); } aimRequest = ((EntityState)this).cameraTargetParams.RequestAimWithData(new Vector3(0f, 16f, -20f), 0.2f, 0.2f); _endpointVisualizerPrefab = endpointVisualizerPrefab; if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { foreach (CameraRigController readOnlyInstances in CameraRigController.readOnlyInstancesList) { if ((Object)(object)readOnlyInstances.target == (Object)(object)((Component)((EntityState)this).characterBody).gameObject) { mainCamera = ((Component)readOnlyInstances).transform; break; } } if (Object.op_Implicit((Object)(object)_endpointVisualizerPrefab) && ((EntityState)this).characterBody.isPlayerControlled) { endpointVisualizerTransform = Object.Instantiate(_endpointVisualizerPrefab, ((EntityState)this).transform.position, Quaternion.identity).transform; } heldCrosshair = ((EntityState)this).characterBody._defaultCrosshairPrefab; ((EntityState)this).characterBody._defaultCrosshairPrefab = dotCrosshair; } UpdateVisualizers(currentTrajectoryInfo); originOverride = ((BaseState)this).FindModelChild(originOverrideString); minimumDuration = baseMinimumDuration / ((BaseState)this).attackSpeedStat; SceneCamera.onSceneCameraPreRender += new SceneCameraDelegate(OnPreRenderSceneCam); } public override void OnExit() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown if (((EntityState)this).isAuthority) { AimRequest obj = aimRequest; if (obj != null) { obj.Dispose(); } SceneCamera.onSceneCameraPreRender -= new SceneCameraDelegate(OnPreRenderSceneCam); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody._defaultCrosshairPrefab = heldCrosshair; } if (Object.op_Implicit((Object)(object)endpointVisualizerTransform)) { EntityState.Destroy((Object)(object)((Component)endpointVisualizerTransform).gameObject); endpointVisualizerTransform = null; } if (Object.op_Implicit((Object)(object)controller)) { controller.ResetWeaponStateMachine(); } } ((EntityState)this).OnExit(); } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)5; } public override void Update() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).Update(); if (stateFinished || !((EntityState)this).isAuthority) { return; } UpdateTrajectoryInfo(); UpdateVisualizers(currentTrajectoryInfo); if (!((BaseSkillState)this).IsKeyDownAuthority()) { if (!toggleActivate && ((EntityState)this).age >= minimumDuration) { NextState(); } else if (toggleActivate) { if (holdingActivationKey) { holdingActivationKey = false; } else if (holdingCancelKey) { ((EntityState)this).outer.SetNextStateToMain(); stateFinished = true; return; } } } else if (toggleActivate && IsNewKeyDownAuthority && !holdingCancelKey) { holdingCancelKey = true; } if (toggleActivate && ((ButtonState)(ref ((EntityState)this).inputBank.skill1)).justPressed && ((EntityState)this).age >= minimumDuration && hasPosition) { NextState(); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] private bool ExceedsDPThreshold(Vector3 normal, float threshold = 0.6f) { //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) return Vector3.Dot(normal, Vector3.up) >= threshold; } private void NextState() { //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: 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_0033: 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_0047: 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_0051: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)controller)) { if (positionUnsafe) { ref Vector3 hitPoint = ref currentTrajectoryInfo.hitPoint; hitPoint += currentTrajectoryInfo.hitNormal * 2.5f * 2f; } controller.bodyStateMachine.SetNextState((EntityState)(object)new DracoAmbushAscend { targetFootPosition = currentTrajectoryInfo.hitPoint }); } ((EntityState)this).skillLocator.special.DeductStock(1); ((EntityState)this).outer.SetNextStateToMain(); stateFinished = true; } protected void UpdateTrajectoryInfo() { //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_006e: 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_0049: 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_0093: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0109: 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_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_013c: 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_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: 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_033d: Unknown result type (might be due to invalid IL or missing references) //IL_0342: Unknown result type (might be due to invalid IL or missing references) //IL_034f: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: 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_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_0208: 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_0224: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_025d: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0272: Unknown result type (might be due to invalid IL or missing references) //IL_027a: Unknown result type (might be due to invalid IL or missing references) //IL_027f: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Unknown result type (might be due to invalid IL or missing references) //IL_0292: Unknown result type (might be due to invalid IL or missing references) //IL_0297: Unknown result type (might be due to invalid IL or missing references) //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Unknown result type (might be due to invalid IL or missing references) Ray aimRay = ((BaseState)this).GetAimRay(); RaycastHit val = default(RaycastHit); bool flag = false; if (Object.op_Implicit((Object)(object)mainCamera) && Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && ((EntityState)this).characterBody.isPlayerControlled) { ((Ray)(ref aimRay)).origin = mainCamera.position; ((Ray)(ref aimRay)).direction = mainCamera.forward; } bool flag2 = Util.CharacterSpherecast(((EntityState)this).gameObject, aimRay, 2.5f, ref val, 200f, layerMask, (QueryTriggerInteraction)0); if (flag2) { if (!ExceedsDPThreshold(((RaycastHit)(ref val)).normal)) { positionUnsafe = true; } else { positionUnsafe = false; } flag = true; } else { positionUnsafe = false; } Vector3 val2 = (flag2 ? ((RaycastHit)(ref val)).point : (((Ray)(ref aimRay)).origin + ((Ray)(ref aimRay)).direction * 200f)); if (!flag) { Ray val3 = default(Ray); ((Ray)(ref val3))..ctor(val2 + ((RaycastHit)(ref val)).normal * 1.5f, Vector3.down); if (Util.CharacterSpherecast(((EntityState)this).gameObject, val3, 2.5f, ref val, 200f, layerMask, (QueryTriggerInteraction)0) && ExceedsDPThreshold(((RaycastHit)(ref val)).normal) && ((RaycastHit)(ref val)).distance > 0f) { flag = true; } } if (!flag) { float num = Vector2.Distance(new Vector2(val2.x, val2.z), new Vector2(((Ray)(ref aimRay)).origin.x, ((Ray)(ref aimRay)).origin.z)); float num2 = 0.1f; float num3 = num * num2; float num4 = 0.01f; Ray val4 = default(Ray); Ray val5 = default(Ray); for (int num5 = 9; num5 > 0; num5--) { ((Ray)(ref val4))..ctor(((Ray)(ref aimRay)).origin + ((Ray)(ref aimRay)).direction * num * num2 * (float)num5, Vector3.down); if (Util.CharacterSpherecast(((EntityState)this).gameObject, val4, num3, ref val, 200f, layerMask, (QueryTriggerInteraction)0) && ExceedsDPThreshold(((RaycastHit)(ref val)).normal, 0.5f)) { for (int i = 0; i <= 100; i++) { ((Ray)(ref val5))..ctor(((Ray)(ref val4)).origin - ((Ray)(ref aimRay)).direction * num3 * num4 * (float)i + ((Ray)(ref aimRay)).direction * num3, Vector3.down); if (Util.CharacterSpherecast(((EntityState)this).gameObject, val5, 2.5f, ref val, 200f, layerMask, (QueryTriggerInteraction)0) && ExceedsDPThreshold(((RaycastHit)(ref val)).normal) && ((RaycastHit)(ref val)).distance > 0f) { flag = true; break; } } if (flag) { break; } } } } if (flag) { currentTrajectoryInfo.hitPoint = ((RaycastHit)(ref val)).point; currentTrajectoryInfo.hitNormal = ((RaycastHit)(ref val)).normal; hasPosition = true; } } private void UpdateVisualizers(TrajectoryInfo trajectoryInfo) { //IL_0017: 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) //IL_001d: 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_005d: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)endpointVisualizerTransform)) { endpointVisualizerTransform.SetPositionAndRotation(trajectoryInfo.hitPoint, Util.QuaternionSafeLookRotation(trajectoryInfo.hitNormal)); if (!4f.Equals(0f)) { endpointVisualizerTransform.localScale = new Vector3(4f, 4f, 4f); } } } private void OnPreRenderSceneCam(SceneCamera sceneCam) { if (Object.op_Implicit((Object)(object)endpointVisualizerTransform)) { ((Component)endpointVisualizerTransform).gameObject.layer = (((Object)(object)sceneCam.cameraRigController.target == (Object)(object)((EntityState)this).gameObject) ? LayerIndex.defaultLayer.intVal : LayerIndex.noDraw.intVal); } } } public class DracoAmbushAscend : DracoAmbushBase { private float stopwatch; private float duration; private const float groundDuration = 0.86f; private const float airDuration = 0.4f; private const float jetsTime = 0.4f; private bool jetsActive; public Vector3 targetFootPosition; public override void OnEnter() { base.OnEnter(); ApplyAmbushStart(); if (((BaseState)this).isGrounded) { ((EntityState)this).PlayCrossfade("FullBody, Override", "SpecialDiveStart", 0.005f); duration = 0.86f; } else { ((EntityState)this).PlayCrossfade("FullBody, Override", "SpecialDiveStartAir", 0.005f); duration = 0.4f; } } public override void Update() { //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008b: 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_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Expected O, but got Unknown ((EntityState)this).Update(); stopwatch += Time.deltaTime; if (!jetsActive && stopwatch > duration - 0.4f) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)controller)) { controller.jetpackStateMachine.SetNextState(EntityStateCatalog.InstantiateState(typeof(JetsOnFront))); } EffectManager.SpawnEffect(LunarDragonAssets.specialLiftoffSmokeEffect, new EffectData { origin = ((EntityState)this).characterBody.footPosition, rotation = ((EntityState)this).characterBody.transform.rotation }, false); jetsActive = true; } if (stopwatch >= duration && ((EntityState)this).isAuthority) { authorityFinished = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new DracoAmbushRising { targetFootPosition = targetFootPosition, hurtBoxGroup = hurtBoxGroup }); } } public override void OnExit() { //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_0019: 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_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) //IL_0040: Expected O, but got Unknown base.OnExit(); EffectManager.SpawnEffect(LunarDragonAssets.specialLiftoffExplosionEffect, new EffectData { origin = ((EntityState)this).characterBody.footPosition, rotation = ((EntityState)this).characterBody.transform.rotation }, false); } } public class DracoAmbushBase : BaseSkillState { private static BuffDef immunityBuff = Addressables.LoadAssetAsync((object)RoR2_DLC2.bdHiddenRejectAllDamage_asset).WaitForCompletion(); protected LunarDragonController controller; protected InteractionDriver interactionDriver; protected Animator animator; protected Transform modelTransform; protected KinematicCharacterMotor kinematicMotor; protected Collider collider; protected Inventory inventory; public HurtBoxGroup hurtBoxGroup; protected bool authorityFinished = false; public override void OnEnter() { ((BaseState)this).OnEnter(); animator = ((EntityState)this).GetModelAnimator(); interactionDriver = ((EntityState)this).GetComponent(); controller = ((EntityState)this).GetComponent(); kinematicMotor = ((EntityState)this).GetComponent(); collider = ((EntityState)this).GetComponent(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { inventory = ((EntityState)this).characterBody.inventory; } if (Object.op_Implicit((Object)(object)((EntityState)this).modelLocator)) { modelTransform = ((EntityState)this).modelLocator.modelTransform; } } protected void ApplyAmbushStart() { //IL_0042: 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_00e4: 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) if (((EntityState)this).isAuthority) { if (Object.op_Implicit((Object)(object)controller)) { controller.DisableAllSkillStateMachines(); } if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; ((EntityState)this).characterMotor.useGravity = false; ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); } if (Object.op_Implicit((Object)(object)interactionDriver)) { ((Behaviour)interactionDriver).enabled = false; interactionDriver.currentInteractable = null; } if (((Component)modelTransform).TryGetComponent(ref hurtBoxGroup)) { HurtBoxGroup obj = hurtBoxGroup; int hurtBoxesDeactivatorCounter = obj.hurtBoxesDeactivatorCounter; obj.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter + 1; } if (Object.op_Implicit((Object)(object)kinematicMotor)) { kinematicMotor.CollidableLayers = LayerMask.op_Implicit(0); } if (Object.op_Implicit((Object)(object)collider)) { collider.isTrigger = true; } } if (NetworkServer.active) { if (Object.op_Implicit((Object)(object)inventory)) { inventory.SetEquipmentDisabled(true); } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody.AddBuff(immunityBuff); } } if (Object.op_Implicit((Object)(object)animator)) { animator.SetBool(LunarDragonAnimationParameters.isHovering, false); animator.SetBool(LunarDragonAnimationParameters.forceIdle, true); } } protected void ApplyAmbushAscend() { if (Object.op_Implicit((Object)(object)controller)) { controller.EnableFireAura(); if (((EntityState)this).isAuthority) { controller.jetpackStateMachine.SetNextState(EntityStateCatalog.InstantiateState(typeof(JetsOnFrontTrailHeavy))); } } if (Object.op_Implicit((Object)(object)modelTransform)) { Util.PlaySound("Play_UI_podDescentLoop", ((Component)modelTransform).gameObject); Util.PlaySound("Play_lemurianBruiser_m1_fly_loop", ((Component)modelTransform).gameObject); ((EntityState)this).modelLocator.autoUpdateModelTransform = false; } } protected void ForceExitAmbush() { ApplyAmbushLand(); ApplyAmbushEnd(); } protected void ApplyAmbushEnd() { //IL_004b: 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) if (Object.op_Implicit((Object)(object)animator)) { animator.SetBool(LunarDragonAnimationParameters.forceIdle, false); } if (((EntityState)this).isAuthority) { if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; CharacterGravityParameters gravityParameters = ((EntityState)this).characterMotor.gravityParameters; characterMotor.useGravity = ((CharacterGravityParameters)(ref gravityParameters)).CheckShouldUseGravity(); } if (Object.op_Implicit((Object)(object)kinematicMotor)) { kinematicMotor.RebuildCollidableLayers(); } if (Object.op_Implicit((Object)(object)collider)) { collider.isTrigger = false; } } if (NetworkServer.active) { if (Object.op_Implicit((Object)(object)inventory)) { inventory.SetEquipmentDisabled(false); } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody.RemoveBuff(immunityBuff); } } } protected void ApplyAmbushLand() { ((EntityState)this).PlayAnimation("FullBody, Override", "SpecialDiveEnd"); if (Object.op_Implicit((Object)(object)controller)) { controller.DisableFireAura(); } if (Object.op_Implicit((Object)(object)((EntityState)this).modelLocator)) { ((EntityState)this).modelLocator.autoUpdateModelTransform = true; } if (Object.op_Implicit((Object)(object)modelTransform)) { Util.PlaySound("Stop_UI_podDescentLoop", ((Component)modelTransform).gameObject); Util.PlaySound("Stop_lemurianBruiser_m1_fly_loop", ((Component)modelTransform).gameObject); } if (((EntityState)this).isAuthority) { if (Object.op_Implicit((Object)(object)controller)) { controller.jetpackStateMachine.SetNextState(EntityStateCatalog.InstantiateState(typeof(JetsOff))); controller.ResetAllSkillStateMachines(); } if (Object.op_Implicit((Object)(object)hurtBoxGroup)) { HurtBoxGroup obj = hurtBoxGroup; int hurtBoxesDeactivatorCounter = obj.hurtBoxesDeactivatorCounter; obj.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter - 1; } if (Object.op_Implicit((Object)(object)interactionDriver)) { ((Behaviour)interactionDriver).enabled = true; } } } public override void OnExit() { ((BaseState)this).OnEnter(); if (((EntityState)this).isAuthority && !authorityFinished && Object.op_Implicit((Object)(object)controller)) { controller.utilityStateMachine.SetNextState((EntityState)(object)new DracoAmbushCancel { hurtBoxGroup = hurtBoxGroup }); } else if (((EntityState)this).isAuthority && authorityFinished && !Object.op_Implicit((Object)(object)controller)) { Log.Error("Couldn't run DracoAmbush failsafe as controller wasn't found!"); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0003: 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) return (InterruptPriority)9; } } public class DracoAmbushCancel : DracoAmbushBase { public override void OnEnter() { base.OnEnter(); authorityFinished = true; ForceExitAmbush(); ((EntityState)this).outer.SetNextStateToMain(); } } public class DracoAmbushDescending : DracoAmbushBase { private float stopwatch; private float lifetime = 3f; public Vector3 targetFootPosition; private AnimationCurve xCurve = LunarDragonAssets.specialAmbushDescendingData.xCurve; private AnimationCurve yCurve = LunarDragonAssets.specialAmbushDescendingData.yCurve; private AnimationCurve zCurve = LunarDragonAssets.specialAmbushDescendingData.zCurve; private Transform modelBaseTransform; protected virtual bool doTeleport => true; public override void OnEnter() { //IL_0042: Unknown result type (might be due to invalid IL or missing references) base.OnEnter(); modelBaseTransform = ((EntityState)this).GetModelBaseTransform(); if (((EntityState)this).isAuthority) { if (doTeleport) { ((EntityState)this).cameraTargetParams.AddLerpRequest(0.5f); TeleportHelper.TeleportBody(((EntityState)this).characterBody, targetFootPosition, true); } if (Object.op_Implicit((Object)(object)controller)) { controller.jetpackStateMachine.SetNextState(EntityStateCatalog.InstantiateState(typeof(JetsOnFrontTrailLight))); } } } public override void Update() { //IL_00a8: 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_00c3: 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_00df: 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_00ee: 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_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_011e: 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_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0133: 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_014f: 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) ((EntityState)this).Update(); stopwatch += Time.deltaTime; if (((EntityState)this).isAuthority && stopwatch >= lifetime) { authorityFinished = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new DracoAmbushLand { hurtBoxGroup = hurtBoxGroup }); } if (Object.op_Implicit((Object)(object)modelTransform) && Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && stopwatch < lifetime) { float num = stopwatch / lifetime; Vector3 val = modelBaseTransform.forward * zCurve.Evaluate(num) * 1500f + modelBaseTransform.right * xCurve.Evaluate(num) * 1500f + modelBaseTransform.up * yCurve.Evaluate(num) * 4500f; modelTransform.LookAt(((EntityState)this).characterBody.footPosition + val); modelTransform.position = ((EntityState)this).characterBody.footPosition + val; } } } public class DracoAmbushLand : DracoAmbushBase { private float stopwatch; private float lifetime = 0.75f; public override void OnEnter() { base.OnEnter(); OnLand(); } private void OnLand() { //IL_0092: 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_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Expected O, but got Unknown ApplyAmbushLand(); if (((EntityState)this).isAuthority) { FireExplosion(); } if (Object.op_Implicit((Object)(object)modelTransform)) { Util.PlaySound("Play_captain_R_impact", ((Component)((EntityState)this).modelLocator.modelTransform).gameObject); Util.PlaySound("Play_falseson_skill1_impact_full", ((Component)((EntityState)this).modelLocator.modelTransform).gameObject); Util.PlaySound("Play_LunarDragonAmbushImpact", ((Component)((EntityState)this).modelLocator.modelTransform).gameObject); } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { EffectManager.SpawnEffect(LunarDragonAssets.specialLandingExplosionEffect, new EffectData { origin = ((EntityState)this).characterBody.footPosition, rotation = ((EntityState)this).characterBody.transform.rotation }, false); } } public override void OnExit() { base.OnExit(); ApplyAmbushEnd(); } public override void Update() { ((EntityState)this).Update(); stopwatch += Time.deltaTime; if (!(stopwatch >= lifetime)) { return; } ((EntityState)this).PlayAnimation("OuterCannons, Override", "FlipCannons"); if (((EntityState)this).isAuthority) { authorityFinished = true; if (Object.op_Implicit((Object)(object)controller)) { controller.ResetAllSkillStateMachines(); } ((EntityState)this).outer.SetNextStateToMain(); } } private void FireExplosion() { //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_0012: 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_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: 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_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006f: 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) //IL_0085: 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) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Expected O, but got Unknown //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: 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_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) BlastAttack val = new BlastAttack { attacker = ((EntityState)this).gameObject, baseDamage = ((EntityState)this).characterBody.damage * 100f, crit = ((EntityState)this).characterBody.RollCrit(), position = ((EntityState)this).characterBody.transform.position, falloffModel = (FalloffModel)3, inflictor = ((EntityState)this).gameObject, procChainMask = default(ProcChainMask), procCoefficient = 1f, radius = 55f, teamIndex = ((EntityState)this).characterBody.teamComponent.teamIndex }; val.damageType |= DamageTypeCombo.op_Implicit((DamageType)128); val.Fire(); } } public class DracoAmbushRising : DracoAmbushBase { private float lifetime = 3f; private float stopwatch; public Vector3 targetFootPosition; private AnimationCurve xCurve = LunarDragonAssets.specialAmbushRisingData.xCurve; private AnimationCurve yCurve = LunarDragonAssets.specialAmbushRisingData.yCurve; private AnimationCurve zCurve = LunarDragonAssets.specialAmbushRisingData.zCurve; private Transform modelBaseTransform; public override void OnEnter() { base.OnEnter(); OnTakeoff(); } private void OnTakeoff() { modelBaseTransform = ((EntityState)this).GetModelBaseTransform(); ApplyAmbushAscend(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && Object.op_Implicit((Object)(object)((EntityState)this).characterBody.teamComponent)) { FireExplosion(); } } private void FireExplosion() { //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_0017: 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_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0084: 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_009a: 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_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: 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_00c1: Expected O, but got Unknown //IL_00c2: Unknown result type (might be due to invalid IL or missing references) BlastAttack val = new BlastAttack { attacker = ((Component)((EntityState)this).characterBody).gameObject, baseDamage = ((EntityState)this).characterBody.damage * 10f, crit = ((EntityState)this).characterBody.RollCrit(), falloffModel = (FalloffModel)3, inflictor = ((Component)((EntityState)this).characterBody).gameObject, position = ((EntityState)this).characterBody.transform.position, procChainMask = default(ProcChainMask), baseForce = 1500f, procCoefficient = 1f, radius = 18f, teamIndex = ((EntityState)this).characterBody.teamComponent.teamIndex, damageType = DamageTypeCombo.op_Implicit((DamageType)128) }; val.Fire(); } public override void Update() { //IL_0094: 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_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: 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_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_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: 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) //IL_0105: 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_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: 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_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_013d: 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_0054: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).Update(); stopwatch += Time.deltaTime; if (((EntityState)this).isAuthority && stopwatch >= lifetime) { authorityFinished = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new DracoAmbushDescending { targetFootPosition = targetFootPosition, hurtBoxGroup = hurtBoxGroup }); } if (Object.op_Implicit((Object)(object)modelTransform)) { float num = stopwatch / lifetime; Vector3 val = modelBaseTransform.forward * zCurve.Evaluate(num) * 1500f + modelBaseTransform.right * xCurve.Evaluate(num) * 1500f + modelBaseTransform.up * yCurve.Evaluate(num) * 4500f; modelTransform.LookAt(((EntityState)this).characterBody.footPosition + val); modelTransform.position = ((EntityState)this).characterBody.footPosition + val; } } } public class ElementalBlitz : BaseState, IStepSetter { public enum Cannon { Left, Right, Middle } private static Vector3 projectileOriginOffset = Vector3.up * 1.5f; public GameObject projectilePrefab; public float baseDuration = 0.4f; public float paddingBetweenAttacks = 0.6f; public string attackSoundString; public string attackSoundStringAlt; public float attackSoundPitch; private float duration; private float maxDistance = 9999f; private float projectileBloom = 0.65f; private Vector2 projectileRecoilAmp = new Vector2(0.2f, 0.6f); private float finisherBloom = 0.8f; private Vector2 finisherRecoilAmp = new Vector2(0.5f, 2f); private bool hasFiredBlitz; private string muzzleString; private Transform muzzleTransform; private Cannon cannon; private string animationStateName; private GameObject muzzleflashEffectPrefab; private LunarDragonController controller; private static Wave shakeWave = new Wave { amplitude = 0.2f, frequency = 14f }; private static GameObject muzzleflashLeft = Addressables.LoadAssetAsync((object)RoR2_Base_Common_VFX.OmniExplosionVFXQuick_prefab).WaitForCompletion(); private static GameObject muzzleflashRight = LunarDragonAssets.iceballMuzzlePrefab; private static GameObject muzzleFlashCenter = LunarDragonAssets.laserMuzzlePrefab; public override void OnEnter() { ((BaseState)this).OnEnter(); controller = ((EntityState)this).GetComponent(); duration = baseDuration / base.attackSpeedStat; ((EntityState)this).characterBody.SetAimTimer(2f); switch (cannon) { case Cannon.Left: muzzleString = "MuzzleLeft"; animationStateName = "PrimaryShoot1"; projectilePrefab = LunarDragonAssets.fireballPrefab; muzzleflashEffectPrefab = muzzleflashLeft; ((EntityState)this).PlayCrossfade("LeftCannon, Additive", animationStateName, "Blitz.playbackRate", duration, 0.025f); break; case Cannon.Right: muzzleString = "MuzzleRight"; animationStateName = "PrimaryShoot2"; projectilePrefab = LunarDragonAssets.iceballPrefab; muzzleflashEffectPrefab = muzzleflashRight; ((EntityState)this).PlayCrossfade("RightCannon, Additive", animationStateName, "Blitz.playbackRate", duration, 0.025f); break; case Cannon.Middle: muzzleString = "MuzzleCenter"; animationStateName = "PrimaryShoot3"; muzzleflashEffectPrefab = muzzleFlashCenter; ((EntityState)this).PlayCrossfade("FullBody, Additive", animationStateName, "Blitz.playbackRate", duration, 0.025f); break; } ChildLocator modelChildLocator = ((EntityState)this).GetModelChildLocator(); if (Object.op_Implicit((Object)(object)modelChildLocator)) { muzzleTransform = modelChildLocator.FindChild(muzzleString); } } private Ray GetCameraAimRay() { //IL_0084: 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_0043: 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_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0075: 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) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank) && Object.op_Implicit((Object)(object)controller) && Object.op_Implicit((Object)(object)controller.camera)) { Vector3 position = ((Component)controller.camera).transform.position; Vector3 val = controller.camera.crosshairWorldPosition - ((Component)controller.camera).transform.position; return new Ray(position, ((Vector3)(ref val)).normalized); } return ((BaseState)this).GetAimRay(); } private void FireBlitzProjectile() { //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: 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_0062: 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_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: 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_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: 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_00df: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014e: 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) //IL_009c: Unknown result type (might be due to invalid IL or missing references) if (hasFiredBlitz) { return; } if (Object.op_Implicit((Object)(object)muzzleflashEffectPrefab)) { EffectManager.SimpleMuzzleFlash(muzzleflashEffectPrefab, ((EntityState)this).gameObject, muzzleString, false); } if (((EntityState)this).isAuthority) { Ray cameraAimRay = GetCameraAimRay(); Vector3 direction = ((Ray)(ref cameraAimRay)).direction; direction = TrajectoryAimAssist.ApplyTrajectoryAimAssist(direction, ((Ray)(ref cameraAimRay)).origin, maxDistance, ((EntityState)this).gameObject, ((EntityState)this).gameObject, 1f); if (direction == ((Ray)(ref cameraAimRay)).direction) { GetMuzzleDirectionFromAimRay(cameraAimRay, ref direction); } FireProjectileInfo val = new FireProjectileInfo { projectilePrefab = projectilePrefab, position = muzzleTransform.position + projectileOriginOffset, rotation = Util.QuaternionSafeLookRotation(direction), owner = ((EntityState)this).gameObject, damage = base.damageStat * 4f, force = 150f, crit = Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), damageColorIndex = (DamageColorIndex)0, damageTypeOverride = DamageTypeCombo.GenericPrimary }; ProjectileManager.instance.FireProjectile(val); ApplyAirborneKnockback(((Ray)(ref cameraAimRay)).direction, 900f); ((BaseState)this).AddRecoil(-1f * projectileRecoilAmp.y, -1.5f * projectileRecoilAmp.y, -1f * projectileRecoilAmp.x, 1f * projectileRecoilAmp.x); ((EntityState)this).characterBody.AddSpreadBloom(projectileBloom); } } private void FireBlitzFinisher() { //IL_0044: 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_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: 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_009c: 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_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: 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_00d8: 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_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: 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_0105: 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_0117: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0184: 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_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Expected O, but got Unknown //IL_01d8: Unknown result type (might be due to invalid IL or missing references) if (!hasFiredBlitz) { if (Object.op_Implicit((Object)(object)muzzleflashEffectPrefab)) { EffectManager.SimpleMuzzleFlash(muzzleflashEffectPrefab, ((EntityState)this).gameObject, muzzleString, false); } ShakeEmitter.CreateSimpleShakeEmitter(((EntityState)this).transform.position, shakeWave, 0.15f, 120f, true); CharacterBody characterBody = ((EntityState)this).characterBody; if (characterBody != null) { ((MonoBehaviour)characterBody).StartCoroutine(PlayLaserSFX()); } if (((EntityState)this).isAuthority) { Ray cameraAimRay = GetCameraAimRay(); Vector3 direction = ((Ray)(ref cameraAimRay)).direction; GetMuzzleDirectionFromAimRay(cameraAimRay, ref direction); BulletAttack val = new BulletAttack { owner = ((Component)((EntityState)this).characterBody).gameObject, weapon = ((Component)((EntityState)this).characterBody).gameObject, origin = muzzleTransform.position + projectileOriginOffset, aimVector = direction, minSpread = 0f, maxSpread = 0f, bulletCount = 1u, procCoefficient = 1f, damage = ((EntityState)this).characterBody.damage * 6f, force = 250f, radius = 5f, falloffModel = (FalloffModel)0, muzzleName = muzzleString, isCrit = ((BaseState)this).RollCrit(), HitEffectNormal = false, smartCollision = true, maxDistance = maxDistance, stopperMask = ((LayerIndex)(ref LayerIndex.world)).mask, damageType = new DamageTypeCombo { damageType = (DamageType)32, damageTypeExtended = (DamageTypeExtended)0, damageSource = (DamageSource)1 }, tracerEffectPrefab = LunarDragonAssets.laserTracerPrefab, hitEffectPrefab = LunarDragonAssets.laserHitEffectPrefab }; val.Fire(); ApplyAirborneKnockback(((Ray)(ref cameraAimRay)).direction, 1500f); ((BaseState)this).AddRecoil(-1f * finisherRecoilAmp.y, -1.5f * finisherRecoilAmp.y, -1f * finisherRecoilAmp.x, 1f * finisherRecoilAmp.x); ((EntityState)this).characterBody.AddSpreadBloom(finisherBloom); } } } private IEnumerator PlayLaserSFX() { if (Object.op_Implicit((Object)(object)((EntityState)this).gameObject)) { Util.PlaySound("Play_falseson_skill4_laser_start", ((EntityState)this).gameObject); } yield return (object)new WaitForSeconds(0.5f); if (Object.op_Implicit((Object)(object)((EntityState)this).gameObject)) { Util.PlaySound("Stop_falseson_skill4_laser_loop", ((EntityState)this).gameObject); Util.PlaySound("Stop_falseson_skill4_laser_charge_loop", ((EntityState)this).gameObject); Util.PlaySound("Play_falseson_skill4_laser_end", ((EntityState)this).gameObject); } } private void GetMuzzleDirectionFromAimRay(Ray aimRay, ref Vector3 direction) { //IL_0003: 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_0013: 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_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: 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_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_00c8: Unknown result type (might be due to invalid IL or missing references) RaycastHit[] array = Physics.RaycastAll(((Ray)(ref aimRay)).origin, direction, 9999f, LayerMask.op_Implicit(CommonMasks.bullet)); Array.Sort(array, (RaycastHit hitA, RaycastHit hitB) => ((RaycastHit)(ref hitA)).distance.CompareTo(((RaycastHit)(ref hitB)).distance)); for (int num = 0; num < array.Length; num++) { Collider obj = UnityObjectExtensions.AsValidOrNull(((RaycastHit)(ref array[num])).collider); HurtBox val = ((obj != null) ? ((Component)obj).GetComponent() : null); if ((Object)(object)val == (Object)null || (Object.op_Implicit((Object)(object)val) && val.teamIndex != ((EntityState)this).teamComponent.teamIndex)) { direction = ((RaycastHit)(ref array[num])).point - (muzzleTransform.position + projectileOriginOffset); break; } } } protected virtual bool OnBulletImpact(BulletAttack bulletAttack, ref BulletHit hitInfo) { return BulletAttack.defaultHitCallback.Invoke(bulletAttack, ref hitInfo); } private void ApplyAirborneKnockback(Vector3 aimDirection, float maxForce) { //IL_0019: 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) if (!((BaseState)this).isGrounded) { ((EntityState)this).characterBody.characterMotor.ApplyForce(aimDirection * (0f - maxForce), false, false); } } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge >= duration * 0.2f || hasFiredBlitz) { if (cannon == Cannon.Middle && !hasFiredBlitz) { Util.PlayAttackSpeedSound(attackSoundStringAlt, ((EntityState)this).gameObject, attackSoundPitch); FireBlitzFinisher(); hasFiredBlitz = true; } else if (!hasFiredBlitz) { Util.PlayAttackSpeedSound(attackSoundString, ((EntityState)this).gameObject, attackSoundPitch); FireBlitzProjectile(); hasFiredBlitz = true; } if (((EntityState)this).isAuthority && ((EntityState)this).fixedAge >= (duration + paddingBetweenAttacks) / base.attackSpeedStat) { ((EntityState)this).outer.SetNextStateToMain(); } } } public void SetStep(int i) { cannon = (Cannon)i; } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } public override void OnSerialize(NetworkWriter writer) { ((EntityState)this).OnSerialize(writer); writer.Write((byte)cannon); } public override void OnDeserialize(NetworkReader reader) { ((EntityState)this).OnDeserialize(reader); cannon = (Cannon)reader.ReadByte(); } } public class Eruption : SecondaryBase { private static Wave shakeWave = new Wave { amplitude = 0.5f, frequency = 20f }; protected override GameObject projectilePrefab => LunarDragonAssets.heavyFireballPrefab; protected override float damageCoefficient => 8f; protected override string attackSoundString => "Play_moonBrother_dash"; protected override GameObject muzzleflashEffectPrefab => LunarDragonAssets.heavyFireballMuzzlePrefab; protected override string muzzleString => "MuzzleLeft"; protected override string animationLayerName => "LeftCannon, Additive"; protected override string animationStateName => "SecondaryShoot1"; protected override void FireProjectile() { //IL_0007: 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) ShakeEmitter.CreateSimpleShakeEmitter(((EntityState)this).transform.position, shakeWave, 0.3f, 60f, true); base.FireProjectile(); } } public class FlowThrusters : GenericCharacterMain, ISkillState { public float duration = 7f; public float speed = 18f; private AimRequest aimRequest; private float hopVelocity = 28f; private float hopCountdown = 0.25f; private bool thrustersStarted; private bool holdingKeyFromStart = true; public bool detonateOnCollision = false; public GameObject explosionEffectPrefab; public float blastDamageCoefficient; public float blastRadius; public float blastForce; public FalloffModel blastFalloffModel; public DamageTypeCombo blastDamageType; public Vector3 blastBonusForce; public float blastProcCoefficient; public string explosionSoundString; public float overlapDamageCoefficient; public float overlapProcCoefficient; public float overlapForce; public float overlapFireFrequency; public float overlapResetFrequency; public float overlapVehicleDurationBonusPerHit; public GameObject overlapHitEffectPrefab; private bool hasDetonatedServer; private OverlapAttack overlapAttack; private float overlapFireAge; private float overlapResetAge; public GenericSkill activatorSkillSlot { get; set; } public override void OnEnter() { ((GenericCharacterMain)this).OnEnter(); ((EntityState)this).modelLocator.normalizeToFloor = false; if (((EntityState)this).characterMotor.isGrounded) { ((EntityState)this).characterMotor.velocity.y = Mathf.Max(((EntityState)this).characterMotor.velocity.y, hopVelocity); ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); } else { StartThrusters(); } } public override void ProcessJump() { } public override void HandleMovements() { } private void StartThrusters() { //IL_0021: 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_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: 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_00cd: 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_00d9: 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_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: 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_011d: Expected O, but got Unknown thrustersStarted = true; if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { Vector3 aimDirection = ((EntityState)this).inputBank.aimDirection; ((BaseState)this).StartAimMode(7f, false); ((EntityState)this).characterMotor.velocity = aimDirection * speed; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { aimRequest = ((EntityState)this).cameraTargetParams.RequestAimType((AimType)2); } overlapAttack = new OverlapAttack { attacker = ((Component)((EntityState)this).characterBody).gameObject, damage = overlapDamageCoefficient * ((EntityState)this).characterBody.damage, pushAwayForce = overlapForce, isCrit = ((EntityState)this).characterBody.RollCrit(), damageColorIndex = (DamageColorIndex)3, inflictor = ((EntityState)this).gameObject, procChainMask = default(ProcChainMask), procCoefficient = overlapProcCoefficient, teamIndex = ((EntityState)this).characterBody.teamComponent.teamIndex, hitBoxGroup = ((EntityState)this).gameObject.GetComponent(), hitEffectPrefab = overlapHitEffectPrefab }; } } private void DetonateServer() { //IL_013e: 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_0031: 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) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Expected O, but got Unknown //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Expected O, but got Unknown //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: 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_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: 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) if (!hasDetonatedServer) { hasDetonatedServer = true; if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { EffectData val = new EffectData { origin = ((EntityState)this).transform.position, scale = blastRadius }; BlastAttack val2 = new BlastAttack(); val2.attacker = ((Component)((EntityState)this).characterBody).gameObject; val2.baseDamage = blastDamageCoefficient * ((EntityState)this).characterBody.damage; val2.baseForce = blastForce; val2.bonusForce = blastBonusForce; val2.attackerFiltering = (AttackerFiltering)2; val2.crit = ((EntityState)this).characterBody.RollCrit(); val2.damageColorIndex = (DamageColorIndex)3; val2.damageType = blastDamageType; val2.falloffModel = blastFalloffModel; val2.inflictor = ((EntityState)this).gameObject; val2.position = ((EntityState)this).transform.position; val2.procChainMask = default(ProcChainMask); val2.procCoefficient = blastProcCoefficient; val2.radius = blastRadius; val2.teamIndex = ((EntityState)this).characterBody.teamComponent.teamIndex; val2.Fire(); } PointSoundManager.EmitSoundLocal(explosionSoundString, ((EntityState)this).gameObject.transform.position); Object.Destroy((Object)(object)((EntityState)this).gameObject); } } public override void FixedUpdate() { //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: 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_0114: 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_0124: 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_012e: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) ((GenericCharacterMain)this).FixedUpdate(); if (!IsKeyDownAuthority() && holdingKeyFromStart) { holdingKeyFromStart = false; } if (thrustersStarted) { ((EntityState)this).age = ((EntityState)this).age + Time.fixedDeltaTime; overlapFireAge += Time.fixedDeltaTime; overlapResetAge += Time.fixedDeltaTime; if (overlapFireAge > 1f / overlapFireFrequency) { if (overlapAttack.Fire((List)null)) { ((EntityState)this).age = Mathf.Max(0f, ((EntityState)this).age - overlapVehicleDurationBonusPerHit); } overlapFireAge = 0f; } if (overlapResetAge >= 1f / overlapResetFrequency) { overlapAttack.ResetIgnoredHealthComponents(); overlapResetAge = 0f; } Ray aimRay = ((EntityState)this).inputBank.GetAimRay(); Vector3 velocity = ((EntityState)this).characterMotor.velocity; Vector3 velocity2 = ((Ray)(ref aimRay)).direction * speed; ((EntityState)this).characterMotor.velocity = velocity2; ((EntityState)this).characterDirection.moveVector = ((Ray)(ref aimRay)).direction; if (duration <= ((EntityState)this).age || (((EntityState)this).age > 0.5f && IsKeyDownAuthority() && !holdingKeyFromStart)) { ((EntityState)this).modelLocator.normalizeToFloor = true; AimRequest obj = aimRequest; if (obj != null) { obj.Dispose(); } ((EntityState)this).outer.SetNextStateToMain(); } } else { hopCountdown -= Time.fixedDeltaTime; if (hopCountdown < 0f) { StartThrusters(); } } } private void OnCollisionEnter(Collision collision) { if (detonateOnCollision && NetworkServer.active) { DetonateServer(); } } public override void OnSerialize(NetworkWriter writer) { ((EntityState)this).OnSerialize(writer); SkillStateMethods.Serialize((ISkillState)(object)this, ((EntityState)this).skillLocator, writer); } public override void OnDeserialize(NetworkReader reader) { ((EntityState)this).OnDeserialize(reader); SkillStateMethods.Deserialize((ISkillState)(object)this, ((EntityState)this).skillLocator, reader); } public bool IsKeyDownAuthority() { return SkillStateMethods.IsKeyDownAuthority((ISkillState)(object)this, ((EntityState)this).skillLocator, ((EntityState)this).inputBank); } } public class Glaciate : SecondaryBase { protected override GameObject projectilePrefab => LunarDragonAssets.heavyIceballPrefab; protected override float damageCoefficient => 6f; protected override string attackSoundString => ""; protected override string muzzleString => "MuzzleRight"; protected override string animationLayerName => "RightCannon, Additive"; protected override string animationStateName => "PrimaryShoot2"; } public class Surge : SecondaryBase { private ElecSecondaryController elecSecondaryController; private int searchingCountdown = -1; private bool hasFired; protected override GameObject projectilePrefab => LunarDragonAssets.heavyPlasmaballPrefab; protected override float damageCoefficient => 12f; protected override string attackSoundString => ""; protected override string muzzleString => "MuzzleCenter"; protected override string animationLayerName => "FullBody, Additive"; protected override string animationStateName => "PrimaryShoot3"; protected override bool canLeaveStateAfterFire => false; public override void OnEnter() { base.OnEnter(); } protected override void FireProjectile() { base.FireProjectile(); hasFired = true; searchingCountdown = 5; } public override void Update() { base.Update(); if (!hasFired) { return; } if (searchingCountdown > 0 && (Object)(object)elecSecondaryController == (Object)null) { elecSecondaryController = ((EntityState)this).GetComponent()?.elecSecondaryController; if ((Object)(object)elecSecondaryController == (Object)null) { searchingCountdown--; } else { searchingCountdown = -1; } } else if ((Object)(object)elecSecondaryController != (Object)null) { if (base.IsNewKeyDownAuthority) { elecSecondaryController.Detonate(); } } else { SkillBlocker nextState = new SkillBlocker(); ((EntityState)this).outer.SetNextState((EntityState)(object)nextState); } } } public class SpawnState : SpawnTeleporterState { public override void OnEnter() { ((SpawnTeleporterState)this).OnEnter(); ((EntityState)this).modelLocator.normalizeToFloor = true; } } } namespace LunarDragonMod.Survivors.LunarDragon.Components { public class AnimateMinMaxParticleSize : MonoBehaviour { [SerializeField] private ParticleSystemRenderer psr; [SerializeField] private AnimationCurve animationCurve; [SerializeField] private float loopDuration; private float stopwatch; private float loopMult; private void Awake() { loopMult = 1f / loopDuration; animationCurve.postWrapMode = (WrapMode)2; } private void Update() { stopwatch += Time.deltaTime; if (Object.op_Implicit((Object)(object)psr) && animationCurve.keys.Length != 0) { float num = animationCurve.Evaluate(stopwatch * loopMult); psr.minParticleSize = num; psr.maxParticleSize = num; } } } public class DamageTrailDynamic : MonoBehaviour { public float pointUpdateInterval = 0.2f; public float damageUpdateInterval = 0.2f; public float radius = 0.5f; public float height = 0.5f; public float pointLifetime = 3f; public DamageTypeCombo damageType = DamageTypeCombo.Generic; public LineRenderer lineRenderer; public bool active = true; public GameObject segmentPrefab; public bool destroyTrailSegments; public bool useOptimizedDamageUpdateInterval; public float? dpsCoefficient = null; public float damagePerSecond; public GameObject owner; private HashSet ignoredObjects = new HashSet(); private List pointsList = new List(); private float localTime; private float nextTrailPointUpdate; private float nextTrailDamageUpdate; private bool wasActive; private void Start() { localTime = 0f; if (active) { AddPoint(); AddPoint(); } CharacterBody val = default(CharacterBody); if (Object.op_Implicit((Object)(object)owner) && dpsCoefficient.HasValue && owner.TryGetComponent(ref val)) { damagePerSecond = val.damage * dpsCoefficient.Value; } } private void OnDisable() { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) if (!EffectManager.UsePools) { return; } for (int num = pointsList.Count - 1; num >= 0; num--) { if (Object.op_Implicit((Object)(object)pointsList[num].segmentTransform)) { EffectManagerHelper component = ((Component)pointsList[num].segmentTransform).gameObject.GetComponent(); if (Object.op_Implicit((Object)(object)component) && component.OwningPool != null) { ((GenericPool)(object)component.OwningPool).ReturnObject(component); } } pointsList.RemoveAt(num); } } private void FixedUpdate() { localTime += Time.deltaTime; if (localTime >= nextTrailPointUpdate) { nextTrailPointUpdate += pointUpdateInterval; UpdateTrail(); } if (localTime >= nextTrailDamageUpdate) { float num = (useOptimizedDamageUpdateInterval ? DamageTrail.optimizedDamageUpdateinterval : damageUpdateInterval); nextTrailDamageUpdate += num; DoDamage(num); } if (pointsList.Count > 0 && active) { UpdateFollowerTrailPoint(); } else if (pointsList.Count > 0 && !active && wasActive) { UnparentTrailPoints(); } else if (pointsList.Count <= 0 && !active) { Object.Destroy((Object)(object)((Component)this).gameObject); } if (Object.op_Implicit((Object)(object)segmentPrefab) && active) { InterpolatePoints(); } wasActive = active; } private void UnparentTrailPoints() { //IL_0012: 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_0019: 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) foreach (TrailPoint points in pointsList) { if (Object.op_Implicit((Object)(object)points.segmentTransform)) { points.segmentTransform.SetParent((Transform)null); } } } public void SkipToNextPointUpdate() { nextTrailPointUpdate = localTime; } private void UpdateFollowerTrailPoint() { //IL_000f: 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_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_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) List list = pointsList; TrailPoint val = list[list.Count - 1]; val.position = ((Component)this).transform.position; if (Object.op_Implicit((Object)(object)val.segmentTransform)) { val.segmentTransform.position = ((Component)this).transform.position; } if (Object.op_Implicit((Object)(object)lineRenderer)) { lineRenderer.SetPosition(pointsList.Count - 1, val.position); } } private void InterpolatePoints() { //IL_0007: 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_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0043: 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_005a: 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_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_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0087: 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) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) Vector3 position = ((Component)this).transform.position; for (int num = pointsList.Count - 1; num >= 0; num--) { Transform segmentTransform = pointsList[num].segmentTransform; if (Object.op_Implicit((Object)(object)segmentTransform)) { segmentTransform.LookAt(position, Vector3.up); Vector3 val = pointsList[num].position - position; segmentTransform.position = position + val * 0.5f; float num2 = Mathf.Clamp01(Mathf.InverseLerp(pointsList[num].localStartTime, pointsList[num].localEndTime, localTime)); segmentTransform.localScale = new Vector3(radius * (1f - num2), radius * (1f - num2), ((Vector3)(ref val)).magnitude); position = pointsList[num].position; } } } private void UpdateTrail() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) while (pointsList.Count > 0 && pointsList[0].localEndTime <= localTime) { RemovePoint(0); } if (active) { AddPoint(); } if (Object.op_Implicit((Object)(object)lineRenderer)) { UpdateLineRenderer(lineRenderer); } } private void DoDamage(float damageInterval) { //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0045: 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_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Expected O, but got Unknown //IL_00bc: 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_00c8: 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_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: 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) //IL_0105: 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_010e: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0130: 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_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: 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_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0146: 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_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active || pointsList.Count <= 0) { return; } Vector3 val = pointsList[pointsList.Count - 1].position; ignoredObjects.Clear(); TeamIndex val2 = (TeamIndex)0; float damage = damagePerSecond * damageInterval; if (Object.op_Implicit((Object)(object)owner)) { ignoredObjects.Add(owner); val2 = TeamComponent.GetObjectTeam(owner); } DamageInfo val3 = new DamageInfo(); val3.attacker = owner; val3.inflictor = ((Component)this).gameObject; val3.crit = false; val3.damage = damage; val3.damageColorIndex = (DamageColorIndex)3; val3.damageType = damageType; val3.force = Vector3.zero; val3.procCoefficient = 0f; Vector3 val5 = default(Vector3); Collider[] array = default(Collider[]); for (int num = pointsList.Count - 1; num >= 0; num--) { Vector3 position = pointsList[num].position; Vector3 val4 = position - val; ((Vector3)(ref val5))..ctor(radius, height, ((Vector3)(ref val4)).magnitude); Vector3 val6 = Vector3.Lerp(position, val, 0.5f); Quaternion val7 = Util.QuaternionSafeLookRotation(val4); int num2 = HGPhysics.OverlapBox(ref array, val6, val5, val7, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask), (QueryTriggerInteraction)0); for (int i = 0; i < num2; i++) { HurtBox component = ((Component)array[i]).GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { continue; } HealthComponent healthComponent = component.healthComponent; if (Object.op_Implicit((Object)(object)healthComponent)) { GameObject gameObject = ((Component)healthComponent).gameObject; if (!ignoredObjects.Contains(gameObject) && FriendlyFireManager.ShouldSplashHitProceed(healthComponent, val2)) { ignoredObjects.Add(gameObject); val3.position = ((Component)array[i]).transform.position; val3.inflictedHurtbox = component; healthComponent.TakeDamage(val3); } } } HGPhysics.ReturnResults(array); val = position; } } private void UpdateLineRenderer(LineRenderer lineRenderer) { //IL_0021: 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) lineRenderer.positionCount = pointsList.Count; for (int i = 0; i < pointsList.Count; i++) { lineRenderer.SetPosition(i, pointsList[i].position); } } private void AddPoint() { //IL_0003: 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_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_00b1: Unknown result type (might be due to invalid IL or missing references) TrailPoint item = new TrailPoint { position = ((Component)this).transform.position, localStartTime = localTime, localEndTime = localTime + pointLifetime }; if (Object.op_Implicit((Object)(object)segmentPrefab)) { if (!EffectManager.ShouldUsePooledEffect(segmentPrefab)) { item.segmentTransform = Object.Instantiate(segmentPrefab, ((Component)this).transform).transform; } else { EffectManagerHelper andActivatePooledEffect = EffectManager.GetAndActivatePooledEffect(segmentPrefab, ((Component)this).transform, true); item.segmentTransform = ((Component)andActivatePooledEffect).gameObject.transform; } } pointsList.Add(item); } private void RemovePoint(int pointIndex) { //IL_0016: 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_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0041: 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) if (destroyTrailSegments) { if (Object.op_Implicit((Object)(object)pointsList[pointIndex].segmentTransform)) { if (!EffectManager.UsePools) { Object.Destroy((Object)(object)((Component)pointsList[pointIndex].segmentTransform).gameObject); } else { GameObject gameObject = ((Component)pointsList[pointIndex].segmentTransform).gameObject; EffectManagerHelper component = gameObject.GetComponent(); if ((Object)(object)component != (Object)null && component.OwningPool != null) { ((GenericPool)(object)component.OwningPool).ReturnObject(component); } else { Object.Destroy((Object)(object)gameObject); } } } } else if (EffectManager.UsePools && Object.op_Implicit((Object)(object)pointsList[pointIndex].segmentTransform)) { ((Component)pointsList[pointIndex].segmentTransform).gameObject.transform.SetParent((Transform)null); } pointsList.RemoveAt(pointIndex); } } public class ElecSecondaryController : MonoBehaviour { private LunarDragonController dragonController; public void Start() { ProjectileController component = ((Component)this).GetComponent(); object obj; if (component == null) { obj = null; } else { GameObject owner = component.owner; obj = ((owner != null) ? owner.GetComponent() : null); } dragonController = (LunarDragonController)obj; if ((Object)(object)dragonController != (Object)null) { dragonController.elecSecondaryController = this; } } public void Detonate() { ((Component)this).GetComponent().lifetime = 0f; dragonController.elecSecondaryController = null; } } public class FireSecondaryController : MonoBehaviour { private const float raycastOffset = 4f; private const float raycastDistance = 12f; private const float timeBetweenRings = 0.8f; private const float ring1Radius = 7f; private const float ring2Radius = 12f; private const float ring3Radius = 17f; private const float boxesToRadiusRatio = 1f; private ProjectileController projectileController; private ProjectileDamage projectileDamage; private TeamFilter teamFilter; private bool firedRing1; private bool firedRing2; private bool firedRing3; private float stopwatch; public void Start() { DestoryIfAirborne(); projectileController = ((Component)this).GetComponent(); projectileDamage = ((Component)this).GetComponent(); teamFilter = ((Component)this).GetComponent(); } private void DestoryIfAirborne() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: 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) //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_002c: 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_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006d: 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_0079: 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_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Expected O, but got Unknown Ray val = default(Ray); ((Ray)(ref val))..ctor(((Component)this).transform.position + Vector3.up * 4f, Vector3.down); RaycastHit val2 = default(RaycastHit); if (!Physics.Raycast(val, ref val2, 12f, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask))) { Object.Destroy((Object)(object)((Component)this).gameObject); return; } EffectManager.SpawnEffect(LunarDragonAssets.heavyFireballPlumeLargePrefab, new EffectData { origin = ((RaycastHit)(ref val2)).point, rotation = Quaternion.identity, scale = 1f }, true); } public void Update() { stopwatch += Time.deltaTime; if (!firedRing1 && stopwatch > 0.8f) { FireRing(7f); firedRing1 = true; } else if (!firedRing2 && stopwatch > 1.6f) { FireRing(12f); firedRing2 = true; } else if (!firedRing3 && stopwatch > 2.4f) { FireRing(17f); firedRing3 = true; } else if (firedRing3) { Object.Destroy((Object)(object)((Component)this).gameObject); } } private void FireRing(float radius) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: 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_004b: 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_0056: 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_0060: Unknown result type (might be due to invalid IL or missing references) //IL_006a: 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_0076: 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_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0086: 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_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Expected O, but got Unknown //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: 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_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_0103: 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_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0124: 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_0130: 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_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_015f: 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_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Expected O, but got Unknown //IL_0184: 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_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Expected O, but got Unknown int num = (int)(1f * radius); Ray val2 = default(Ray); RaycastHit val4 = default(RaycastHit); for (int i = 0; i < num; i++) { float num2 = MathF.PI * 2f * (float)i / (float)num; Vector3 val = ((Component)this).transform.position + new Vector3(radius * Mathf.Sin(num2), 0f, radius * Mathf.Cos(num2)); ((Ray)(ref val2))..ctor(val + Vector3.up * 4f, Vector3.down); Vector3 val3 = val - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val3)).normalized; if (Physics.Raycast(val2, ref val4, 12f, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask))) { BlastAttack val5 = new BlastAttack { attacker = projectileController.owner, baseDamage = projectileDamage.damage * 0.25f, crit = projectileDamage.crit, falloffModel = (FalloffModel)0, inflictor = projectileController.owner, position = ((RaycastHit)(ref val4)).point, procChainMask = default(ProcChainMask), physForceFlags = (PhysForceFlags)1, bonusForce = normalized * 1200f + Vector3.up * 800f, procCoefficient = 0.85f, radius = 4f, teamIndex = teamFilter.teamIndex, damageType = DamageTypeCombo.op_Implicit((DamageType)128) }; val5.Fire(); EffectManager.SpawnEffect(LunarDragonAssets.heavyFireballPlumePrefab, new EffectData { origin = ((RaycastHit)(ref val4)).point, rotation = Quaternion.identity, scale = 1f }, true); } } EffectManager.SpawnEffect(LunarDragonAssets.plumeShakeSFX, new EffectData { origin = ((Component)this).transform.position, rotation = Quaternion.identity, scale = 1f }, true); } } public class IceSecondaryController : MonoBehaviour { private const float raycastDistance = 12f; private const float groundedFireFreq = 0.5f; private const float groundedFireLifetime = 4.5f; private ProjectileController projectileController; private ProjectileDamage projectileDamage; private TeamFilter teamFilter; private float age; private float fireStopwatch; private bool airborne; private Vector3 groundedPos; public void Start() { CheckIfAirborne(); projectileController = ((Component)this).GetComponent(); projectileDamage = ((Component)this).GetComponent(); teamFilter = ((Component)this).GetComponent(); } private void CheckIfAirborne() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: 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) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0043: 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) Ray val = default(Ray); ((Ray)(ref val))..ctor(((Component)this).transform.position, Vector3.down); RaycastHit val2 = default(RaycastHit); if (Physics.Raycast(val, ref val2, 12f, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask))) { airborne = false; groundedPos = ((RaycastHit)(ref val2)).point; } else { Object.Destroy((Object)(object)((Component)this).gameObject); } } public void Update() { age += Time.deltaTime; fireStopwatch += Time.deltaTime; if (!airborne) { if (fireStopwatch >= 0.5f) { fireStopwatch = 0f; FireIceAOE(); } if (age >= 4.5f) { Object.Destroy((Object)(object)((Component)this).gameObject); } } } private void FireIceAOE() { //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_0017: 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_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: 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_0063: 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_006f: 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) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008c: 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) //IL_0096: 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_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Expected O, but got Unknown //IL_00a8: Unknown result type (might be due to invalid IL or missing references) BlastAttack val = new BlastAttack { attacker = projectileController.owner, baseDamage = projectileDamage.damage * 0.1f, crit = projectileDamage.crit, falloffModel = (FalloffModel)0, inflictor = projectileController.owner, position = groundedPos, procChainMask = default(ProcChainMask), procCoefficient = 0.7f, radius = 14f, teamIndex = teamFilter.teamIndex, damageType = DamageTypeCombo.op_Implicit((DamageType)256) }; val.Fire(); } } public class LunarDragonController : MonoBehaviour { public ElecSecondaryController elecSecondaryController; public bool canJump = true; public LunarDragonMain bodyState; public EntityStateMachine bodyStateMachine; public EntityStateMachine weaponStateMachine; public EntityStateMachine utilityStateMachine; public EntityStateMachine jetpackStateMachine; public CameraRigController camera; public CharacterBody characterBody; private ChildLocator childLocator; private GameObject fireAura; private const int assignAimTimeout = 50; private void Awake() { characterBody = ((Component)this).GetComponent(); bodyStateMachine = EntityStateMachine.FindByCustomName(((Component)this).gameObject, "Body"); weaponStateMachine = EntityStateMachine.FindByCustomName(((Component)this).gameObject, "Weapon"); utilityStateMachine = EntityStateMachine.FindByCustomName(((Component)this).gameObject, "Utility"); jetpackStateMachine = EntityStateMachine.FindByCustomName(((Component)this).gameObject, "Jet"); GetChildLocator(); AddJets(); } private void Start() { if (Object.op_Implicit((Object)(object)characterBody) && ((NetworkBehaviour)characterBody).hasAuthority && characterBody.isPlayerControlled) { ((MonoBehaviour)this).StartCoroutine(TryAssignAimOriginTransform()); } } private IEnumerator TryAssignAimOriginTransform() { int attempt = 0; while (attempt < 50) { foreach (CameraRigController cameraRigController in CameraRigController.readOnlyInstancesList) { if ((Object)(object)cameraRigController.target == (Object)(object)((Component)this).gameObject) { camera = cameraRigController; yield break; } } attempt++; yield return null; } } public void EnableFireAura() { if (!Object.op_Implicit((Object)(object)fireAura) && Object.op_Implicit((Object)(object)childLocator)) { fireAura = Object.Instantiate(LunarDragonAssets.specialAscendingFireEffect, childLocator.FindChild("Chest"), false); } } public void DisableFireAura() { if (Object.op_Implicit((Object)(object)fireAura)) { Object.Destroy((Object)(object)fireAura); } } public void DisableWeaponStateMachine() { weaponStateMachine.SetNextState((EntityState)(object)new SkillBlocker()); } public void ResetWeaponStateMachine() { weaponStateMachine.SetNextStateToMain(); } public void DisableUtilityStateMachine() { utilityStateMachine.SetNextState((EntityState)(object)new SkillBlocker()); } public void ResetUtilityStateMachine() { utilityStateMachine.SetNextStateToMain(); } public void DisableAllSkillStateMachines() { DisableWeaponStateMachine(); DisableUtilityStateMachine(); } public void ResetAllSkillStateMachines() { ResetWeaponStateMachine(); ResetUtilityStateMachine(); } private void GetChildLocator() { ModelLocator component = ((Component)this).GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { Log.Error("Couldn't find ModelLocator!"); } else { childLocator = component.modelChildLocator; } } private void AddJets() { if (Object.op_Implicit((Object)(object)childLocator)) { Object.Instantiate(LunarDragonAssets.jetEffectPrefab, childLocator.FindChild("JetLeftBottom"), false); Object.Instantiate(LunarDragonAssets.jetEffectPrefab, childLocator.FindChild("JetLeftFront"), false); Object.Instantiate(LunarDragonAssets.jetEffectPrefab, childLocator.FindChild("JetRightBottom"), false); Object.Instantiate(LunarDragonAssets.jetEffectPrefab, childLocator.FindChild("JetRightFront"), false); } else { Log.Error("Couldn't find ChildLocator! Jet effects not added."); } } } } namespace LunarDragonMod.Survivors.LunarDragon.Achievements { [RegisterAchievement("MIYOWI_LunarDragon_masteryAchievement", "MIYOWI_LunarDragon_masteryUnlockable", null, 10u, null)] public class LunarDragonMasteryAchievement : BaseMasteryAchievement { public const string identifier = "MIYOWI_LunarDragon_masteryAchievement"; public const string unlockableIdentifier = "MIYOWI_LunarDragon_masteryUnlockable"; public override string RequiredCharacterBody => CharacterBase.instance.bodyName; public override float RequiredDifficultyCoefficient => 3f; } [RegisterAchievement("MIYOWI_LunarDragon_wipAchievement", "MIYOWI_LunarDragon_wipUnlockable", null, 0u, null)] public class LunarDragonWIPAchievement : BaseAchievement { public const string identifier = "MIYOWI_LunarDragon_wipAchievement"; public const string unlockableIdentifier = "MIYOWI_LunarDragon_wipUnlockable"; } }