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 EntityStates; using EntityStates.Commando; using EntityStates.Commando.CommandoWeapon; using EntityStates.Croco; using EntityStates.FalseSon; using EntityStates.GolemMonster; using EntityStates.ImpBossMonster; using EntityStates.ImpMonster; using EntityStates.LemurianBruiserMonster; using EntityStates.LemurianMonster; using EntityStates.LunarExploderMonster; using EntityStates.TitanMonster; using EntityStates.Toolbot; using EntityStates.VoidRaidCrab; using HG.BlendableTypes; using KinematicCharacterController; using On.RoR2; using R2API; using R2API.Utils; using RiskOfOptions; using RiskOfOptions.OptionConfigs; using RiskOfOptions.Options; using RoR2; using RoR2.ContentManagement; using RoR2.Navigation; using RoR2.Projectile; using RoR2.Skills; using RoR2.UI; using RoR2BepInExPack.GameAssetPaths; using ThreeEyedGames; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; using UnityEngine.Rendering; using Zio.FileSystems; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyCompany("Lemurian")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Lemurian")] [assembly: AssemblyTitle("Lemurian")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Lemurian; internal static class Files { public static PluginInfo PluginInfo; internal static string assemblyDir => Path.GetDirectoryName(PluginInfo.Location); internal static void Init(PluginInfo info) { PluginInfo = info; } internal static string GetPathToFile(string folderName, string fileName) { return Path.Combine(assemblyDir, folderName, fileName); } } public static class Horns { public class ApplyLemurianHorns : MonoBehaviour { private CharacterModel model; private ChildLocator childLocator; private DisplayRuleGroup Horns; public void OnEnable() { //IL_003c: 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_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_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_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_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_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_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_01a9: 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_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_01ea: 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_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) model = ((Component)this).GetComponentInChildren(); childLocator = ((Component)this).GetComponentInChildren(); if (Loader.Hornchoser.Value == Loader.HornChoser.Fire) { Horns = model.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixRed); } else if (Loader.Hornchoser.Value == Loader.HornChoser.Ice) { Horns = model.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixWhite); } else if (Loader.Hornchoser.Value == Loader.HornChoser.Thunder) { Horns = model.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixBlue); } else if (Loader.Hornchoser.Value == Loader.HornChoser.Haunted) { Horns = model.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixHaunted); } else if (Loader.Hornchoser.Value == Loader.HornChoser.Poison) { Horns = model.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixPoison); } else if (Loader.Hornchoser.Value == Loader.HornChoser.Gold) { Horns = model.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteAurelioniteEquipment); } else if (Loader.Hornchoser.Value == Loader.HornChoser.Lunar) { Horns = model.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixLunar); } else if (Loader.Hornchoser.Value == Loader.HornChoser.Void) { Horns = model.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteVoidEquipment); } else if (Loader.Hornchoser.Value == Loader.HornChoser.Antler) { Horns = model.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Addressables.LoadAssetAsync((object)"RoR2/DLC1/EliteEarth/EliteEarthEquipment.asset").WaitForCompletion()); } else if (Loader.Hornchoser.Value == Loader.HornChoser.Bead) { Horns = model.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteBeadEquipment); } Debug.LogError((object)"DoingAddhorns"); if (Loader.EliteHorns.Value) { AddHorns(); } } public void AddHorns() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_013d: 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_016a: 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_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_019a: 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_01a4: 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_00b6: 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_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: 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_0098: 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_00df: 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_00fd: 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_010e: 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_0124: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)model)) { return; } DisplayRuleGroup horns = Horns; if (horns.rules.Length > 1) { Transform val = childLocator.FindChild(horns.rules[0].childName); if (Object.op_Implicit((Object)(object)val)) { Apply(model, horns.rules[0].followerPrefab, val, horns.rules[0].localPos, Quaternion.Euler(horns.rules[0].localAngles), horns.rules[0].localScale); } if (Object.op_Implicit((Object)(object)childLocator.FindChild(horns.rules[1].childName))) { Apply(model, horns.rules[1].followerPrefab, val, horns.rules[1].localPos, Quaternion.Euler(horns.rules[1].localAngles), horns.rules[1].localScale); } } else { Transform val2 = childLocator.FindChild(horns.rules[0].childName); if (Object.op_Implicit((Object)(object)val2)) { Apply(model, horns.rules[0].followerPrefab, val2, horns.rules[0].localPos, Quaternion.Euler(horns.rules[0].localAngles), horns.rules[0].localScale); } } } public void Apply(CharacterModel characterModel, GameObject prefab, Transform parent, Vector3 localPosition, Quaternion localRotation, Vector3 localScale) { //IL_0014: 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_0030: Unknown result type (might be due to invalid IL or missing references) GameObject val = Object.Instantiate(prefab.gameObject, parent); val.transform.localPosition = localPosition; val.transform.localRotation = localRotation; val.transform.localScale = localScale; LimbMatcher component = val.GetComponent(); if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)childLocator)) { component.SetChildLocator(childLocator); } } } public class ApplyElderHorns : MonoBehaviour { private CharacterModel model2; private ChildLocator childLocator2; public void Start() { model2 = ((Component)this).GetComponentInChildren(); childLocator2 = ((Component)this).GetComponentInChildren(); AddHorns2(); } public void AddHorns2() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_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_00c5: 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_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_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_00a7: 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_00ee: 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_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_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)model2)) { return; } DisplayRuleGroup val = model2.itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixRed); if (val.rules.Length > 1) { Transform val2 = childLocator2.FindChild(val.rules[0].childName); if (Object.op_Implicit((Object)(object)val2)) { Apply2(model2, val.rules[0].followerPrefab, val2, val.rules[0].localPos, Quaternion.Euler(val.rules[0].localAngles), val.rules[0].localScale); } if (Object.op_Implicit((Object)(object)childLocator2.FindChild(val.rules[1].childName))) { Apply2(model2, val.rules[1].followerPrefab, val2, val.rules[1].localPos, Quaternion.Euler(val.rules[1].localAngles), val.rules[1].localScale); } } } public void Apply2(CharacterModel characterModel, GameObject prefab, Transform parent, Vector3 localPosition, Quaternion localRotation, Vector3 localScale) { //IL_0014: 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_0030: Unknown result type (might be due to invalid IL or missing references) GameObject val = Object.Instantiate(prefab.gameObject, parent); val.transform.localPosition = localPosition; val.transform.localRotation = localRotation; val.transform.localScale = localScale; LimbMatcher component = val.GetComponent(); if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)childLocator2)) { component.SetChildLocator(childLocator2); } } } } public static class LemPrefabs { public static GameObject LemChprefab; public static GameObject LemLaserPrimCh; public static GameObject LemSpecialCh; public static GameObject LemPodprefab; public static GameObject ImpChPrefab; public static GameObject LunarChPrefab; public static GameObject LemFireCharge; public static GameObject LemPrim2Explo; public static GameObject LemJumpUtil2; public static GameObject LemExploUtil1; public static GameObject LemJumpUtil1; public static GameObject FlameEffect; public static GameObject LemExploCharge; public static GameObject LemExploSpecial2Charge; public static GameObject LemExploSpecial2Magma; public static GameObject chargeFireBall; public static GameObject ImpSecLaser; public static GameObject ImpSpecialBlink; public static GameObject ImpSpecialSlam; public static GameObject NullifierExlpo; public static GameObject LunGolDeath; public static GameObject LunGolShieldCharge; public static Material FireBuffMat; public static Material LunarSphereMat; public static GameObject SwitchEffect; public static GameObject LemDicator; public static GameObject LunDicator; internal static void PrefabSetup() { //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_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_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_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_0062: 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_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_009b: 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_00bd: 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) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0107: 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_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_0196: 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_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_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_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_023d: 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_025f: 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_0281: 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_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: 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_02f2: Unknown result type (might be due to invalid IL or missing references) //IL_02f7: Unknown result type (might be due to invalid IL or missing references) //IL_0314: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_0336: Unknown result type (might be due to invalid IL or missing references) //IL_033b: Unknown result type (might be due to invalid IL or missing references) //IL_0358: 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_037a: 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_039c: Unknown result type (might be due to invalid IL or missing references) //IL_03a1: Unknown result type (might be due to invalid IL or missing references) //IL_03be: Unknown result type (might be due to invalid IL or missing references) //IL_03c3: Unknown result type (might be due to invalid IL or missing references) //IL_03e0: 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_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_040e: Unknown result type (might be due to invalid IL or missing references) //IL_0413: Unknown result type (might be due to invalid IL or missing references) //IL_0430: Unknown result type (might be due to invalid IL or missing references) //IL_0435: Unknown result type (might be due to invalid IL or missing references) //IL_0472: 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) //IL_04b9: Unknown result type (might be due to invalid IL or missing references) //IL_04c3: Expected O, but got Unknown //IL_04ce: Unknown result type (might be due to invalid IL or missing references) //IL_04d8: Expected O, but got Unknown //IL_04e3: Unknown result type (might be due to invalid IL or missing references) //IL_04ed: Expected O, but got Unknown //IL_04f8: Unknown result type (might be due to invalid IL or missing references) //IL_0502: Expected O, but got Unknown //IL_050d: Unknown result type (might be due to invalid IL or missing references) //IL_0517: Expected O, but got Unknown //IL_0522: Unknown result type (might be due to invalid IL or missing references) //IL_052c: Expected O, but got Unknown //IL_0537: Unknown result type (might be due to invalid IL or missing references) //IL_0541: Expected O, but got Unknown //IL_054c: Unknown result type (might be due to invalid IL or missing references) //IL_0556: Expected O, but got Unknown //IL_0561: Unknown result type (might be due to invalid IL or missing references) //IL_056b: Expected O, but got Unknown //IL_0576: Unknown result type (might be due to invalid IL or missing references) //IL_0580: Expected O, but got Unknown //IL_058b: Unknown result type (might be due to invalid IL or missing references) //IL_0595: Expected O, but got Unknown //IL_05a0: Unknown result type (might be due to invalid IL or missing references) //IL_05aa: Expected O, but got Unknown //IL_05b5: Unknown result type (might be due to invalid IL or missing references) //IL_05bf: Expected O, but got Unknown //IL_05ca: Unknown result type (might be due to invalid IL or missing references) //IL_05d4: Expected O, but got Unknown //IL_05df: Unknown result type (might be due to invalid IL or missing references) //IL_05e9: Expected O, but got Unknown //IL_05f4: Unknown result type (might be due to invalid IL or missing references) //IL_05fe: Expected O, but got Unknown //IL_0609: Unknown result type (might be due to invalid IL or missing references) //IL_0613: Expected O, but got Unknown //IL_061e: Unknown result type (might be due to invalid IL or missing references) //IL_0628: Expected O, but got Unknown LemChprefab = Addressables.LoadAssetAsync((object)"RoR2/Base/Croco/CrocoCrosshair.prefab").WaitForCompletion(); LemLaserPrimCh = Addressables.LoadAssetAsync((object)"RoR2/DLC2/Seeker/SeekerCrosshair.prefab").WaitForCompletion(); LemSpecialCh = Addressables.LoadAssetAsync((object)"RoR2/Junk/Bandit/BanditCrosshair.prefab").WaitForCompletion(); ImpChPrefab = Addressables.LoadAssetAsync((object)"RoR2/Base/UI/SimpleDotCrosshair.prefab").WaitForCompletion(); LunarChPrefab = Addressables.LoadAssetAsync((object)"RoR2/Base/UI/SimpleDotCrosshair.prefab").WaitForCompletion(); LemFireCharge = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianChargeFire.prefab").WaitForCompletion(); CreateEffect(LemFireCharge); LemExploCharge = Addressables.LoadAssetAsync((object)"RoR2/DLC2/Child/ChargeChildTrackingSparkBall.prefab").WaitForCompletion(); CreateEffect(LemExploCharge); LemPodprefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/DLC1/VoidSurvivor/VoidSurvivorBody.prefab").WaitForCompletion().GetComponent() .preferredPodPrefab, "LemPodPrefab", true); ((Renderer)((Component)LemPodprefab.transform.Find("Base/mdlVoidSurvivorPod/mdlVoidSurvivorPod")).GetComponentInChildren()).sharedMaterial = Addressables.LoadAssetAsync((object)"RoR2/Base/FireballsOnHit/matFireballsOnHit.mat").WaitForCompletion(); ((Component)LemPodprefab.transform.Find("Base/mdlVoidSurvivorPod")).transform.localScale = new Vector3(2f, 2f, 2f); ((Component)LemPodprefab.transform.Find("Base/mdlVoidSurvivorPod/VoidSurvivorPodArmature/ROOT/Body/Decal (1)")).GetComponentInChildren().Material = Addressables.LoadAssetAsync((object)"RoR2/DLC1/Molotov/matMolotovDecal.mat").WaitForCompletion(); ((Renderer)((Component)LemPodprefab.transform.Find("Base/mdlVoidSurvivorPod/VoidSurvivorPodArmature/ROOT/Body/Flames (1)")).GetComponentInChildren()).sharedMaterial = Addressables.LoadAssetAsync((object)"RoR2/Base/Common/VFX/mageMageFireStarburst.mat").WaitForCompletion(); ((Renderer)((Component)LemPodprefab.transform.Find("Base/mdlVoidSurvivorPod/VoidSurvivorPodArmature/ROOT/Body/FallingFX")).GetComponentInChildren()).sharedMaterial = Addressables.LoadAssetAsync((object)"RoR2/Base/Common/VFX/mageMageFireStarburst.mat").WaitForCompletion(); ((Component)LemPodprefab.transform.Find("Base/mdlVoidSurvivorPod/VoidSurvivorPodArmature/ROOT/Body/FallingFX")).GetComponentInChildren().trailMaterial = Addressables.LoadAssetAsync((object)"RoR2/Junk/Bandit/matThermiteFlame.mat").WaitForCompletion(); CreateEffect(LemPodprefab); LemPrim2Explo = Addressables.LoadAssetAsync((object)"RoR2/Base/LemurianBruiser/OmniExplosionVFXLemurianBruiserFireballImpact.prefab").WaitForCompletion(); CreateEffect(LemPrim2Explo); LemJumpUtil1 = Addressables.LoadAssetAsync((object)"RoR2/Junk/ArchWisp/OmniExplosionVFXArchWispCannonImpact.prefab").WaitForCompletion(); CreateEffect(LemJumpUtil1); LemJumpUtil2 = Addressables.LoadAssetAsync((object)"RoR2/Base/LemurianBruiser/OmniExplosionVFXLemurianBruiserFireballImpact.prefab").WaitForCompletion(); CreateEffect(LemJumpUtil2); LemExploUtil1 = Addressables.LoadAssetAsync((object)"RoR2/Base/FusionCellDestructible/FusionCellExplosion.prefab").WaitForCompletion(); CreateEffect(LemExploUtil1); FlameEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Drones/DroneFlamethrowerEffect.prefab").WaitForCompletion(), "Prefabs/SpecialFlame", true); CreateEffect(FlameEffect); LemExploSpecial2Charge = Addressables.LoadAssetAsync((object)"RoR2/Base/skymeadow/ArtifactworldPortalPrespawnEffect.prefab").WaitForCompletion(); CreateEffect(LemExploSpecial2Charge); LemExploSpecial2Magma = Addressables.LoadAssetAsync((object)"RoR2/Base/MagmaWorm/MagmaOrbExplosion.prefab").WaitForCompletion(); CreateEffect(LemExploSpecial2Magma); ImpSecLaser = Addressables.LoadAssetAsync((object)"RoR2/Base/Golem/TracerGolem.prefab").WaitForCompletion(); CreateEffect(ImpSecLaser); ImpSpecialBlink = Addressables.LoadAssetAsync((object)"RoR2/Base/ImpBoss/ImpBossBlink.prefab").WaitForCompletion(); CreateEffect(ImpSpecialBlink); ImpSpecialSlam = Addressables.LoadAssetAsync((object)"RoR2/Base/ImpBoss/ImpBossGroundSlam.prefab").WaitForCompletion(); CreateEffect(ImpSpecialSlam); LunGolShieldCharge = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarGolem/LunarGolemShieldCharge.prefab").WaitForCompletion(); CreateEffect(LunGolShieldCharge); NullifierExlpo = Addressables.LoadAssetAsync((object)"RoR2/Base/Nullifier/NullifierExplosion.prefab").WaitForCompletion(); CreateEffect(NullifierExlpo); LunGolDeath = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarGolem/LunarGolemDeath.prefab").WaitForCompletion(); CreateEffect(LunGolDeath); FireBuffMat = Addressables.LoadAssetAsync((object)"RoR2/Base/Common/matOnFire.mat").WaitForCompletion(); LunarSphereMat = Addressables.LoadAssetAsync((object)"RoR2/Base/BurnNearby/matOnHelfire.mat").WaitForCompletion(); SwitchEffect = Addressables.LoadAssetAsync((object)"RoR2/DLC2/Items/MeteorAttackOnHighDamage/RunicMeteorStrikeImpact.prefab").WaitForCompletion(); CreateEffect(SwitchEffect); LemDicator = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Huntress/HuntressArrowRainIndicator.prefab").WaitForCompletion(), "Prefabs/LemDicator", true); ((Renderer)LemDicator.GetComponentInChildren()).sharedMaterial = FireBuffMat; CreateEffect(LemDicator); LunDicator = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Huntress/HuntressArrowRainIndicator.prefab").WaitForCompletion(), "Prefabs/LunDicator", true); ((Renderer)LunDicator.GetComponentInChildren()).sharedMaterial = LunarSphereMat; CreateEffect(LunDicator); Loader.effectPrefabs.Add(new EffectDef(LemFireCharge)); Loader.effectPrefabs.Add(new EffectDef(LemExploCharge)); Loader.effectPrefabs.Add(new EffectDef(LemPodprefab)); Loader.effectPrefabs.Add(new EffectDef(LemPrim2Explo)); Loader.effectPrefabs.Add(new EffectDef(LemJumpUtil1)); Loader.effectPrefabs.Add(new EffectDef(LemJumpUtil2)); Loader.effectPrefabs.Add(new EffectDef(LemExploUtil1)); Loader.effectPrefabs.Add(new EffectDef(FlameEffect)); Loader.effectPrefabs.Add(new EffectDef(LemExploSpecial2Charge)); Loader.effectPrefabs.Add(new EffectDef(ImpSecLaser)); Loader.effectPrefabs.Add(new EffectDef(ImpSpecialBlink)); Loader.effectPrefabs.Add(new EffectDef(ImpSpecialSlam)); Loader.effectPrefabs.Add(new EffectDef(LunGolShieldCharge)); Loader.effectPrefabs.Add(new EffectDef(NullifierExlpo)); Loader.effectPrefabs.Add(new EffectDef(LunGolDeath)); Loader.effectPrefabs.Add(new EffectDef(LemDicator)); Loader.effectPrefabs.Add(new EffectDef(SwitchEffect)); Loader.effectPrefabs.Add(new EffectDef(LunDicator)); } public static void CreateEffect(GameObject effectPrfab) { if (!Object.op_Implicit((Object)(object)effectPrfab.GetComponent())) { effectPrfab.AddComponent(); } if (!Object.op_Implicit((Object)(object)effectPrfab.GetComponent())) { effectPrfab.AddComponent(); } if (!Object.op_Implicit((Object)(object)effectPrfab.GetComponent())) { effectPrfab.AddComponent(); } } } public static class Tokens { public static SubFileSystem fileSystem; internal static string languageRoot => Path.Combine(assemblyDir, "language"); internal static string assemblyDir => Path.GetDirectoryName(Files.PluginInfo.Location); public static void RegisterLanguageTokens() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown Language.SetFolders += new hook_SetFolders(fixme); } private static void fixme(orig_SetFolders orig, Language self, IEnumerable newFolders) { if (Directory.Exists(languageRoot)) { IEnumerable second = Directory.EnumerateDirectories(Path.Combine(languageRoot), self.name); orig.Invoke(self, newFolders.Union(second)); } else { orig.Invoke(self, newFolders); } } } public static class ImpSkinSetup { public static void BuildTheFuckingSkins() { //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_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_006a: 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_0095: 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_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0142: 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_01da: 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_0205: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_023d: 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_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02d8: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_02f8: 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_0353: Unknown result type (might be due to invalid IL or missing references) //IL_0367: Unknown result type (might be due to invalid IL or missing references) //IL_03d3: Unknown result type (might be due to invalid IL or missing references) //IL_03e8: Unknown result type (might be due to invalid IL or missing references) //IL_03ed: Unknown result type (might be due to invalid IL or missing references) //IL_03fe: 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_040d: Unknown result type (might be due to invalid IL or missing references) //IL_0440: Unknown result type (might be due to invalid IL or missing references) //IL_0454: Unknown result type (might be due to invalid IL or missing references) //IL_0468: Unknown result type (might be due to invalid IL or missing references) //IL_047c: Unknown result type (might be due to invalid IL or missing references) //IL_04e8: Unknown result type (might be due to invalid IL or missing references) //IL_04fd: Unknown result type (might be due to invalid IL or missing references) //IL_0502: Unknown result type (might be due to invalid IL or missing references) //IL_0513: Unknown result type (might be due to invalid IL or missing references) //IL_0520: Unknown result type (might be due to invalid IL or missing references) //IL_0522: Unknown result type (might be due to invalid IL or missing references) //IL_0555: Unknown result type (might be due to invalid IL or missing references) //IL_0569: Unknown result type (might be due to invalid IL or missing references) //IL_057d: 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_05fd: Unknown result type (might be due to invalid IL or missing references) //IL_0612: Unknown result type (might be due to invalid IL or missing references) //IL_0617: Unknown result type (might be due to invalid IL or missing references) //IL_0628: Unknown result type (might be due to invalid IL or missing references) //IL_0635: Unknown result type (might be due to invalid IL or missing references) //IL_0637: Unknown result type (might be due to invalid IL or missing references) //IL_066a: Unknown result type (might be due to invalid IL or missing references) //IL_067e: Unknown result type (might be due to invalid IL or missing references) //IL_0692: Unknown result type (might be due to invalid IL or missing references) //IL_06a6: Unknown result type (might be due to invalid IL or missing references) //IL_0712: Unknown result type (might be due to invalid IL or missing references) //IL_0727: Unknown result type (might be due to invalid IL or missing references) //IL_072c: Unknown result type (might be due to invalid IL or missing references) //IL_073d: Unknown result type (might be due to invalid IL or missing references) //IL_074a: Unknown result type (might be due to invalid IL or missing references) //IL_074c: Unknown result type (might be due to invalid IL or missing references) //IL_077f: Unknown result type (might be due to invalid IL or missing references) //IL_0793: Unknown result type (might be due to invalid IL or missing references) //IL_07a7: Unknown result type (might be due to invalid IL or missing references) //IL_07bb: Unknown result type (might be due to invalid IL or missing references) //IL_0827: Unknown result type (might be due to invalid IL or missing references) //IL_083c: Unknown result type (might be due to invalid IL or missing references) //IL_0841: Unknown result type (might be due to invalid IL or missing references) //IL_0852: Unknown result type (might be due to invalid IL or missing references) //IL_085f: 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_0894: Unknown result type (might be due to invalid IL or missing references) //IL_08a8: Unknown result type (might be due to invalid IL or missing references) //IL_08bc: Unknown result type (might be due to invalid IL or missing references) //IL_08d0: Unknown result type (might be due to invalid IL or missing references) //IL_093c: 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_0967: Unknown result type (might be due to invalid IL or missing references) //IL_0974: Unknown result type (might be due to invalid IL or missing references) //IL_0976: Unknown result type (might be due to invalid IL or missing references) //IL_09a9: Unknown result type (might be due to invalid IL or missing references) //IL_09bd: Unknown result type (might be due to invalid IL or missing references) //IL_09d1: Unknown result type (might be due to invalid IL or missing references) //IL_09e5: Unknown result type (might be due to invalid IL or missing references) CharacterModel componentInChildren = Imp.myCharacter.GetComponentInChildren(); SkinDef val = Addressables.LoadAssetAsync((object)RoR2_Base_Imp.skinImpBodyDefault_asset).WaitForCompletion(); SkinDefParams val2 = Addressables.LoadAssetAsync((object)RoR2_Base_Imp_skinImpBodyDefault.params_asset).WaitForCompletion(); Renderer component = ((Component)((Component)componentInChildren).transform.Find("ImpMesh")).GetComponent(); Debug.Log((object)("rendname: " + ((Object)component).name)); RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Imp.matImp_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; ((Component)componentInChildren).GetComponentInChildren().baseRendererInfos = array; LanguageAPI.Add("Imp_Default_SKIN", "Imp"); SkinDef val3 = Object.Instantiate(val); val3.skinDefParams = Object.Instantiate(val2); val3.skinDefParamsAddress = new AssetReferenceT(""); val3.rootObject = ((Component)componentInChildren).gameObject; val3.skinDefParams.rendererInfos = array; val3.icon = Skins.CreateSkinIcon(new Color(0.2f, 0f, 0f), new Color(0.5019608f, 0f, 0f), new Color(0.2f, 0f, 0f), new Color(0.5019608f, 0f, 0f)); val3.skinDefParams.meshReplacements[0].renderer = component; ((Object)val3).name = "Imp_Default_SKIN"; val3.nameToken = "Imp_Default_SKIN"; SkinDef val4 = Object.Instantiate(val); val4.skinDefParams = Object.Instantiate(val2); val4.skinDefParamsAddress = new AssetReferenceT(""); val4.rootObject = ((Component)componentInChildren).gameObject; val4.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Lemurian.matLemurianBruiser_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val4.skinDefParams.meshReplacements[0].renderer = component; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponentInChildren() .skins[0].icon; ((Object)val4).name = "Lemurian_Bruiser_SKIN"; val4.nameToken = "Lemurian_Bruiser_SKIN"; SkinDef val5 = Object.Instantiate(val); val5.skinDefParams = Object.Instantiate(val2); val5.skinDefParamsAddress = new AssetReferenceT(""); val5.rootObject = ((Component)componentInChildren).gameObject; val5.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Shopkeeper.matNewt_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val5.skinDefParams.meshReplacements[0].renderer = component; val5.icon = Skins.CreateSkinIcon(new Color(0.6f, 0.4f, 1f), new Color(0.8f, 0.7019608f, 1f), new Color(0.6f, 0.4f, 1f), new Color(0.8f, 0.7019608f, 1f)); ((Object)val5).name = "Lemurian_Lunar_SKIN"; val5.nameToken = "Lemurian_Lunar_SKIN"; SkinDef val6 = Object.Instantiate(val); val6.skinDefParams = Object.Instantiate(val2); val6.skinDefParamsAddress = new AssetReferenceT(""); val6.rootObject = ((Component)componentInChildren).gameObject; val6.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_RoboBallBuddy.RoboBallFriendGreen_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val6.skinDefParams.meshReplacements[0].renderer = component; val6.icon = Skins.CreateSkinIcon(new Color(4f / 51f, 0.16078432f, 0.32156864f), new Color(0.8f, 0.8f, 0f), new Color(4f / 51f, 0.16078432f, 0.32156864f), new Color(0.8f, 0.8f, 0f)); ((Object)val6).name = "Lemurian_GlowFace_SKIN"; val6.nameToken = "Lemurian_GlowFace_SKIN"; SkinDef val7 = Object.Instantiate(val); val7.skinDefParams = Object.Instantiate(val2); val7.skinDefParamsAddress = new AssetReferenceT(""); val7.rootObject = ((Component)componentInChildren).gameObject; val7.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC1_VoidSurvivor.matVoidSurvivorBlasterSphereAreaIndicatorCorrupted_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val7.skinDefParams.meshReplacements[0].renderer = component; val7.icon = Skins.CreateSkinIcon(new Color(0.8f, 0.16078432f, 0f), new Color(1f, 0.6f, 0f), new Color(0.8f, 0.16078432f, 0f), new Color(1f, 0.6f, 0f)); ((Object)val7).name = "Lemurian_Corrupted_SKIN"; val7.nameToken = "Lemurian_Corrupted_SKIN"; SkinDef val8 = Object.Instantiate(val); val8.skinDefParams = Object.Instantiate(val2); val8.skinDefParamsAddress = new AssetReferenceT(""); val8.rootObject = ((Component)componentInChildren).gameObject; val8.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Titan.matTitanGold_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val8.skinDefParams.meshReplacements[0].renderer = component; val8.icon = Skins.CreateSkinIcon(new Color(1f, 67f / 85f, 0.1254902f), new Color(74f / 85f, 39f / 85f, 0f), new Color(0.14509805f, 4f / 85f, 0f), new Color(0.9843137f, 82f / 85f, 79f / 85f)); ((Object)val8).name = "Lemurian_Aurelionite_SKIN"; val8.nameToken = "Lemurian_Aurelionite_SKIN"; SkinDef val9 = Object.Instantiate(val); val9.skinDefParams = Object.Instantiate(val2); val9.skinDefParamsAddress = new AssetReferenceT(""); val9.rootObject = ((Component)componentInChildren).gameObject; val9.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC2_Seeker.matSeeker_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val9.skinDefParams.meshReplacements[0].renderer = component; val9.icon = Skins.CreateSkinIcon(new Color(0.83137256f, 56f / 85f, 20f / 51f), new Color(4f / 15f, 46f / 85f, 0.6431373f), new Color(0.4f, 33f / 85f, 8f / 15f), new Color(13f / 85f, 0.1764706f, 0.32156864f)); ((Object)val9).name = "Lemurian_Engine_SKIN"; val9.nameToken = "Lemurian_Engine_SKIN"; SkinDef val10 = Object.Instantiate(val); val10.skinDefParams = Object.Instantiate(val2); val10.skinDefParamsAddress = new AssetReferenceT(""); val10.rootObject = ((Component)componentInChildren).gameObject; val10.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC2_FalseSon.matFalseSon_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val10.skinDefParams.meshReplacements[0].renderer = component; val10.icon = Skins.CreateSkinIcon(new Color(0.56078434f, 0.20784314f, 19f / 85f), new Color(43f / 51f, 0.8901961f, 0.9411765f), new Color(1f / 3f, 24f / 85f, 29f / 85f), new Color(26f / 51f, 0.64705884f, 53f / 85f)); ((Object)val10).name = "Lemurian_False_SKIN"; val10.nameToken = "Lemurian_False_SKIN"; SkinDef val11 = Object.Instantiate(val); val11.skinDefParams = Object.Instantiate(val2); val11.skinDefParamsAddress = new AssetReferenceT(""); val11.rootObject = ((Component)componentInChildren).gameObject; val11.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC2_Scorchling.matScorchling_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val11.skinDefParams.meshReplacements[0].renderer = component; val11.icon = Skins.CreateSkinIcon(new Color(0.99607843f, 0.827451f, 0.41960785f), new Color(1f, 0.4f, 0.003921569f), new Color(41f / 51f, 0f, 3f / 85f), new Color(0.6313726f, 0.19215687f, 0f)); ((Object)val11).name = "Lemurian_Scorch_SKIN"; val11.nameToken = "Lemurian_Scorch_SKIN"; List list = new List { val3, val4, val5, val6, val7, val8, val9, val10, val11 }; ((Component)componentInChildren).gameObject.GetComponent().skins = list.ToArray(); } } public static class LemurianSkinSetup { public static void BuildTheFuckingSkins() { //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_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_006a: 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_0095: 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_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0142: 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_01da: 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_0205: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_023d: 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_02ce: 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_02f9: Unknown result type (might be due to invalid IL or missing references) //IL_0306: 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_033b: 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_0363: Unknown result type (might be due to invalid IL or missing references) //IL_0377: Unknown result type (might be due to invalid IL or missing references) //IL_03f3: Unknown result type (might be due to invalid IL or missing references) //IL_0408: Unknown result type (might be due to invalid IL or missing references) //IL_040d: Unknown result type (might be due to invalid IL or missing references) //IL_041e: Unknown result type (might be due to invalid IL or missing references) //IL_042b: Unknown result type (might be due to invalid IL or missing references) //IL_042d: Unknown result type (might be due to invalid IL or missing references) //IL_0460: 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_0488: 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_0518: Unknown result type (might be due to invalid IL or missing references) //IL_052d: Unknown result type (might be due to invalid IL or missing references) //IL_0532: Unknown result type (might be due to invalid IL or missing references) //IL_0543: Unknown result type (might be due to invalid IL or missing references) //IL_0550: 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_0585: Unknown result type (might be due to invalid IL or missing references) //IL_0599: Unknown result type (might be due to invalid IL or missing references) //IL_05ad: Unknown result type (might be due to invalid IL or missing references) //IL_05c1: Unknown result type (might be due to invalid IL or missing references) //IL_063d: Unknown result type (might be due to invalid IL or missing references) //IL_0652: Unknown result type (might be due to invalid IL or missing references) //IL_0657: Unknown result type (might be due to invalid IL or missing references) //IL_0668: Unknown result type (might be due to invalid IL or missing references) //IL_0675: 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_06aa: Unknown result type (might be due to invalid IL or missing references) //IL_06be: Unknown result type (might be due to invalid IL or missing references) //IL_06d2: Unknown result type (might be due to invalid IL or missing references) //IL_06e6: Unknown result type (might be due to invalid IL or missing references) //IL_0762: Unknown result type (might be due to invalid IL or missing references) //IL_0777: Unknown result type (might be due to invalid IL or missing references) //IL_077c: Unknown result type (might be due to invalid IL or missing references) //IL_078d: Unknown result type (might be due to invalid IL or missing references) //IL_079a: Unknown result type (might be due to invalid IL or missing references) //IL_079c: Unknown result type (might be due to invalid IL or missing references) //IL_07cf: Unknown result type (might be due to invalid IL or missing references) //IL_07e3: Unknown result type (might be due to invalid IL or missing references) //IL_07f7: Unknown result type (might be due to invalid IL or missing references) //IL_080b: Unknown result type (might be due to invalid IL or missing references) //IL_0887: Unknown result type (might be due to invalid IL or missing references) //IL_089c: Unknown result type (might be due to invalid IL or missing references) //IL_08a1: Unknown result type (might be due to invalid IL or missing references) //IL_08b2: Unknown result type (might be due to invalid IL or missing references) //IL_08bf: Unknown result type (might be due to invalid IL or missing references) //IL_08c1: Unknown result type (might be due to invalid IL or missing references) //IL_08f4: Unknown result type (might be due to invalid IL or missing references) //IL_0908: Unknown result type (might be due to invalid IL or missing references) //IL_091c: Unknown result type (might be due to invalid IL or missing references) //IL_0930: Unknown result type (might be due to invalid IL or missing references) //IL_09ac: Unknown result type (might be due to invalid IL or missing references) //IL_09c1: Unknown result type (might be due to invalid IL or missing references) //IL_09c6: Unknown result type (might be due to invalid IL or missing references) //IL_09d7: Unknown result type (might be due to invalid IL or missing references) //IL_09e4: Unknown result type (might be due to invalid IL or missing references) //IL_09e6: Unknown result type (might be due to invalid IL or missing references) //IL_0a19: Unknown result type (might be due to invalid IL or missing references) //IL_0a2d: 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_0a55: Unknown result type (might be due to invalid IL or missing references) //IL_0ad1: Unknown result type (might be due to invalid IL or missing references) //IL_0ae6: Unknown result type (might be due to invalid IL or missing references) //IL_0aeb: Unknown result type (might be due to invalid IL or missing references) //IL_0afc: Unknown result type (might be due to invalid IL or missing references) //IL_0b09: Unknown result type (might be due to invalid IL or missing references) //IL_0b0b: Unknown result type (might be due to invalid IL or missing references) //IL_0b3e: Unknown result type (might be due to invalid IL or missing references) //IL_0b52: Unknown result type (might be due to invalid IL or missing references) //IL_0b66: Unknown result type (might be due to invalid IL or missing references) //IL_0b7a: Unknown result type (might be due to invalid IL or missing references) CharacterModel componentInChildren = Lemurian.myCharacter.GetComponentInChildren(); SkinDef val = Addressables.LoadAssetAsync((object)RoR2_Base_Lemurian.skinLemurianBodyDefault_asset).WaitForCompletion(); SkinDefParams val2 = Addressables.LoadAssetAsync((object)RoR2_Base_Lemurian_skinLemurianBodyDefault.params_asset).WaitForCompletion(); Renderer component = ((Component)((Component)componentInChildren).transform.Find("LemurianMesh")).GetComponent(); Debug.Log((object)("rendname: " + ((Object)component).name)); RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Lemurian.matLemurian_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; ((Component)componentInChildren).GetComponentInChildren().baseRendererInfos = array; LanguageAPI.Add("Lemurian_Default_SKIN", "Lemurian"); SkinDef val3 = Object.Instantiate(val); val3.skinDefParams = Object.Instantiate(val2); val3.skinDefParamsAddress = new AssetReferenceT(""); val3.rootObject = ((Component)componentInChildren).gameObject; val3.skinDefParams.rendererInfos = array; val3.icon = Skins.CreateSkinIcon(new Color(1f, 1f, 1f), new Color(0.4f, 0f, 0.4f), new Color(1f, 1f, 1f), new Color(0.4f, 0f, 0.4f)); val3.skinDefParams.meshReplacements[0].renderer = component; ((Object)val3).name = "Lemurian_Default_SKIN"; val3.nameToken = "Lemurian_Default_SKIN"; SkinDef val4 = Object.Instantiate(val); val4.skinDefParams = Object.Instantiate(val2); val4.skinDefParamsAddress = new AssetReferenceT(""); val4.rootObject = ((Component)componentInChildren).gameObject; val4.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Lemurian.matLemurianBruiser_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val4.skinDefParams.meshReplacements[0].renderer = component; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponentInChildren() .skins[0].icon; LanguageAPI.Add("Lemurian_Bruiser_SKIN", "Elder Lemurian"); ((Object)val4).name = "Lemurian_Bruiser_SKIN"; val4.nameToken = "Lemurian_Bruiser_SKIN"; SkinDef val5 = Object.Instantiate(val); val5.skinDefParams = Object.Instantiate(val2); val5.skinDefParamsAddress = new AssetReferenceT(""); val5.rootObject = ((Component)componentInChildren).gameObject; val5.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Imp.matImp_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val5.skinDefParams.meshReplacements[0].renderer = component; val5.icon = Skins.CreateSkinIcon(new Color(0.2f, 0f, 0f), new Color(0.5019608f, 0f, 0f), new Color(0.2f, 0f, 0f), new Color(0.5019608f, 0f, 0f)); LanguageAPI.Add("Lemurian_Imp_SKIN", "Imp"); ((Object)val5).name = "Lemurian_Imp_SKIN"; val5.nameToken = "Lemurian_Imp_SKIN"; SkinDef val6 = Object.Instantiate(val); val6.skinDefParams = Object.Instantiate(val2); val6.skinDefParamsAddress = new AssetReferenceT(""); val6.rootObject = ((Component)componentInChildren).gameObject; val6.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Shopkeeper.matNewt_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val6.skinDefParams.meshReplacements[0].renderer = component; val6.icon = Skins.CreateSkinIcon(new Color(0.6f, 0.4f, 1f), new Color(0.8f, 0.7019608f, 1f), new Color(0.6f, 0.4f, 1f), new Color(0.8f, 0.7019608f, 1f)); LanguageAPI.Add("Lemurian_Lunar_SKIN", "Lunar"); ((Object)val6).name = "Lemurian_Lunar_SKIN"; val6.nameToken = "Lemurian_Lunar_SKIN"; SkinDef val7 = Object.Instantiate(val); val7.skinDefParams = Object.Instantiate(val2); val7.skinDefParamsAddress = new AssetReferenceT(""); val7.rootObject = ((Component)componentInChildren).gameObject; val7.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_RoboBallBuddy.RoboBallFriendGreen_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val7.skinDefParams.meshReplacements[0].renderer = component; val7.icon = Skins.CreateSkinIcon(new Color(4f / 51f, 0.16078432f, 0.32156864f), new Color(0.8f, 0.8f, 0f), new Color(4f / 51f, 0.16078432f, 0.32156864f), new Color(0.8f, 0.8f, 0f)); LanguageAPI.Add("Lemurian_GlowFace_SKIN", "Glowy Boy"); ((Object)val7).name = "Lemurian_GlowFace_SKIN"; val7.nameToken = "Lemurian_GlowFace_SKIN"; SkinDef val8 = Object.Instantiate(val); val8.skinDefParams = Object.Instantiate(val2); val8.skinDefParamsAddress = new AssetReferenceT(""); val8.rootObject = ((Component)componentInChildren).gameObject; val8.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC1_VoidSurvivor.matVoidSurvivorBlasterSphereAreaIndicatorCorrupted_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val8.skinDefParams.meshReplacements[0].renderer = component; val8.icon = Skins.CreateSkinIcon(new Color(0.8f, 0.16078432f, 0f), new Color(1f, 0.6f, 0f), new Color(0.8f, 0.16078432f, 0f), new Color(1f, 0.6f, 0f)); LanguageAPI.Add("Lemurian_Corrupted_SKIN", "Corrupted"); ((Object)val8).name = "Lemurian_Corrupted_SKIN"; val8.nameToken = "Lemurian_Corrupted_SKIN"; SkinDef val9 = Object.Instantiate(val); val9.skinDefParams = Object.Instantiate(val2); val9.skinDefParamsAddress = new AssetReferenceT(""); val9.rootObject = ((Component)componentInChildren).gameObject; val9.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Titan.matTitanGold_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val9.skinDefParams.meshReplacements[0].renderer = component; val9.icon = Skins.CreateSkinIcon(new Color(1f, 67f / 85f, 0.1254902f), new Color(74f / 85f, 39f / 85f, 0f), new Color(0.14509805f, 4f / 85f, 0f), new Color(0.9843137f, 82f / 85f, 79f / 85f)); LanguageAPI.Add("Lemurian_Aurelionite_SKIN", "Aurelionite"); ((Object)val9).name = "Lemurian_Aurelionite_SKIN"; val9.nameToken = "Lemurian_Aurelionite_SKIN"; SkinDef val10 = Object.Instantiate(val); val10.skinDefParams = Object.Instantiate(val2); val10.skinDefParamsAddress = new AssetReferenceT(""); val10.rootObject = ((Component)componentInChildren).gameObject; val10.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC2_Seeker.matSeeker_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val10.skinDefParams.meshReplacements[0].renderer = component; val10.icon = Skins.CreateSkinIcon(new Color(0.83137256f, 56f / 85f, 20f / 51f), new Color(4f / 15f, 46f / 85f, 0.6431373f), new Color(0.4f, 33f / 85f, 8f / 15f), new Color(13f / 85f, 0.1764706f, 0.32156864f)); LanguageAPI.Add("Lemurian_Engine_SKIN", "Engine"); ((Object)val10).name = "Lemurian_Engine_SKIN"; val10.nameToken = "Lemurian_Engine_SKIN"; SkinDef val11 = Object.Instantiate(val); val11.skinDefParams = Object.Instantiate(val2); val11.skinDefParamsAddress = new AssetReferenceT(""); val11.rootObject = ((Component)componentInChildren).gameObject; val11.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC2_FalseSon.matFalseSon_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val11.skinDefParams.meshReplacements[0].renderer = component; val11.icon = Skins.CreateSkinIcon(new Color(0.56078434f, 0.20784314f, 19f / 85f), new Color(43f / 51f, 0.8901961f, 0.9411765f), new Color(1f / 3f, 24f / 85f, 29f / 85f), new Color(26f / 51f, 0.64705884f, 53f / 85f)); LanguageAPI.Add("Lemurian_False_SKIN", "Mysterious"); ((Object)val11).name = "Lemurian_False_SKIN"; val11.nameToken = "Lemurian_False_SKIN"; SkinDef val12 = Object.Instantiate(val); val12.skinDefParams = Object.Instantiate(val2); val12.skinDefParamsAddress = new AssetReferenceT(""); val12.rootObject = ((Component)componentInChildren).gameObject; val12.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC2_Scorchling.matScorchling_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val12.skinDefParams.meshReplacements[0].renderer = component; val12.icon = Skins.CreateSkinIcon(new Color(0.99607843f, 0.827451f, 0.41960785f), new Color(1f, 0.4f, 0.003921569f), new Color(41f / 51f, 0f, 3f / 85f), new Color(0.6313726f, 0.19215687f, 0f)); LanguageAPI.Add("Lemurian_Scorch_SKIN", "Scorching"); ((Object)val12).name = "Lemurian_Scorch_SKIN"; val12.nameToken = "Lemurian_Scorch_SKIN"; List list = new List { val3, val4, val5, val6, val7, val8, val9, val10, val11, val12 }; ((Component)componentInChildren).gameObject.GetComponent().skins = list.ToArray(); } } public static class LunarExploderSkinSetup { public static void BuildTheFuckingSkins() { //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_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_0081: 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_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: 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_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: 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_0175: 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_019d: 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_024f: 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_0269: 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_0287: Unknown result type (might be due to invalid IL or missing references) //IL_0289: 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_02a8: 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_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02cb: Unknown result type (might be due to invalid IL or missing references) //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_030f: Unknown result type (might be due to invalid IL or missing references) //IL_0314: Unknown result type (might be due to invalid IL or missing references) //IL_0390: Unknown result type (might be due to invalid IL or missing references) //IL_03a5: Unknown result type (might be due to invalid IL or missing references) //IL_03aa: Unknown result type (might be due to invalid IL or missing references) //IL_03bb: Unknown result type (might be due to invalid IL or missing references) //IL_03c8: Unknown result type (might be due to invalid IL or missing references) //IL_03ca: Unknown result type (might be due to invalid IL or missing references) //IL_03d3: Unknown result type (might be due to invalid IL or missing references) //IL_03e9: Unknown result type (might be due to invalid IL or missing references) //IL_03ee: Unknown result type (might be due to invalid IL or missing references) //IL_03ff: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_040e: Unknown result type (might be due to invalid IL or missing references) //IL_045a: Unknown result type (might be due to invalid IL or missing references) //IL_046e: Unknown result type (might be due to invalid IL or missing references) //IL_0482: Unknown result type (might be due to invalid IL or missing references) //IL_0496: Unknown result type (might be due to invalid IL or missing references) //IL_0502: Unknown result type (might be due to invalid IL or missing references) //IL_0517: Unknown result type (might be due to invalid IL or missing references) //IL_051c: Unknown result type (might be due to invalid IL or missing references) //IL_052d: Unknown result type (might be due to invalid IL or missing references) //IL_053a: Unknown result type (might be due to invalid IL or missing references) //IL_053c: Unknown result type (might be due to invalid IL or missing references) //IL_0545: Unknown result type (might be due to invalid IL or missing references) //IL_055b: Unknown result type (might be due to invalid IL or missing references) //IL_0560: Unknown result type (might be due to invalid IL or missing references) //IL_0571: Unknown result type (might be due to invalid IL or missing references) //IL_057e: Unknown result type (might be due to invalid IL or missing references) //IL_0580: Unknown result type (might be due to invalid IL or missing references) //IL_05cc: Unknown result type (might be due to invalid IL or missing references) //IL_05e0: Unknown result type (might be due to invalid IL or missing references) //IL_05f4: Unknown result type (might be due to invalid IL or missing references) //IL_0608: Unknown result type (might be due to invalid IL or missing references) //IL_0674: Unknown result type (might be due to invalid IL or missing references) //IL_0689: Unknown result type (might be due to invalid IL or missing references) //IL_068e: Unknown result type (might be due to invalid IL or missing references) //IL_069f: Unknown result type (might be due to invalid IL or missing references) //IL_06ac: Unknown result type (might be due to invalid IL or missing references) //IL_06ae: Unknown result type (might be due to invalid IL or missing references) //IL_06b7: Unknown result type (might be due to invalid IL or missing references) //IL_06cd: Unknown result type (might be due to invalid IL or missing references) //IL_06d2: Unknown result type (might be due to invalid IL or missing references) //IL_06e3: Unknown result type (might be due to invalid IL or missing references) //IL_06f0: Unknown result type (might be due to invalid IL or missing references) //IL_06f2: Unknown result type (might be due to invalid IL or missing references) //IL_073e: Unknown result type (might be due to invalid IL or missing references) //IL_0752: Unknown result type (might be due to invalid IL or missing references) //IL_0766: Unknown result type (might be due to invalid IL or missing references) //IL_077a: Unknown result type (might be due to invalid IL or missing references) //IL_07e6: Unknown result type (might be due to invalid IL or missing references) //IL_07fb: Unknown result type (might be due to invalid IL or missing references) //IL_0800: Unknown result type (might be due to invalid IL or missing references) //IL_0811: Unknown result type (might be due to invalid IL or missing references) //IL_081e: Unknown result type (might be due to invalid IL or missing references) //IL_0820: Unknown result type (might be due to invalid IL or missing references) //IL_0829: Unknown result type (might be due to invalid IL or missing references) //IL_083f: Unknown result type (might be due to invalid IL or missing references) //IL_0844: Unknown result type (might be due to invalid IL or missing references) //IL_0855: Unknown result type (might be due to invalid IL or missing references) //IL_0862: Unknown result type (might be due to invalid IL or missing references) //IL_0864: Unknown result type (might be due to invalid IL or missing references) //IL_08b0: Unknown result type (might be due to invalid IL or missing references) //IL_08c4: Unknown result type (might be due to invalid IL or missing references) //IL_08d8: Unknown result type (might be due to invalid IL or missing references) //IL_08ec: Unknown result type (might be due to invalid IL or missing references) //IL_0958: Unknown result type (might be due to invalid IL or missing references) //IL_096d: Unknown result type (might be due to invalid IL or missing references) //IL_0972: Unknown result type (might be due to invalid IL or missing references) //IL_0983: Unknown result type (might be due to invalid IL or missing references) //IL_0990: Unknown result type (might be due to invalid IL or missing references) //IL_0992: Unknown result type (might be due to invalid IL or missing references) //IL_099b: Unknown result type (might be due to invalid IL or missing references) //IL_09b1: Unknown result type (might be due to invalid IL or missing references) //IL_09b6: Unknown result type (might be due to invalid IL or missing references) //IL_09c7: Unknown result type (might be due to invalid IL or missing references) //IL_09d4: Unknown result type (might be due to invalid IL or missing references) //IL_09d6: Unknown result type (might be due to invalid IL or missing references) //IL_0a22: Unknown result type (might be due to invalid IL or missing references) //IL_0a36: Unknown result type (might be due to invalid IL or missing references) //IL_0a4a: Unknown result type (might be due to invalid IL or missing references) //IL_0a5e: Unknown result type (might be due to invalid IL or missing references) //IL_0aca: Unknown result type (might be due to invalid IL or missing references) //IL_0adf: Unknown result type (might be due to invalid IL or missing references) //IL_0ae4: Unknown result type (might be due to invalid IL or missing references) //IL_0af5: Unknown result type (might be due to invalid IL or missing references) //IL_0b02: Unknown result type (might be due to invalid IL or missing references) //IL_0b04: Unknown result type (might be due to invalid IL or missing references) //IL_0b0d: Unknown result type (might be due to invalid IL or missing references) //IL_0b23: Unknown result type (might be due to invalid IL or missing references) //IL_0b28: Unknown result type (might be due to invalid IL or missing references) //IL_0b39: Unknown result type (might be due to invalid IL or missing references) //IL_0b46: Unknown result type (might be due to invalid IL or missing references) //IL_0b48: Unknown result type (might be due to invalid IL or missing references) //IL_0b94: Unknown result type (might be due to invalid IL or missing references) //IL_0ba8: Unknown result type (might be due to invalid IL or missing references) //IL_0bbc: Unknown result type (might be due to invalid IL or missing references) //IL_0bd0: Unknown result type (might be due to invalid IL or missing references) //IL_0c3c: Unknown result type (might be due to invalid IL or missing references) //IL_0c51: Unknown result type (might be due to invalid IL or missing references) //IL_0c56: 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_0c74: Unknown result type (might be due to invalid IL or missing references) //IL_0c76: Unknown result type (might be due to invalid IL or missing references) //IL_0c7f: Unknown result type (might be due to invalid IL or missing references) //IL_0c95: Unknown result type (might be due to invalid IL or missing references) //IL_0c9a: Unknown result type (might be due to invalid IL or missing references) //IL_0cab: Unknown result type (might be due to invalid IL or missing references) //IL_0cb8: Unknown result type (might be due to invalid IL or missing references) //IL_0cba: Unknown result type (might be due to invalid IL or missing references) //IL_0d06: Unknown result type (might be due to invalid IL or missing references) //IL_0d1a: Unknown result type (might be due to invalid IL or missing references) //IL_0d2e: Unknown result type (might be due to invalid IL or missing references) //IL_0d42: Unknown result type (might be due to invalid IL or missing references) //IL_0dae: Unknown result type (might be due to invalid IL or missing references) //IL_0dc3: Unknown result type (might be due to invalid IL or missing references) //IL_0dc8: Unknown result type (might be due to invalid IL or missing references) //IL_0dd9: Unknown result type (might be due to invalid IL or missing references) //IL_0de6: Unknown result type (might be due to invalid IL or missing references) //IL_0de8: Unknown result type (might be due to invalid IL or missing references) //IL_0df1: Unknown result type (might be due to invalid IL or missing references) //IL_0e07: Unknown result type (might be due to invalid IL or missing references) //IL_0e0c: Unknown result type (might be due to invalid IL or missing references) //IL_0e1d: Unknown result type (might be due to invalid IL or missing references) //IL_0e2a: Unknown result type (might be due to invalid IL or missing references) //IL_0e2c: Unknown result type (might be due to invalid IL or missing references) //IL_0e78: Unknown result type (might be due to invalid IL or missing references) //IL_0e8c: Unknown result type (might be due to invalid IL or missing references) //IL_0ea0: Unknown result type (might be due to invalid IL or missing references) //IL_0eb4: Unknown result type (might be due to invalid IL or missing references) CharacterModel componentInChildren = LunarExploder.myCharacter.GetComponentInChildren(); SkinDef val = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.skinLunarExploderBodyDefault_asset).WaitForCompletion(); SkinDefParams val2 = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder_skinLunarExploderBodyDefault.params_asset).WaitForCompletion(); Renderer component = ((Component)((Component)componentInChildren).transform.Find("LunarExploderCoreMesh")).GetComponent(); Renderer component2 = ((Component)((Component)componentInChildren).transform.Find("LunarExploderMesh")).GetComponent(); Debug.Log((object)("rendname: " + ((Object)component).name)); RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[2] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploderCore_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }, new RendererInfo { renderer = component2, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploder_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; ((Component)componentInChildren).GetComponentInChildren().baseRendererInfos = array; LanguageAPI.Add("Lunar_Default_SKIN", "Lunar Exploder"); SkinDef val3 = Object.Instantiate(val); val3.skinDefParams = Object.Instantiate(val2); val3.skinDefParamsAddress = new AssetReferenceT(""); val3.rootObject = ((Component)componentInChildren).gameObject; val3.skinDefParams.rendererInfos = array; val3.icon = Skins.CreateSkinIcon(new Color(0.6f, 0.4f, 1f), new Color(0.5019608f, 0f, 0f), new Color(0.6f, 0.4f, 1f), new Color(0.5019608f, 0f, 0f)); val3.skinDefParams.meshReplacements[0].renderer = component; val3.skinDefParams.meshReplacements[1].renderer = component2; ((Object)val3).name = "Lunar_Default_SKIN"; val3.nameToken = "Lunar_Default_SKIN"; SkinDef val4 = Object.Instantiate(val); val4.skinDefParams = Object.Instantiate(val2); val4.skinDefParamsAddress = new AssetReferenceT(""); val4.rootObject = ((Component)componentInChildren).gameObject; val4.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[2] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Lemurian.matLemurianBruiser_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }, new RendererInfo { renderer = component2, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploder_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val4.skinDefParams.meshReplacements[0].renderer = component; val4.skinDefParams.meshReplacements[1].renderer = component2; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponentInChildren() .skins[0].icon; ((Object)val4).name = "Lemurian_Bruiser_SKIN"; val4.nameToken = "Lemurian_Bruiser_SKIN"; SkinDef val5 = Object.Instantiate(val); val5.skinDefParams = Object.Instantiate(val2); val5.skinDefParamsAddress = new AssetReferenceT(""); val5.rootObject = ((Component)componentInChildren).gameObject; val5.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[2] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Imp.matImp_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }, new RendererInfo { renderer = component2, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploder_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val5.skinDefParams.meshReplacements[0].renderer = component; val5.skinDefParams.meshReplacements[1].renderer = component2; val5.icon = Skins.CreateSkinIcon(new Color(0.2f, 0f, 0f), new Color(0.5019608f, 0f, 0f), new Color(0.2f, 0f, 0f), new Color(0.5019608f, 0f, 0f)); ((Object)val5).name = "Lemurian_Imp_SKIN"; val5.nameToken = "Lemurian_Imp_SKIN"; SkinDef val6 = Object.Instantiate(val); val6.skinDefParams = Object.Instantiate(val2); val6.skinDefParamsAddress = new AssetReferenceT(""); val6.rootObject = ((Component)componentInChildren).gameObject; val6.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[2] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Shopkeeper.matNewt_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }, new RendererInfo { renderer = component2, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploder_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val6.skinDefParams.meshReplacements[0].renderer = component; val6.skinDefParams.meshReplacements[1].renderer = component2; val6.icon = Skins.CreateSkinIcon(new Color(0.6f, 0.4f, 1f), new Color(0.8f, 0.7019608f, 1f), new Color(0.6f, 0.4f, 1f), new Color(0.8f, 0.7019608f, 1f)); ((Object)val6).name = "Lemurian_Lunar_SKIN"; val6.nameToken = "Lemurian_Lunar_SKIN"; SkinDef val7 = Object.Instantiate(val); val7.skinDefParams = Object.Instantiate(val2); val7.skinDefParamsAddress = new AssetReferenceT(""); val7.rootObject = ((Component)componentInChildren).gameObject; val7.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[2] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_RoboBallBuddy.RoboBallFriendGreen_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }, new RendererInfo { renderer = component2, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploder_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val7.skinDefParams.meshReplacements[0].renderer = component; val7.skinDefParams.meshReplacements[1].renderer = component2; val7.icon = Skins.CreateSkinIcon(new Color(4f / 51f, 0.16078432f, 0.32156864f), new Color(0.8f, 0.8f, 0f), new Color(4f / 51f, 0.16078432f, 0.32156864f), new Color(0.8f, 0.8f, 0f)); ((Object)val7).name = "Lemurian_GlowFace_SKIN"; val7.nameToken = "Lemurian_GlowFace_SKIN"; SkinDef val8 = Object.Instantiate(val); val8.skinDefParams = Object.Instantiate(val2); val8.skinDefParamsAddress = new AssetReferenceT(""); val8.rootObject = ((Component)componentInChildren).gameObject; val8.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[2] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC1_VoidSurvivor.matVoidSurvivorBlasterSphereAreaIndicatorCorrupted_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }, new RendererInfo { renderer = component2, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploder_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val8.skinDefParams.meshReplacements[0].renderer = component; val8.skinDefParams.meshReplacements[1].renderer = component2; val8.icon = Skins.CreateSkinIcon(new Color(0.8f, 0.16078432f, 0f), new Color(1f, 0.6f, 0f), new Color(0.8f, 0.16078432f, 0f), new Color(1f, 0.6f, 0f)); ((Object)val8).name = "Lemurian_Corrupted_SKIN"; val8.nameToken = "Lemurian_Corrupted_SKIN"; SkinDef val9 = Object.Instantiate(val); val9.skinDefParams = Object.Instantiate(val2); val9.skinDefParamsAddress = new AssetReferenceT(""); val9.rootObject = ((Component)componentInChildren).gameObject; val9.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[2] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Titan.matTitanGold_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }, new RendererInfo { renderer = component2, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploder_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val9.skinDefParams.meshReplacements[0].renderer = component; val9.skinDefParams.meshReplacements[1].renderer = component2; val9.icon = Skins.CreateSkinIcon(new Color(1f, 67f / 85f, 0.1254902f), new Color(74f / 85f, 39f / 85f, 0f), new Color(0.14509805f, 4f / 85f, 0f), new Color(0.9843137f, 82f / 85f, 79f / 85f)); ((Object)val9).name = "Lemurian_Aurelionite_SKIN"; val9.nameToken = "Lemurian_Aurelionite_SKIN"; SkinDef val10 = Object.Instantiate(val); val10.skinDefParams = Object.Instantiate(val2); val10.skinDefParamsAddress = new AssetReferenceT(""); val10.rootObject = ((Component)componentInChildren).gameObject; val10.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[2] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC2_Seeker.matSeeker_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }, new RendererInfo { renderer = component2, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploder_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val10.skinDefParams.meshReplacements[0].renderer = component; val10.skinDefParams.meshReplacements[1].renderer = component2; val10.icon = Skins.CreateSkinIcon(new Color(0.83137256f, 56f / 85f, 20f / 51f), new Color(4f / 15f, 46f / 85f, 0.6431373f), new Color(0.4f, 33f / 85f, 8f / 15f), new Color(13f / 85f, 0.1764706f, 0.32156864f)); ((Object)val10).name = "Lemurian_Engine_SKIN"; val10.nameToken = "Lemurian_Engine_SKIN"; SkinDef val11 = Object.Instantiate(val); val11.skinDefParams = Object.Instantiate(val2); val11.skinDefParamsAddress = new AssetReferenceT(""); val11.rootObject = ((Component)componentInChildren).gameObject; val11.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[2] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC2_FalseSon.matFalseSon_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }, new RendererInfo { renderer = component2, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploder_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val11.skinDefParams.meshReplacements[0].renderer = component; val11.skinDefParams.meshReplacements[1].renderer = component2; val11.icon = Skins.CreateSkinIcon(new Color(0.56078434f, 0.20784314f, 19f / 85f), new Color(43f / 51f, 0.8901961f, 0.9411765f), new Color(1f / 3f, 24f / 85f, 29f / 85f), new Color(26f / 51f, 0.64705884f, 53f / 85f)); ((Object)val11).name = "Lemurian_False_SKIN"; val11.nameToken = "Lemurian_False_SKIN"; SkinDef val12 = Object.Instantiate(val); val12.skinDefParams = Object.Instantiate(val2); val12.skinDefParamsAddress = new AssetReferenceT(""); val12.rootObject = ((Component)componentInChildren).gameObject; val12.skinDefParams.rendererInfos = (RendererInfo[])(object)new RendererInfo[2] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC2_Scorchling.matScorchling_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false }, new RendererInfo { renderer = component2, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_LunarExploder.matLunarExploder_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val12.skinDefParams.meshReplacements[0].renderer = component; val12.skinDefParams.meshReplacements[1].renderer = component2; val12.icon = Skins.CreateSkinIcon(new Color(0.99607843f, 0.827451f, 0.41960785f), new Color(1f, 0.4f, 0.003921569f), new Color(41f / 51f, 0f, 3f / 85f), new Color(0.6313726f, 0.19215687f, 0f)); ((Object)val12).name = "Lemurian_Scorch_SKIN"; val12.nameToken = "Lemurian_Scorch_SKIN"; List list = new List { val3, val4, val5, val6, val7, val8, val9, val10, val11, val12 }; ((Component)componentInChildren).gameObject.GetComponent().skins = list.ToArray(); } } public class LunarExploderMain : GenericCharacterMain { private float stopWatch; private GameObject deathPreExplosionInstance; private Transform muzzleTransform; private Animator animator; public GameObject projectilePrefab; public static GameObject exploprefab; private GameObject aimSphere; public override void OnEnter() { //IL_0050: Unknown result type (might be due to invalid IL or missing references) ((GenericCharacterMain)this).OnEnter(); CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.LunarChPrefab, (OverridePriority)0); animator = ((EntityState)this).GetModelAnimator(); aimSphere = Object.Instantiate(LemPrefabs.LemDicator); aimSphere.transform.localScale = new Vector3(2.5f, 2.5f, 2.5f); } public override void Update() { ((GenericCharacterMain)this).Update(); if (!LunarExploder.sprintingenabled.Value & ((EntityState)this).characterBody.isSprinting) { animator.SetBool("isSprinting", false); } } public override void FixedUpdate() { //IL_0062: 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_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_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Expected O, but got Unknown //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_0140: 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_015c: Expected O, but got Unknown //IL_0162: 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_016e: 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_018a: Expected O, but got Unknown //IL_01a0: 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_01af: 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_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Invalid comparison between Unknown and I4 //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_02a9: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: 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_02c1: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Expected O, but got Unknown ((GenericCharacterMain)this).FixedUpdate(); if (((EntityState)this).characterBody.healthComponent.isHealthLow && !Object.op_Implicit((Object)(object)deathPreExplosionInstance) && !((EntityState)this).characterBody.HasBuff(Buffs.ExplodeBuff)) { muzzleTransform = ((BaseState)this).FindModelChild(DeathState.muzzleName); deathPreExplosionInstance = Object.Instantiate(DeathState.deathPreExplosionVFX, muzzleTransform.position, muzzleTransform.rotation); deathPreExplosionInstance.transform.parent = muzzleTransform; deathPreExplosionInstance.transform.localScale = Vector3.one * DeathState.deathExplosionRadius; ScaleParticleSystemDuration component = deathPreExplosionInstance.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.newDuration = 2f; } } if (!Object.op_Implicit((Object)(object)deathPreExplosionInstance)) { return; } stopWatch += Time.fixedDeltaTime; if (!(stopWatch >= 2f)) { return; } DeathState val = new DeathState(); exploprefab = Object.Instantiate(val.explosionEffectPrefab); EffectManager.SpawnEffect(exploprefab, new EffectData { origin = ((EntityState)this).transform.position, scale = 100f }, true); EffectManager.SpawnEffect(LemPrefabs.LunGolShieldCharge, new EffectData { origin = ((EntityState)this).transform.position, scale = 100f }, false); if (NetworkServer.active) { Vector3 corePosition = ((EntityState)this).characterBody.corePosition; LayerIndex defaultLayer = LayerIndex.defaultLayer; Collider[] array = Physics.OverlapSphere(corePosition, 100f, LayerMask.op_Implicit(((LayerIndex)(ref defaultLayer)).mask)); for (int i = 0; i < array.Length; i++) { HealthComponent component2 = ((Component)array[i]).GetComponent(); if (!Object.op_Implicit((Object)(object)component2)) { continue; } TeamComponent component3 = ((Component)component2).GetComponent(); if ((int)component3.teamIndex != 1) { CharacterBody body = component2.body; if (Object.op_Implicit((Object)(object)body)) { projectilePrefab = LunarExploder.LunarDot; ((Component)projectilePrefab.GetComponent()).transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); ProjectileManager.instance.FireProjectile(LunarExploder.LunarDot, ((Component)body).transform.position, ((Component)body).transform.rotation, ((EntityState)this).gameObject, ((BaseState)this).damageStat, 0f, false, (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); EffectManager.SpawnEffect(exploprefab, new EffectData { origin = ((Component)body).transform.position, scale = 2.5f }, true); body.AddTimedBuff(Buffs.Cripple, 10f); } } } } ((EntityState)this).characterBody.AddTimedBuff(Buffs.ExplodeBuff, 60f); EntityState.Destroy((Object)(object)deathPreExplosionInstance); stopWatch = 0f; } public override void OnExit() { ((GenericCharacterMain)this).OnExit(); } } public static class LunarExploderItemDisplays { internal static ItemDisplayRuleSet itemDisplayRuleSet; internal static List itemDisplayRules; private static Dictionary itemDisplayPrefabs = new Dictionary(); internal static void InitializeItemDisplays() { PopulateDisplays(); CharacterModel componentInChildren = LunarExploder.myCharacter.GetComponentInChildren(); itemDisplayRuleSet = ScriptableObject.CreateInstance(); ((Object)itemDisplayRuleSet).name = "idrsLunarExploder"; componentInChildren.itemDisplayRuleSet = itemDisplayRuleSet; } internal static void SetItemDisplays() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_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) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0094: 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_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: 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_00ca: 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_00eb: 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_0112: 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_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_0146: 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_0164: 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_0180: 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_0193: 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_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_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_01e0: 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_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021a: 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_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_024b: 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_027a: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: 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_02d9: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Unknown result type (might be due to invalid IL or missing references) //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) //IL_0316: 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_0320: 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_0345: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) //IL_0360: 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_0398: Unknown result type (might be due to invalid IL or missing references) //IL_03ae: 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_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03ce: Unknown result type (might be due to invalid IL or missing references) //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Unknown result type (might be due to invalid IL or missing references) //IL_03ec: Expected O, but got Unknown //IL_03ec: Unknown result type (might be due to invalid IL or missing references) //IL_03ee: Unknown result type (might be due to invalid IL or missing references) //IL_03f8: Unknown result type (might be due to invalid IL or missing references) //IL_03f9: Unknown result type (might be due to invalid IL or missing references) //IL_03fe: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_0434: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Unknown result type (might be due to invalid IL or missing references) //IL_0475: 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) //IL_0490: 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_04ab: Unknown result type (might be due to invalid IL or missing references) //IL_04b3: 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_04c9: Expected O, but got Unknown //IL_04c9: Unknown result type (might be due to invalid IL or missing references) //IL_04cb: Unknown result type (might be due to invalid IL or missing references) //IL_04d5: Unknown result type (might be due to invalid IL or missing references) //IL_04d6: Unknown result type (might be due to invalid IL or missing references) //IL_04db: Unknown result type (might be due to invalid IL or missing references) itemDisplayRules = new List(); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixRed, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixRed) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixBlue, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixBlue) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixWhite, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixWhite) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixPoison, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixPoison) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixHaunted, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixHaunted) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixLunar, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixLunar) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.EliteVoidEquipment, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteVoidEquipment) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.EliteAurelioniteEquipment, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteAurelioniteEquipment) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.EliteBeadEquipment, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteBeadEquipment) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Addressables.LoadAssetAsync((object)"RoR2/DLC1/EliteEarth/EliteEarthEquipment.asset").WaitForCompletion(), displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Addressables.LoadAssetAsync((object)"RoR2/DLC1/EliteEarth/EliteEarthEquipment.asset").WaitForCompletion()) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.Jetpack, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayBugWings"), childName = "MuzzleCore", localPos = new Vector3(0f, -1f, -0.5f), localAngles = new Vector3(205f, 0f, 0f), localScale = new Vector3(0f, 0f, 0f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.GoldGat, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayGoldGat"), childName = "MuzzleCore", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, -90f, 0f), localScale = new Vector3(0f, 0f, 0f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRuleSet.keyAssetRuleGroups = itemDisplayRules.ToArray(); itemDisplayRuleSet.GenerateRuntimeValues(); } internal static void PopulateDisplays() { //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) ItemDisplayRuleSet val = ((Component)Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .modelTransform).GetComponent().itemDisplayRuleSet; KeyAssetRuleGroup[] keyAssetRuleGroups = val.keyAssetRuleGroups; for (int i = 0; i < keyAssetRuleGroups.Length; i++) { ItemDisplayRule[] rules = keyAssetRuleGroups[i].displayRuleGroup.rules; 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?.ToLower(); if (!itemDisplayPrefabs.ContainsKey(key)) { itemDisplayPrefabs[key] = followerPrefab; } } } } } internal static GameObject LoadDisplay(string name) { if (itemDisplayPrefabs.ContainsKey(name.ToLower()) && Object.op_Implicit((Object)(object)itemDisplayPrefabs[name.ToLower()])) { return itemDisplayPrefabs[name.ToLower()]; } return null; } } public static class LunarExploderSkins { private static GameObjectActivation[] getActivations(GameObject[] allObjects, params GameObject[] activatedObjects) { //IL_0019: 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) List list = new List(); for (int i = 0; i < allObjects.Length; i++) { bool shouldActivate = activatedObjects.Contains(allObjects[i]); list.Add(new GameObjectActivation { gameObject = allObjects[i], shouldActivate = shouldActivate }); } return list.ToArray(); } public static void RegisterSkins() { //IL_004d: 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_009e: 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_00c6: 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_0193: 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_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_0213: 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_0270: 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_0155: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Unknown result type (might be due to invalid IL or missing references) //IL_030f: Unknown result type (might be due to invalid IL or missing references) //IL_034c: Unknown result type (might be due to invalid IL or missing references) //IL_0360: 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_0388: Unknown result type (might be due to invalid IL or missing references) //IL_03d1: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: 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_0440: Unknown result type (might be due to invalid IL or missing references) //IL_045b: Unknown result type (might be due to invalid IL or missing references) //IL_0498: Unknown result type (might be due to invalid IL or missing references) //IL_04ac: Unknown result type (might be due to invalid IL or missing references) //IL_04c0: Unknown result type (might be due to invalid IL or missing references) //IL_04d4: Unknown result type (might be due to invalid IL or missing references) //IL_051d: Unknown result type (might be due to invalid IL or missing references) //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_0417: 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_05a7: Unknown result type (might be due to invalid IL or missing references) //IL_05e4: Unknown result type (might be due to invalid IL or missing references) //IL_05f8: Unknown result type (might be due to invalid IL or missing references) //IL_060c: Unknown result type (might be due to invalid IL or missing references) //IL_0620: Unknown result type (might be due to invalid IL or missing references) //IL_0669: Unknown result type (might be due to invalid IL or missing references) //IL_055e: Unknown result type (might be due to invalid IL or missing references) //IL_0563: Unknown result type (might be due to invalid IL or missing references) //IL_06d8: Unknown result type (might be due to invalid IL or missing references) //IL_06f3: Unknown result type (might be due to invalid IL or missing references) //IL_0730: Unknown result type (might be due to invalid IL or missing references) //IL_0744: Unknown result type (might be due to invalid IL or missing references) //IL_0758: 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_07b5: Unknown result type (might be due to invalid IL or missing references) //IL_06aa: Unknown result type (might be due to invalid IL or missing references) //IL_06af: Unknown result type (might be due to invalid IL or missing references) //IL_0824: Unknown result type (might be due to invalid IL or missing references) //IL_07f6: Unknown result type (might be due to invalid IL or missing references) //IL_07fb: Unknown result type (might be due to invalid IL or missing references) GameObject myCharacter = LunarExploder.myCharacter; GameObject gameObject = ((Component)myCharacter.GetComponentInChildren().modelTransform).gameObject; CharacterModel component = gameObject.GetComponent(); ModelSkinController val = gameObject.AddComponent(); ChildLocator component2 = gameObject.GetComponent(); SkinnedMeshRenderer fieldValue = Reflection.GetFieldValue((object)component, "mainSkinnedMeshRenderer"); LanguageAPI.Add("LunarExploder_DEFAULT_SKIN", "Default Exploder"); SkinDefInfo val2 = default(SkinDefInfo); val2.BaseSkins = Array.Empty(); val2.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val2.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val2.Icon = Skins.CreateSkinIcon(new Color(0.6f, 0.4f, 1f), new Color(0.5019608f, 0f, 0f), new Color(0.6f, 0.4f, 1f), new Color(0.5019608f, 0f, 0f)); val2.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val2.Name = "LunarExploder_DEFAULT_SKIN"; val2.NameToken = "LunarExploder_DEFAULT_SKIN"; val2.RendererInfos = component.baseRendererInfos; val2.RootObject = gameObject; RendererInfo[] rendererInfos = val2.RendererInfos; RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); Material defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion().GetComponentInChildren() .baseRendererInfos[0].defaultMaterial); array[0].defaultMaterial = defaultMaterial; } val2.RendererInfos = array; SkinDef item = Skins.CreateNewSkinDef(val2); LanguageAPI.Add("LunarExploder_Lunar_SKIN", "Lunar"); SkinDefInfo val3 = default(SkinDefInfo); val3.BaseSkins = Array.Empty(); val3.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val3.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val3.Icon = Skins.CreateSkinIcon(new Color(0.6f, 0.4f, 1f), new Color(0.8f, 0.7019608f, 1f), new Color(0.6f, 0.4f, 1f), new Color(0.8f, 0.7019608f, 1f)); val3.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val3.Name = "LunarExploder_Lunar_SKIN"; val3.NameToken = "LunarExploder_Lunar_SKIN"; val3.RendererInfos = component.baseRendererInfos; val3.RootObject = gameObject; rendererInfos = val2.RendererInfos; array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/Base/LunarGolem/LunarGolemBody.prefab").WaitForCompletion().GetComponentInChildren() .baseRendererInfos[0].defaultMaterial); array[0].defaultMaterial = defaultMaterial; } val3.RendererInfos = array; SkinDef item2 = Skins.CreateNewSkinDef(val3); LanguageAPI.Add("LunarExploder_Aurelionite_SKIN", "Aurelionite"); SkinDefInfo val4 = default(SkinDefInfo); val4.BaseSkins = Array.Empty(); val4.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val4.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val4.Icon = Skins.CreateSkinIcon(new Color(1f, 67f / 85f, 0.1254902f), new Color(74f / 85f, 39f / 85f, 0f), new Color(0.14509805f, 4f / 85f, 0f), new Color(0.9843137f, 82f / 85f, 79f / 85f)); val4.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val4.Name = "LunarExploder_Aurelionite_SKIN"; val4.NameToken = "LunarExploder_Aurelionite_SKIN"; val4.RendererInfos = component.baseRendererInfos; val4.RootObject = gameObject; rendererInfos = val2.RendererInfos; array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/DLC2/matAurelioniteGeode.mat").WaitForCompletion()); array[0].defaultMaterial = defaultMaterial; } val4.RendererInfos = array; SkinDef item3 = Skins.CreateNewSkinDef(val4); LanguageAPI.Add("LunarExploder_Engine_SKIN", "Engine"); SkinDefInfo val5 = default(SkinDefInfo); val5.BaseSkins = Array.Empty(); val5.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val5.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val5.Icon = Skins.CreateSkinIcon(new Color(0.83137256f, 56f / 85f, 20f / 51f), new Color(4f / 15f, 46f / 85f, 0.6431373f), new Color(0.4f, 33f / 85f, 8f / 15f), new Color(13f / 85f, 0.1764706f, 0.32156864f)); val5.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val5.Name = "LunarExploder_Engine_SKIN"; val5.NameToken = "LunarExploder_Engine_SKIN"; val5.RendererInfos = component.baseRendererInfos; val5.RootObject = gameObject; rendererInfos = val2.RendererInfos; array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/DLC2/Seeker/matSeeker.mat").WaitForCompletion()); array[0].defaultMaterial = defaultMaterial; } val5.RendererInfos = array; SkinDef item4 = Skins.CreateNewSkinDef(val5); LanguageAPI.Add("LunarExploder_False_SKIN", "Mysterious"); SkinDefInfo val6 = default(SkinDefInfo); val6.BaseSkins = Array.Empty(); val6.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val6.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val6.Icon = Skins.CreateSkinIcon(new Color(0.56078434f, 0.20784314f, 19f / 85f), new Color(43f / 51f, 0.8901961f, 0.9411765f), new Color(1f / 3f, 24f / 85f, 29f / 85f), new Color(26f / 51f, 0.64705884f, 53f / 85f)); val6.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val6.Name = "LunarExploder_False_SKIN"; val6.NameToken = "LunarExploder_False_SKIN"; val6.RendererInfos = component.baseRendererInfos; val6.RootObject = gameObject; rendererInfos = val2.RendererInfos; array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/DLC2/FalseSon/matFalseSon.mat").WaitForCompletion()); array[0].defaultMaterial = defaultMaterial; } val6.RendererInfos = array; SkinDef item5 = Skins.CreateNewSkinDef(val6); LanguageAPI.Add("LunarExploder_Scorch_SKIN", "Scorching"); SkinDefInfo val7 = default(SkinDefInfo); val7.BaseSkins = Array.Empty(); val7.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val7.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val7.Icon = Skins.CreateSkinIcon(new Color(0.99607843f, 0.827451f, 0.41960785f), new Color(1f, 0.4f, 0.003921569f), new Color(41f / 51f, 0f, 3f / 85f), new Color(0.6313726f, 0.19215687f, 0f)); val7.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val7.Name = "LunarExploder_Scorch_SKIN"; val7.NameToken = "LunarExploder_Scorch_SKIN"; val7.RendererInfos = component.baseRendererInfos; val7.RootObject = gameObject; rendererInfos = val2.RendererInfos; array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/DLC2/Scorchling/matScorchling.mat").WaitForCompletion()); array[0].defaultMaterial = defaultMaterial; } val7.RendererInfos = array; SkinDef item6 = Skins.CreateNewSkinDef(val7); List list = new List { item, item2, item3, item4, item5, item6 }; val.skins = list.ToArray(); } } public class ElderLemurianUtility : BaseState { public float stopWatch; public override void OnEnter() { //IL_0082: 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) ((BaseState)this).OnEnter(); ((EntityState)this).characterBody.SetAimTimer(0.2f); ((EntityState)this).PlayAnimation("Gesture, Override", "Flamebreath", "Flamebreath.playbackRate", 0.5f, 0f); Util.PlayAttackSpeedSound(ChargeMegaFireball.attackString, ((EntityState)this).gameObject, base.attackSpeedStat); if (((EntityState)this).isAuthority) { ProjectileManager.instance.FireProjectile(ElderLemurian.ElderUtilProjectile, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, ((Component)((EntityState)this).characterMotor.characterDirection).transform.rotation, ((EntityState)this).gameObject, base.damageStat * Primary1.damageCoefficient, Primary1.force, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, 0f, (DamageTypeCombo?)null); } } public override void OnExit() { ((EntityState)this).PlayCrossfade("Gesture, Override", "BufferEmpty", 0.1f); ((EntityState)this).OnExit(); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); stopWatch += Time.fixedDeltaTime; if (stopWatch >= 0.5f) { ((EntityState)this).outer.SetNextStateToMain(); } } 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 class LemurianMain : GenericCharacterMain { public override void OnEnter() { ((GenericCharacterMain)this).OnEnter(); if (Lemurian.transformer < (float)Run.instance.loopClearCount) { ((EntityState)this).characterBody.AddBuff(Buffs.TransformBuff); } SkillDef skillDef = ((EntityState)this).characterBody.skillLocator.primary.skillDef; bool flag = skillDef.skillNameToken == "Primary3_NAME"; if (flag) { CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.LemLaserPrimCh, (OverridePriority)0); } if (!flag) { CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.LemChprefab, (OverridePriority)0); } } public override void Update() { //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_0015: Unknown result type (might be due to invalid IL or missing references) ((GenericCharacterMain)this).Update(); KeyboardShortcut value = Lemurian.switchKey.Value; if (Input.GetKeyDown(((KeyboardShortcut)(ref value)).MainKey) && ((EntityState)this).characterBody.HasBuff(Buffs.TransformBuff) && ((EntityState)this).isAuthority) { Lemurian.transformer = Run.instance.loopClearCount; Switch nextState = new Switch(); ((EntityState)this).outer.SetNextState((EntityState)(object)nextState); } } public override void FixedUpdate() { ((GenericCharacterMain)this).FixedUpdate(); } public override void OnExit() { ((GenericCharacterMain)this).OnExit(); } } public class BleedDistance : BaseState { public static float baseDuration = 0.8f; public static float damageCoefficient = 0.75f; public static float procCoefficient; public static float selfForce = 2f; public static float forceMagnitude = 16f; public static GameObject hitEffectPrefab; public static GameObject swipeEffectPrefab; public static string enterSoundString; public static string slashSoundString; private OverlapAttack attack; private Animator modelAnimator; private float duration; private int spikesfired; private Transform modelTransform; public float stopWatch; public override void OnEnter() { //IL_0050: 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_0061: 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_0067: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration = baseDuration / base.attackSpeedStat; modelAnimator = ((EntityState)this).GetModelAnimator(); modelTransform = ((EntityState)this).GetModelTransform(); ((EntityState)this).characterBody.SetAimTimer(duration); Imp.VoidSpike.GetComponent().damageType = new DamageTypeCombo { damageType = (DamageType)0, damageSource = (DamageSource)1 }; Util.PlayAttackSpeedSound(DoubleSlash.enterSoundString, ((EntityState)this).gameObject, base.attackSpeedStat); if (Object.op_Implicit((Object)(object)modelAnimator)) { ((EntityState)this).PlayAnimation("Gesture, Additive", "DoubleSlash", "DoubleSlash.playbackRate", duration * 0.9f, 0f); ((EntityState)this).PlayAnimation("Gesture, Override", "DoubleSlash", "DoubleSlash.playbackRate", duration * 0.9f, 0f); } spikesfired = 0; stopWatch = 0f; } public override void OnExit() { ((EntityState)this).OnExit(); } private void HandleSlash(string animatorParamName, string muzzleName, string hitBoxGroupName) { if (modelAnimator.GetFloat(animatorParamName) > 0.1f) { Util.PlaySound(DoubleSlash.slashSoundString, ((EntityState)this).gameObject); EffectManager.SimpleMuzzleFlash(DoubleSlash.swipeEffectPrefab, ((EntityState)this).gameObject, muzzleName, true); attack.Fire((List)null); } } public override void FixedUpdate() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_005b: 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_0067: 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_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); stopWatch += Time.fixedDeltaTime; Ray aimRay = ((BaseState)this).GetAimRay(); if (stopWatch >= duration * 0.4f && spikesfired == 0 && ((EntityState)this).isAuthority) { ProjectileManager.instance.FireProjectile(Imp.VoidSpike, ((Ray)(ref aimRay)).origin, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), ((EntityState)this).gameObject, base.damageStat * BleedSec.damageCoefficient, 0f, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, 150f, (DamageTypeCombo?)null); spikesfired++; } if (stopWatch >= duration * 0.5f && spikesfired < 2 && ((EntityState)this).isAuthority) { ProjectileManager.instance.FireProjectile(Imp.VoidSpike, ((Ray)(ref aimRay)).origin, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), ((EntityState)this).gameObject, base.damageStat * BleedSec.damageCoefficient, 0f, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, 150f, (DamageTypeCombo?)null); spikesfired++; } if (((EntityState)this).fixedAge >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } 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 BleedMelee : BaseState { public static float baseDuration = 0.75f; public static float damageCoefficient = 1.2f; public static float procCoefficient; public static float selfForce = 2f; public static float forceMagnitude = 16f; public static GameObject hitEffectPrefab; public static GameObject swipeEffectPrefab; public static string enterSoundString; public static string slashSoundString; private OverlapAttack attack; private Animator modelAnimator; private float duration; private int slashCount; private Transform modelTransform; public override void OnEnter() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown //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_0113: 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_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0129: 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) ((BaseState)this).OnEnter(); duration = baseDuration / base.attackSpeedStat; modelAnimator = ((EntityState)this).GetModelAnimator(); modelTransform = ((EntityState)this).GetModelTransform(); attack = new OverlapAttack(); attack.attacker = ((EntityState)this).gameObject; attack.inflictor = ((EntityState)this).gameObject; attack.teamIndex = TeamComponent.GetObjectTeam(attack.attacker); if (((EntityState)this).characterBody.HasBuff(Buffs.SlashBuff)) { attack.damage = 1.5f * damageCoefficient * base.damageStat; } else { attack.damage = damageCoefficient * base.damageStat; } attack.hitEffectPrefab = DoubleSlash.hitEffectPrefab; attack.isCrit = Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master); attack.procCoefficient = 1.01f; attack.damageType = new DamageTypeCombo { damageType = (DamageType)0, damageSource = (DamageSource)1 }; ((EntityState)this).characterBody.SetAimTimer(duration); Util.PlayAttackSpeedSound(DoubleSlash.enterSoundString, ((EntityState)this).gameObject, base.attackSpeedStat); if (Object.op_Implicit((Object)(object)modelAnimator)) { ((EntityState)this).PlayAnimation("Gesture, Additive", "DoubleSlash", "DoubleSlash.playbackRate", duration * 0.9f, 0f); ((EntityState)this).PlayAnimation("Gesture, Override", "DoubleSlash", "DoubleSlash.playbackRate", duration * 0.9f, 0f); } } public override void OnExit() { if (((EntityState)this).characterBody.HasBuff(Buffs.SlashBuff)) { ((EntityState)this).characterBody.ClearTimedBuffs(Buffs.SlashBuff); } ((EntityState)this).OnExit(); } private void HandleSlash(string animatorParamName, string muzzleName, string hitBoxGroupName) { //IL_00bb: 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_0101: 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) if (!(modelAnimator.GetFloat(animatorParamName) > 0.1f)) { return; } Util.PlaySound(DoubleSlash.slashSoundString, ((EntityState)this).gameObject); EffectManager.SimpleMuzzleFlash(DoubleSlash.swipeEffectPrefab, ((EntityState)this).gameObject, muzzleName, true); slashCount++; if (Object.op_Implicit((Object)(object)modelTransform)) { attack.hitBoxGroup = Array.Find(((Component)modelTransform).GetComponents(), (HitBoxGroup element) => element.groupName == hitBoxGroupName); } if (Object.op_Implicit((Object)(object)((EntityState)this).healthComponent)) { ((EntityState)this).healthComponent.TakeDamageForce(((EntityState)this).characterDirection.forward * selfForce, true, false); } attack.ResetIgnoredHealthComponents(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { attack.forceVector = ((EntityState)this).characterDirection.forward * DoubleSlash.forceMagnitude; } if (attack.Fire((List)null) && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded) { ((BaseState)this).SmallHop(((EntityState)this).characterMotor, 8f); } } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)modelAnimator)) { switch (slashCount) { case 1: HandleSlash("HandL.hitBoxActive", "SwipeLeft", "HandL"); break; case 0: HandleSlash("HandR.hitBoxActive", "SwipeRight", "HandR"); break; } } if (((EntityState)this).fixedAge >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } 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 BleedSec : BaseState { public static float damageCoefficient = 0.75f; public static float baseDuration = 0.2f; public static GameObject hitEffectPrefab; public static GameObject swipeEffectPrefab; public static string enterSoundString; public static string attackSoundString; public int projectileCount; public int projectilesfired; public static float projectileYawSpread; public static float projectileDamageCoefficient; public static float projectileSpeed; public static float projectileSpeedPerProjectile; public static GameObject projectilePrefab; private OverlapAttack attack; private Animator modelAnimator; private float duration; private int slashCount; private Transform modelTransform; public int attacktype; public float stopwatch; public GameObject chargeInstance; public bool charger; public static float damagecoeff = 0.5f; public override void OnEnter() { //IL_0061: 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) ((BaseState)this).OnEnter(); duration = 2f / base.attackSpeedStat; modelAnimator = ((EntityState)this).GetModelAnimator(); modelTransform = ((EntityState)this).GetModelTransform(); projectileCount = 5; Transform val = ((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("Center"); if (Object.op_Implicit((Object)(object)val)) { chargeInstance = Object.Instantiate(ChargeMegaFireball.chargeEffectPrefab, val.position, val.rotation); chargeInstance.transform.parent = val; ScaleParticleSystemDuration component = chargeInstance.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.newDuration = duration; } } Util.PlaySound(FireVoidspikes.enterSoundString, ((EntityState)this).gameObject); projectilesfired = 0; if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody.SetAimTimer(duration); } } public override void OnExit() { if (Object.op_Implicit((Object)(object)chargeInstance)) { EntityState.Destroy((Object)(object)chargeInstance); } ((EntityState)this).OnExit(); } public override void FixedUpdate() { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_017c: 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_00e5: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); float num = ((!(base.attackSpeedStat > 4f)) ? duration : 0.5f); stopwatch += Time.fixedDeltaTime; Ray aimRay = ((BaseState)this).GetAimRay(); if (!((EntityState)this).inputBank.skill2.down && ((EntityState)this).isAuthority) { if (Object.op_Implicit((Object)(object)modelAnimator) && projectilesfired < projectileCount) { ((EntityState)this).PlayAnimation("Gesture, Override", "DoubleSlash", "DoubleSlash.playbackRate", baseDuration / base.attackSpeedStat, 0f); EffectManager.SimpleMuzzleFlash(FireVoidspikes.swipeEffectPrefab, ((EntityState)this).gameObject, "FireVoidspikesL", true); Util.PlaySound(FireVoidspikes.attackSoundString, ((EntityState)this).gameObject); Ray aimRay2 = ((BaseState)this).GetAimRay(); FireSpike(aimRay2, 0f, 0f, 175f); projectilesfired++; } if (projectilesfired >= projectileCount && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); return; } } if (((EntityState)this).isAuthority && ((EntityState)this).inputBank.skill2.down && stopwatch >= num) { Util.PlaySound(FireLaser.attackSoundString, ((EntityState)this).gameObject); FireLaser(((Ray)(ref aimRay)).direction); ((EntityState)this).outer.SetNextStateToMain(); } } private void FireLaser(Vector3 direction) { //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_001e: 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_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_0044: 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_0052: 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_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_0062: 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_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_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: 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_00d1: 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_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_00ea: 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_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_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_0134: 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_0142: 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_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_0155: 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_0172: 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_0188: 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_01af: 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_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: 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_01f0: Unknown result type (might be due to invalid IL or missing references) //IL_020b: 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_0215: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_021d: 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_022b: Unknown result type (might be due to invalid IL or missing references) //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_0231: 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_0239: Unknown result type (might be due to invalid IL or missing references) //IL_023e: 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_025b: Unknown result type (might be due to invalid IL or missing references) //IL_0266: Unknown result type (might be due to invalid IL or missing references) //IL_0271: 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_0298: 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_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_02b1: 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_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02ce: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) //IL_0302: Unknown result type (might be due to invalid IL or missing references) //IL_0304: Unknown result type (might be due to invalid IL or missing references) //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_030f: Unknown result type (might be due to invalid IL or missing references) //IL_0312: Unknown result type (might be due to invalid IL or missing references) //IL_0317: Unknown result type (might be due to invalid IL or missing references) //IL_031c: Unknown result type (might be due to invalid IL or missing references) //IL_0327: 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_0344: 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_036b: Unknown result type (might be due to invalid IL or missing references) //IL_0376: Unknown result type (might be due to invalid IL or missing references) //IL_037d: 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_0384: Unknown result type (might be due to invalid IL or missing references) //IL_038f: Unknown result type (might be due to invalid IL or missing references) //IL_0394: Unknown result type (might be due to invalid IL or missing references) //IL_03a0: 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_03c7: Unknown result type (might be due to invalid IL or missing references) //IL_03cc: Unknown result type (might be due to invalid IL or missing references) //IL_03d1: Unknown result type (might be due to invalid IL or missing references) //IL_03d2: 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_03e0: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Unknown result type (might be due to invalid IL or missing references) //IL_03e7: Unknown result type (might be due to invalid IL or missing references) //IL_03e8: Unknown result type (might be due to invalid IL or missing references) //IL_03ed: Unknown result type (might be due to invalid IL or missing references) //IL_03f0: Unknown result type (might be due to invalid IL or missing references) //IL_03f5: Unknown result type (might be due to invalid IL or missing references) //IL_03fa: 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_0417: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_042d: Unknown result type (might be due to invalid IL or missing references) //IL_0449: Unknown result type (might be due to invalid IL or missing references) //IL_0454: Unknown result type (might be due to invalid IL or missing references) //IL_045b: Unknown result type (might be due to invalid IL or missing references) //IL_045d: Unknown result type (might be due to invalid IL or missing references) //IL_0462: Unknown result type (might be due to invalid IL or missing references) BulletAttack val = new BulletAttack { owner = ((EntityState)this).gameObject, weapon = ((EntityState)this).gameObject, origin = ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("Neck")).transform.position, aimVector = direction, bulletCount = 1u, falloffModel = (FalloffModel)0 }; LayerIndex world = LayerIndex.world; val.stopperMask = ((LayerIndex)(ref world)).mask; val.procCoefficient = 1.01f; val.damage = damagecoeff * base.damageStat; val.force = 1000f; val.tracerEffectPrefab = LemPrefabs.ImpSecLaser; val.hitEffectPrefab = FireLaser.hitEffectPrefab; val.isCrit = Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master); val.radius = 1f; val.smartCollision = true; val.damageType = DamageTypeCombo.op_Implicit((DamageType)0); val.Fire(); BulletAttack val2 = new BulletAttack { owner = ((EntityState)this).gameObject, weapon = ((EntityState)this).gameObject, origin = ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("Neck")).transform.position, aimVector = direction, bulletCount = 1u, falloffModel = (FalloffModel)0 }; world = LayerIndex.world; val2.stopperMask = ((LayerIndex)(ref world)).mask; val2.procCoefficient = 1.01f; val2.damage = damagecoeff * base.damageStat; val2.force = 1000f; val2.tracerEffectPrefab = LemPrefabs.ImpSecLaser; val2.hitEffectPrefab = FireLaser.hitEffectPrefab; val2.isCrit = Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master); val2.radius = 1f; val2.smartCollision = true; val2.damageType = DamageTypeCombo.op_Implicit((DamageType)0); val2.Fire(); BulletAttack val3 = new BulletAttack { owner = ((EntityState)this).gameObject, weapon = ((EntityState)this).gameObject, origin = ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("Neck")).transform.position, aimVector = direction, bulletCount = 1u, falloffModel = (FalloffModel)0 }; world = LayerIndex.world; val3.stopperMask = ((LayerIndex)(ref world)).mask; val3.procCoefficient = 1.01f; val3.damage = damagecoeff * base.damageStat; val3.force = 1000f; val3.hitEffectPrefab = FireLaser.hitEffectPrefab; val3.isCrit = Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master); val3.radius = 1f; val3.smartCollision = true; val3.damageType = DamageTypeCombo.op_Implicit((DamageType)0); val3.Fire(); BulletAttack val4 = new BulletAttack { owner = ((EntityState)this).gameObject, weapon = ((EntityState)this).gameObject, origin = ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("Neck")).transform.position, aimVector = direction, bulletCount = 1u, falloffModel = (FalloffModel)0 }; world = LayerIndex.world; val4.stopperMask = ((LayerIndex)(ref world)).mask; val4.procCoefficient = 1.01f; val4.damage = damagecoeff * base.damageStat; val4.force = 1000f; val4.hitEffectPrefab = FireLaser.hitEffectPrefab; val4.isCrit = Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master); val4.radius = 1f; val4.smartCollision = true; val4.damageType = DamageTypeCombo.op_Implicit((DamageType)0); val4.Fire(); BulletAttack val5 = new BulletAttack { owner = ((EntityState)this).gameObject, weapon = ((EntityState)this).gameObject, origin = ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("Neck")).transform.position, aimVector = direction, bulletCount = 1u, falloffModel = (FalloffModel)0 }; world = LayerIndex.world; val5.stopperMask = ((LayerIndex)(ref world)).mask; val5.procCoefficient = 1.01f; val5.damage = damagecoeff * base.damageStat; val5.force = 1000f; val5.hitEffectPrefab = FireLaser.hitEffectPrefab; val5.isCrit = Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master); val5.radius = 1f; val5.smartCollision = true; val5.damageType = DamageTypeCombo.op_Implicit((DamageType)0); val5.Fire(); } private void FireSpike(Ray aimRay, float bonusPitch, float bonusYaw, float speed) { //IL_0003: 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_002b: 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_003d: 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) Vector3 val = Util.ApplySpread(((Ray)(ref aimRay)).direction, 0f, 5f, 1f, 1f, 0f, 0f); ProjectileManager.instance.FireProjectile(Imp.VoidSpike, ((Ray)(ref aimRay)).origin, Util.QuaternionSafeLookRotation(val), ((EntityState)this).gameObject, base.damageStat * damageCoefficient, 0f, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, 175f, (DamageTypeCombo?)null); } 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 BleedSpecial : BaseState { private Transform modelTransform; public static GameObject blinkPrefab; public static Material destealthMaterial; private Vector3 blinkDestination = Vector3.zero; private Vector3 blinkStart = Vector3.zero; public static float duration = 1f; public static string beginSoundString; public static string endSoundString; private Animator animator; private CharacterModel characterModel; private HurtBoxGroup hurtboxGroup; public BlastAttack blast; public float stopWatch; public float stopwatchBetweenShots; public float durationBetweenShots; public float blastCount; public float totalBulletsFired; public int attacktype; private AimRequest aimRequest; public override void OnEnter() { //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_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_0128: 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_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0142: 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_0158: 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_0174: 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_0190: Expected O, but got Unknown ((BaseState)this).OnEnter(); ((EntityState)this).characterBody.isSprinting = true; Util.PlaySound(BlinkState.beginSoundString, ((EntityState)this).gameObject); modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { animator = ((Component)modelTransform).GetComponent(); characterModel = ((Component)modelTransform).GetComponent(); hurtboxGroup = ((Component)modelTransform).GetComponent(); } if (Object.op_Implicit((Object)(object)characterModel)) { CharacterModel obj = characterModel; int invisibilityCount = obj.invisibilityCount; obj.invisibilityCount = invisibilityCount + 1; } if (Object.op_Implicit((Object)(object)hurtboxGroup)) { HurtBoxGroup val = hurtboxGroup; int hurtBoxesDeactivatorCounter = val.hurtBoxesDeactivatorCounter + 1; val.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter; } attacktype = 0; blastCount = 5f; durationBetweenShots = duration / blastCount; blinkDestination = ((EntityState)this).transform.position; blinkStart = ((EntityState)this).transform.position; NodeGraph groundNodes = SceneInfo.instance.groundNodes; NodeIndex val2 = groundNodes.FindClosestNode(((EntityState)this).transform.position, ((EntityState)this).characterBody.hullClassification, float.PositiveInfinity); groundNodes.GetNodePosition(val2, ref blinkDestination); CreateBlinkEffect(Util.GetCorePosition(((EntityState)this).gameObject)); EffectManager.SpawnEffect(LemPrefabs.ImpSpecialBlink, new EffectData { origin = ((EntityState)this).transform.position, scale = 2.5f }, true); ((EntityState)this).characterBody.baseJumpPower = 26f; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { aimRequest = ((EntityState)this).cameraTargetParams.RequestAimType((AimType)2); } } private void CreateBlinkEffect(Vector3 origin) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: 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) EffectData val = new EffectData(); val.rotation = Util.QuaternionSafeLookRotation(blinkDestination - blinkStart); val.origin = origin; EffectManager.SpawnEffect(BlinkState.blinkPrefab, val, false); } public override void FixedUpdate() { //IL_0069: 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_0120: 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_013c: Expected O, but got Unknown //IL_013e: 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_028b: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Unknown result type (might be due to invalid IL or missing references) //IL_0330: 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_033c: Unknown result type (might be due to invalid IL or missing references) //IL_0347: Unknown result type (might be due to invalid IL or missing references) //IL_0358: Expected O, but got Unknown ((EntityState)this).FixedUpdate(); stopWatch += Time.fixedDeltaTime; stopwatchBetweenShots += Time.fixedDeltaTime; if (((EntityState)this).isAuthority && !((EntityState)this).inputBank.skill4.down && stopWatch < 1.25f) { attacktype = 1; CreateBlinkEffect(Util.GetCorePosition(((EntityState)this).gameObject)); } if (attacktype == 0 && ((EntityState)this).isAuthority && stopWatch > 0.25f && ((EntityState)this).inputBank.skill4.down) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.CloakSpeed, 0.1f); } if ((((ButtonState)(ref ((EntityState)this).inputBank.skill4)).justReleased ^ (stopWatch >= 2.5f)) && ((EntityState)this).isAuthority && attacktype == 0 && stopWatch >= 0.26f) { EffectManager.SpawnEffect(LemPrefabs.ImpSpecialSlam, new EffectData { origin = ((EntityState)this).transform.position, scale = 7.5f }, true); detonate(); Util.PlaySound(BlinkState.endSoundString, ((EntityState)this).gameObject); CreateBlinkEffect(Util.GetCorePosition(((EntityState)this).gameObject)); modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform) && Object.op_Implicit((Object)(object)BlinkState.destealthMaterial)) { TemporaryOverlayInstance val = TemporaryOverlayManager.AddOverlay(((Component)((Component)modelTransform).GetComponent()).gameObject); val.duration = 1.5f; val.destroyComponentOnEnd = true; val.originalMaterial = BlinkState.destealthMaterial; val.inspectorCharacterModel = ((Component)animator).gameObject.GetComponent(); val.alphaCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); val.animateShaderAlpha = true; } Util.PlaySound(GroundPound.initialAttackSoundString, ((EntityState)this).gameObject); ((EntityState)this).outer.SetNextStateToMain(); } if (stopwatchBetweenShots >= durationBetweenShots && totalBulletsFired < blastCount && attacktype == 1) { Util.PlaySound(GroundPound.initialAttackSoundString, ((EntityState)this).gameObject); ((Behaviour)((EntityState)this).characterMotor).enabled = false; stopwatchBetweenShots -= durationBetweenShots; Ray aimRay = ((BaseState)this).GetAimRay(); Transform val2 = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)val2)) { TemporaryOverlayInstance val3 = TemporaryOverlayManager.AddOverlay(((Component)((Component)modelTransform).GetComponent()).gameObject); val3.duration = 1.5f; val3.destroyComponentOnEnd = true; val3.originalMaterial = BlinkState.destealthMaterial; val3.inspectorCharacterModel = ((Component)((Component)modelTransform).GetComponent()).gameObject.GetComponent(); val3.alphaCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); val3.animateShaderAlpha = true; } detonate2(); EffectManager.SpawnEffect(LemPrefabs.ImpSpecialSlam, new EffectData { origin = ((EntityState)this).transform.position, scale = 7.5f }, true); ((EntityState)this).PlayAnimation("Gesture, Override", "DoubleSlash", "DoubleSlash.playbackRate", duration / blastCount, 0f); totalBulletsFired += 1f; if (totalBulletsFired == blastCount && ((EntityState)this).isAuthority) { ((Behaviour)((EntityState)this).characterMotor).enabled = true; ((EntityState)this).outer.SetNextStateToMain(); } } } protected Result detonate() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_004c: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: 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_0085: 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_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_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_00a3: 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_00b0: Unknown result type (might be due to invalid IL or missing references) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = base.damageStat * 10f, procCoefficient = 1.01f, damageType = DamageTypeCombo.op_Implicit((DamageType)0), crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), position = ((Component)((EntityState)this).characterBody).transform.position, radius = 7.5f, falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } protected Result detonate2() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_004c: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: 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_0085: 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_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_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_00a3: 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_00b0: Unknown result type (might be due to invalid IL or missing references) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = base.damageStat * 2f, procCoefficient = 1.01f, damageType = DamageTypeCombo.op_Implicit((DamageType)0), crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), position = ((Component)((EntityState)this).characterBody).transform.position, radius = 7.5f, falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } public override void OnExit() { ((EntityState)this).characterBody.baseJumpPower = 18f; if (Object.op_Implicit((Object)(object)hurtboxGroup)) { HurtBoxGroup val = hurtboxGroup; int hurtBoxesDeactivatorCounter = val.hurtBoxesDeactivatorCounter - 1; val.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter; } if (Object.op_Implicit((Object)(object)characterModel)) { CharacterModel obj = characterModel; int invisibilityCount = obj.invisibilityCount; obj.invisibilityCount = invisibilityCount - 1; } ((EntityState)this).PlayAnimation("Gesture, Additive", "BlinkEnd"); AimRequest val2 = aimRequest; if (val2 != null) { val2.Dispose(); } ((EntityState)this).OnExit(); } 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 BleedUtil : BaseState { private Transform modelTransform; public static GameObject blinkPrefab; private float stopwatch; private Vector3 blinkVector = Vector3.zero; public float duration = 0.2f; public float speedCoefficient = 11f; public string beginSoundString; public string endSoundString; private CharacterModel characterModel; private HurtBoxGroup hurtboxGroup; public override void OnEnter() { //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_00c0: 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_00f2: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); Util.PlaySound(BlinkState.beginSoundString, ((EntityState)this).gameObject); modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { characterModel = ((Component)modelTransform).GetComponent(); hurtboxGroup = ((Component)modelTransform).GetComponent(); } if (Object.op_Implicit((Object)(object)characterModel)) { CharacterModel obj = characterModel; int invisibilityCount = obj.invisibilityCount; obj.invisibilityCount = invisibilityCount + 1; } if (Object.op_Implicit((Object)(object)hurtboxGroup)) { HurtBoxGroup val = hurtboxGroup; int hurtBoxesDeactivatorCounter = val.hurtBoxesDeactivatorCounter + 1; val.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter; } blinkVector = GetBlinkVector(); CreateBlinkEffect(Util.GetCorePosition(((EntityState)this).gameObject)); if (((EntityState)this).isAuthority) { ProjectileManager.instance.FireProjectile(Imp.VoidSpike, ((EntityState)this).characterBody.footPosition, Util.QuaternionSafeLookRotation(Vector3.down), ((EntityState)this).gameObject, base.damageStat * BleedSec.damageCoefficient, 0f, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } } protected virtual Vector3 GetBlinkVector() { //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 ((EntityState)this).inputBank.aimDirection; } private void CreateBlinkEffect(Vector3 origin) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //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_0013: 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) EffectData val = new EffectData(); val.rotation = Util.QuaternionSafeLookRotation(blinkVector); val.origin = origin; EffectManager.SpawnEffect(BlinkState.blinkPrefab, val, false); } public override void FixedUpdate() { //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_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0058: 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_007a: 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) ((EntityState)this).FixedUpdate(); stopwatch += ((EntityState)this).GetDeltaTime(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += blinkVector * (base.moveSpeedStat * speedCoefficient * Time.fixedDeltaTime); } if (stopwatch >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); detonate(); } } public override void OnExit() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) if (!((EntityState)this).outer.destroying) { Util.PlaySound(BlinkState.endSoundString, ((EntityState)this).gameObject); CreateBlinkEffect(Util.GetCorePosition(((EntityState)this).gameObject)); modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { TemporaryOverlayInstance val = TemporaryOverlayManager.AddOverlay(((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent()).gameObject); val.duration = 1f; val.destroyComponentOnEnd = true; val.originalMaterial = BlinkState.destealthMaterial; val.inspectorCharacterModel = ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent()).gameObject.GetComponent(); val.alphaCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); val.animateShaderAlpha = true; } } if (Object.op_Implicit((Object)(object)characterModel)) { CharacterModel obj = characterModel; int invisibilityCount = obj.invisibilityCount; obj.invisibilityCount = invisibilityCount - 1; } if (Object.op_Implicit((Object)(object)hurtboxGroup)) { HurtBoxGroup val2 = hurtboxGroup; int hurtBoxesDeactivatorCounter = val2.hurtBoxesDeactivatorCounter - 1; val2.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter; } if (((EntityState)this).isAuthority) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.SlashBuff, 5f); ((EntityState)this).characterBody.AddTimedBuff(Buffs.CloakSpeed, 1f); ((EntityState)this).characterBody.isSprinting = true; } ((EntityState)this).OnExit(); } protected Result detonate() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: 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_0080: 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_008a: 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_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_009e: 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_00a8: 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) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = base.damageStat, procCoefficient = 1f, damageType = DamageTypeCombo.op_Implicit((DamageType)32), crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), position = ((Component)((EntityState)this).characterBody).transform.position, radius = 5f, falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } 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 BleedUtil2 : BaseState { private Transform modelTransform; public static GameObject blinkPrefab; public static Material destealthMaterial; private float stopwatch; private Vector3 blinkDestination = Vector3.zero; private Vector3 blinkStart = Vector3.zero; public static float duration = 0.3f; public static float blinkDistance = 15f; public static string beginSoundString; public static string endSoundString; private Animator animator; private CharacterModel characterModel; private HurtBoxGroup hurtboxGroup; public override void OnEnter() { //IL_00ea: 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_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0112: 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_0133: 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_013f: 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_014e: 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_015f: 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_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017a: 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_0184: 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_01b8: 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_01c2: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); Util.PlaySound(BlinkState.beginSoundString, ((EntityState)this).gameObject); modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { animator = ((Component)modelTransform).GetComponent(); characterModel = ((Component)modelTransform).GetComponent(); hurtboxGroup = ((Component)modelTransform).GetComponent(); } if (Object.op_Implicit((Object)(object)characterModel)) { CharacterModel obj = characterModel; int invisibilityCount = obj.invisibilityCount; obj.invisibilityCount = invisibilityCount + 1; } if (Object.op_Implicit((Object)(object)hurtboxGroup)) { HurtBoxGroup val = hurtboxGroup; int hurtBoxesDeactivatorCounter = val.hurtBoxesDeactivatorCounter + 1; val.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((Behaviour)((EntityState)this).characterMotor).enabled = false; } Vector3 val2 = ((EntityState)this).inputBank.moveVector * blinkDistance; blinkDestination = ((EntityState)this).transform.position; blinkStart = ((EntityState)this).transform.position; NodeGraph groundNodes = SceneInfo.instance.groundNodes; NodeIndex val3 = groundNodes.FindClosestNode(((EntityState)this).transform.position + val2, ((EntityState)this).characterBody.hullClassification, float.PositiveInfinity); groundNodes.GetNodePosition(val3, ref blinkDestination); blinkDestination += ((EntityState)this).transform.position - ((EntityState)this).characterBody.footPosition; CreateBlinkEffect(Util.GetCorePosition(((EntityState)this).gameObject)); if (((EntityState)this).isAuthority) { ProjectileManager.instance.FireProjectile(Imp.VoidSpike, ((EntityState)this).characterBody.footPosition, Util.QuaternionSafeLookRotation(Vector3.down), ((EntityState)this).gameObject, base.damageStat * BleedSec.damageCoefficient, 0f, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } } private void CreateBlinkEffect(Vector3 origin) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: 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) EffectData val = new EffectData(); val.rotation = Util.QuaternionSafeLookRotation(blinkDestination - blinkStart); val.origin = origin; EffectManager.SpawnEffect(BlinkState.blinkPrefab, val, false); } private void SetPosition(Vector3 newPosition) { //IL_001c: 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) if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((BaseCharacterController)((EntityState)this).characterMotor).Motor.SetPositionAndRotation(newPosition, Quaternion.identity, true); } } public override void FixedUpdate() { //IL_004d: 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_0064: 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_008b: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); stopwatch += Time.fixedDeltaTime; if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; } SetPosition(Vector3.Lerp(blinkStart, blinkDestination, stopwatch / BlinkState.duration)); if (stopwatch >= BlinkState.duration && ((EntityState)this).isAuthority) { detonate(); ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) Util.PlaySound(BlinkState.endSoundString, ((EntityState)this).gameObject); CreateBlinkEffect(Util.GetCorePosition(((EntityState)this).gameObject)); modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform) && Object.op_Implicit((Object)(object)BlinkState.destealthMaterial)) { TemporaryOverlay val = ((Component)animator).gameObject.AddComponent(); val.duration = 1f; val.destroyComponentOnEnd = true; val.originalMaterial = BlinkState.destealthMaterial; val.inspectorCharacterModel = ((Component)animator).gameObject.GetComponent(); val.alphaCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); val.animateShaderAlpha = true; } if (Object.op_Implicit((Object)(object)characterModel)) { CharacterModel obj = characterModel; int invisibilityCount = obj.invisibilityCount; obj.invisibilityCount = invisibilityCount - 1; } if (Object.op_Implicit((Object)(object)hurtboxGroup)) { HurtBoxGroup val2 = hurtboxGroup; int hurtBoxesDeactivatorCounter = val2.hurtBoxesDeactivatorCounter - 1; val2.hurtBoxesDeactivatorCounter = hurtBoxesDeactivatorCounter; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((Behaviour)((EntityState)this).characterMotor).enabled = true; } ((EntityState)this).PlayAnimation("Gesture, Additive", "BlinkEnd"); if (((EntityState)this).isAuthority) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.SlashBuff, 5f); ((EntityState)this).characterBody.AddTimedBuff(Buffs.CloakSpeed, 1f); ((EntityState)this).characterBody.isSprinting = true; } ((EntityState)this).OnExit(); } protected Result detonate() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: 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_0080: 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_008a: 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_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_009e: 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_00a8: 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) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = base.damageStat, procCoefficient = 1f, damageType = DamageTypeCombo.op_Implicit((DamageType)32), crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), position = ((Component)((EntityState)this).characterBody).transform.position, radius = 5f, falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } 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 LunarPrimary : BaseState { public GameObject effectPrefab; public GameObject projectilePrefab = LunarExploder.LunarPrimProjectile; public float damageCoefficient = 2f; public float force; public float minSpread; public float maxSpread; public float baseDuration = 0.75f; public float recoilAmplitude = 0f; public string attackSoundString; public float projectilePitchBonus; public float baseDelayBeforeFiringProjectile = 0.35f; public string targetMuzzle; public float bloom; private float stopwatch; private float duration; private float delayBeforeFiringProjectile; private GameObject aimSphere; private Vector3 explosition; public override void OnEnter() { //IL_009b: 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) ((BaseState)this).OnEnter(); stopwatch = 0f; duration = baseDuration / base.attackSpeedStat; delayBeforeFiringProjectile = baseDelayBeforeFiringProjectile / base.attackSpeedStat; aimSphere = Object.Instantiate(LemPrefabs.LunDicator); if (Loader.LunarAimBubble.Value) { aimSphere.transform.localScale = new Vector3(2.5f, 2.5f, 2.5f); } else { aimSphere.transform.localScale = new Vector3(0f, 0f, 0f); } } public override void OnExit() { if (Object.op_Implicit((Object)(object)aimSphere)) { EntityState.Destroy((Object)(object)aimSphere.gameObject); } ((EntityState)this).OnExit(); } private void updateAreaIndicator() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: 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_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002c: 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_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_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: 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_00fb: 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) //IL_0117: 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_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_005a: 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_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_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_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_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) float num = 1000f; Ray aimRay = ((BaseState)this).GetAimRay(); LayerIndex val = LayerIndex.world; int num2 = LayerMask.op_Implicit(((LayerIndex)(ref val)).mask); val = LayerIndex.entityPrecise; RaycastHit val2 = default(RaycastHit); Ray aimRay2; if (Physics.Raycast(aimRay, ref val2, num, num2 | LayerMask.op_Implicit(((LayerIndex)(ref val)).mask))) { aimSphere.transform.position = ((RaycastHit)(ref val2)).point + Vector3.up; aimSphere.transform.up = ((RaycastHit)(ref val2)).normal; Transform transform = aimSphere.transform; aimRay2 = ((BaseState)this).GetAimRay(); transform.forward = -((Ray)(ref aimRay2)).direction; explosition = ((RaycastHit)(ref val2)).point + Vector3.up; } else { Ray aimRay3 = ((BaseState)this).GetAimRay(); Vector3 position = ((Ray)(ref aimRay3)).origin + num * ((Ray)(ref aimRay3)).direction; aimSphere.transform.position = position; aimSphere.transform.up = ((RaycastHit)(ref val2)).normal; Transform transform2 = aimSphere.transform; aimRay2 = ((BaseState)this).GetAimRay(); transform2.forward = -((Ray)(ref aimRay2)).direction; } } public override void FixedUpdate() { //IL_0037: 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_0047: 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_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Expected O, but got Unknown //IL_006b: 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_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Expected O, but got Unknown ((EntityState)this).FixedUpdate(); stopwatch += Time.fixedDeltaTime; if (stopwatch >= duration && ((EntityState)this).isAuthority) { detonate(); EffectManager.SpawnEffect(LemPrefabs.NullifierExlpo, new EffectData { origin = explosition, scale = 7.5f }, true); EffectManager.SpawnEffect(DeathState.deathExplosionEffect, new EffectData { origin = explosition, scale = 7.5f }, true); ((EntityState)this).outer.SetNextStateToMain(); } else if (((ButtonState)(ref ((EntityState)this).inputBank.skill1)).justReleased) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void Update() { ((EntityState)this).Update(); updateAreaIndicator(); } protected Result detonate() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_0063: 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_0079: 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_0085: 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_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: 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_00b1: 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_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_00c2: 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) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = base.damageStat * damageCoefficient, crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), baseForce = 0f, procCoefficient = 1f, damageType = new DamageTypeCombo { damageType = (DamageType)0, damageSource = (DamageSource)1 }, position = explosition, radius = 7.5f, falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } 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 LunarUtility : BaseState { private GameObject aimSphere; private GameObject projectilePrefab; public float radius = 10f; private float maxDistance = 75f; private float bombDamage = 7.5f; private Ray aimRay; private AimRequest aimRequest; public override void OnEnter() { //IL_0042: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); aimSphere = Object.Instantiate(LemPrefabs.LunDicator); projectilePrefab = LunarExploder.LunarDot; ((Component)projectilePrefab.GetComponent()).transform.localScale = new Vector3(0.85f, 0.85f, 0.85f); if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { aimRequest = ((EntityState)this).cameraTargetParams.RequestAimType((AimType)2); } } public override void Update() { ((EntityState)this).Update(); UpdateAreaIndicator(); } public override void OnExit() { if (((EntityState)this).isAuthority) { Explode(); } EntityState.Destroy((Object)(object)aimSphere.gameObject); AimRequest val = aimRequest; if (val != null) { val.Dispose(); } ((EntityState)this).OnExit(); } public override void FixedUpdate() { //IL_0037: 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_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_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) ((EntityState)this).FixedUpdate(); if (((EntityState)this).isAuthority && ((ButtonState)(ref ((EntityState)this).inputBank.skill3)).justReleased && ((EntityState)this).isAuthority) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += aimSphere.transform.position - ((EntityState)this).characterBody.corePosition; ((EntityState)this).outer.SetNextStateToMain(); } } private void UpdateAreaIndicator() { //IL_0037: 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_0042: 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) //IL_0058: 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_0067: 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) //IL_0029: 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_00e8: 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_0104: 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_0124: 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) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_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_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) if (((EntityState)this).isAuthority) { aimSphere.transform.localScale = new Vector3(radius, radius, radius); } aimRay = ((BaseState)this).GetAimRay(); Ray val = ((BaseState)this).GetAimRay(); float num = maxDistance; LayerIndex val2 = LayerIndex.world; int num2 = LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask); val2 = LayerIndex.entityPrecise; RaycastHit val3 = default(RaycastHit); if (Physics.Raycast(val, ref val3, num, num2 | LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask))) { aimSphere.transform.position = ((RaycastHit)(ref val3)).point + Vector3.up; aimSphere.transform.up = ((RaycastHit)(ref val3)).normal; aimSphere.transform.forward = -((Ray)(ref aimRay)).direction; } else { Ray val4 = ((BaseState)this).GetAimRay(); Vector3 position = ((Ray)(ref val4)).origin + maxDistance * ((Ray)(ref val4)).direction; aimSphere.transform.position = position; aimSphere.transform.up = ((RaycastHit)(ref val3)).normal; aimSphere.transform.forward = -((Ray)(ref aimRay)).direction; } } protected Result detonate() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_004d: 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_0058: 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_007e: 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_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: 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_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_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_00c1: Unknown result type (might be due to invalid IL or missing references) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = base.damageStat * bombDamage, procCoefficient = 1.01f, damageType = DamageTypeCombo.op_Implicit((DamageType)4194304), crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), position = aimSphere.transform.position, radius = radius, baseForce = 0f, falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } 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 void Explode() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_001e: 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_003b: Expected O, but got Unknown //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_0052: 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_0075: Expected O, but got Unknown //IL_007b: 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_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Expected O, but got Unknown //IL_00c0: 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_0115: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_012e: 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_018a: Invalid comparison between Unknown and I4 //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: 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_01d4: 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_0238: 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_0243: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_0254: Unknown result type (might be due to invalid IL or missing references) //IL_0260: 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_026d: 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_0274: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_0287: Unknown result type (might be due to invalid IL or missing references) //IL_028c: 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_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_029b: 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) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02ab: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Expected O, but got Unknown detonate(); EffectManager.SpawnEffect(LemPrefabs.NullifierExlpo, new EffectData { origin = aimSphere.transform.position, scale = radius }, false); EffectManager.SpawnEffect(LemPrefabs.LunGolDeath, new EffectData { origin = aimSphere.transform.position, scale = radius - 2.5f }, true); EffectManager.SpawnEffect(DeathState.deathExplosionEffect, new EffectData { origin = aimSphere.transform.position, scale = radius }, true); ProjectileManager.instance.FireProjectile(projectilePrefab, aimSphere.transform.position, ((Component)((EntityState)this).characterBody).transform.rotation, ((EntityState)this).gameObject, base.damageStat, 0f, false, (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); if (!NetworkServer.active) { return; } Vector3 position = aimSphere.transform.position; float num = radius + 5f; LayerIndex defaultLayer = LayerIndex.defaultLayer; Collider[] array = Physics.OverlapSphere(position, num, LayerMask.op_Implicit(((LayerIndex)(ref defaultLayer)).mask)); for (int i = 0; i < array.Length; i++) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.ArmorBuff2, 5f); HealthComponent component = ((Component)array[i]).GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { continue; } TeamComponent component2 = ((Component)component).GetComponent(); if ((int)component2.teamIndex == 1) { continue; } CharacterBody body = component.body; if (Object.op_Implicit((Object)(object)body)) { Vector3 val = (aimSphere.transform.position - body.corePosition) * 5f; CharacterMotor component3 = ((Component)body).GetComponent(); Rigidbody component4 = ((Component)body).GetComponent(); float num2 = 1f; if (Object.op_Implicit((Object)(object)component3)) { num2 = component3.mass; } else if (Object.op_Implicit((Object)(object)component4)) { num2 = component4.mass; } if (num2 < 100f) { num2 = 100f; } val *= num2; DamageInfo val2 = new DamageInfo { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, damage = 0f, damageColorIndex = (DamageColorIndex)0, damageType = DamageTypeCombo.op_Implicit((DamageType)0), crit = false, dotIndex = (DotIndex)(-1), force = val, position = ((EntityState)this).transform.position, procChainMask = default(ProcChainMask), procCoefficient = 0f }; body.healthComponent.TakeDamageForce(val2, true, true); body.AddTimedBuff(Buffs.Nullified, 3f); } } } } public class LunarSpecial : BaseState { public float damageCoefficient = 15f; public float radius = 25f; public float blastradius = 10f; public GameObject projectilePrefab; public static GameObject exploprefab; public override void OnEnter() { //IL_0032: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); projectilePrefab = LunarExploder.LunarDot; ((Component)projectilePrefab.GetComponent()).transform.localScale = new Vector3(1.85f, 1.85f, 1.85f); exploprefab = LemPrefabs.LunGolDeath; } public override void FixedUpdate() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if (((EntityState)this).isAuthority) { Explode(); detonateAuthority(); Util.PlaySound(FireLaser.attackSoundString, ((EntityState)this).gameObject); } ((EntityState)this).outer.SetNextStateToMain(); } public override void OnExit() { ((EntityState)this).OnExit(); } private void Explode() { //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_0068: 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: Expected O, but got Unknown //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0097: 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_00ba: Expected O, but got Unknown //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_00cc: 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_00e9: Expected O, but got Unknown //IL_0111: 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) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Expected O, but got Unknown //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_0055: Expected O, but got Unknown //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0173: 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_0183: 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_0247: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_024f: Unknown result type (might be due to invalid IL or missing references) //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Expected O, but got Unknown //IL_0272: Unknown result type (might be due to invalid IL or missing references) //IL_0277: 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_0285: Unknown result type (might be due to invalid IL or missing references) //IL_0297: Expected O, but got Unknown //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: Expected O, but got Unknown if (Loader.LunarBlackExplo.Value) { DeathState val = new DeathState(); exploprefab = Object.Instantiate(val.explosionEffectPrefab); EffectManager.SpawnEffect(val.explosionEffectPrefab, new EffectData { origin = ((EntityState)this).transform.position, scale = radius }, true); } EffectManager.SpawnEffect(DeathState.deathExplosionEffect, new EffectData { origin = ((EntityState)this).transform.position, scale = radius }, true); EffectManager.SpawnEffect(LemPrefabs.NullifierExlpo, new EffectData { origin = ((EntityState)this).transform.position, scale = radius / 2f }, false); EffectManager.SpawnEffect(LemPrefabs.LunGolShieldCharge, new EffectData { origin = ((EntityState)this).transform.position, scale = radius }, false); Util.PlaySound(FireLaser.attackSoundString, ((EntityState)this).gameObject); ProjectileManager.instance.FireProjectile(projectilePrefab, ((Component)((EntityState)this).characterBody).transform.position, ((Component)((EntityState)this).characterBody).transform.rotation, ((EntityState)this).gameObject, base.damageStat, 0f, false, (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); if (!NetworkServer.active) { return; } _ = ((EntityState)this).transform.position; if (1 == 0) { return; } Vector3 position = ((EntityState)this).transform.position; float num = radius; LayerIndex entityPrecise = LayerIndex.entityPrecise; Collider[] array = Physics.OverlapSphere(position, num, LayerMask.op_Implicit(((LayerIndex)(ref entityPrecise)).mask)); CharacterBody[] array2 = (CharacterBody[])(object)new CharacterBody[array.Length]; int count = 0; for (int i = 0; i < array.Length; i++) { CharacterBody val2 = Util.HurtBoxColliderToBody(array[i]); if (Object.op_Implicit((Object)(object)val2) && !((Object)(object)val2 == (Object)(object)((EntityState)this).characterBody) && Array.IndexOf(array2, val2, 0, count) == -1) { array2[count++] = val2; } } CharacterBody[] array3 = array2; foreach (CharacterBody val3 in array3) { if (Object.op_Implicit((Object)(object)val3) && Object.op_Implicit((Object)(object)val3.healthComponent)) { EffectManager.SpawnEffect(exploprefab, new EffectData { origin = val3.corePosition, scale = blastradius }, true); EffectManager.SpawnEffect(LemPrefabs.NullifierExlpo, new EffectData { origin = val3.corePosition, scale = blastradius }, true); EffectManager.SpawnEffect(DeathState.deathExplosionEffect, new EffectData { origin = val3.corePosition, scale = blastradius + 2.5f }, true); } } } protected Result detonateAuthority() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_0063: 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_0079: 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_0080: 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_00a2: 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_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_00b5: 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) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = base.damageStat * damageCoefficient, crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), baseForce = 0f, procCoefficient = 1f, damageType = DamageTypeCombo.op_Implicit((DamageType)0), position = ((EntityState)this).characterBody.corePosition, radius = radius, falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } 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 class LunarSecondary : BaseState { public float damageCoefficient = 5f; public float force = 0f; public GameObject projectilePrefab; public override void OnEnter() { //IL_0032: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); projectilePrefab = LunarExploder.LunarDot; ((Component)projectilePrefab.GetComponent()).transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); } public override void FixedUpdate() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if (((EntityState)this).isAuthority) { Explode(); detonateAuthority(); } ((EntityState)this).outer.SetNextStateToMain(); } public override void OnExit() { ((EntityState)this).OnExit(); } private void Explode() { //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_0012: 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_002e: Expected O, but got Unknown //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_0040: 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_005c: Expected O, but got Unknown //IL_0062: 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_006e: 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_008a: Expected O, but got Unknown //IL_00a1: 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_0144: 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) EffectManager.SpawnEffect(LemPrefabs.LunGolDeath, new EffectData { origin = ((EntityState)this).transform.position, scale = 10f }, true); EffectManager.SpawnEffect(DeathState.deathExplosionEffect, new EffectData { origin = ((EntityState)this).transform.position, scale = DeathState.deathExplosionRadius }, true); EffectManager.SpawnEffect(LemPrefabs.NullifierExlpo, new EffectData { origin = ((EntityState)this).transform.position, scale = 10f }, true); ProjectileManager.instance.FireProjectile(projectilePrefab, ((Component)((EntityState)this).characterBody).transform.position, ((Component)((EntityState)this).characterBody).transform.rotation, ((EntityState)this).gameObject, base.damageStat, 0f, false, (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { if (((EntityState)this).characterMotor.isGrounded) { ((EntityState)this).characterMotor.ApplyForce(new Vector3(0f, 11000f, 0f), false, false); } else { ((EntityState)this).characterMotor.ApplyForce(new Vector3(0f, 8000f, 0f), false, false); } } } protected Result detonateAuthority() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_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_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: 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_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_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_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_00ac: 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_00b6: 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) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = base.damageStat * damageCoefficient, crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), baseForce = force, procCoefficient = 1f, damageType = DamageTypeCombo.op_Implicit((DamageType)32), position = ((EntityState)this).transform.position, radius = 10f, falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } 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 static class ImpItemDisplays { internal static ItemDisplayRuleSet itemDisplayRuleSet; internal static List itemDisplayRules; private static Dictionary itemDisplayPrefabs = new Dictionary(); internal static void InitializeItemDisplays() { PopulateDisplays(); CharacterModel componentInChildren = Imp.myCharacter.GetComponentInChildren(); itemDisplayRuleSet = ScriptableObject.CreateInstance(); ((Object)itemDisplayRuleSet).name = "idrsImp"; componentInChildren.itemDisplayRuleSet = itemDisplayRuleSet; } internal static void SetItemDisplays() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_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) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0094: 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_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: 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_00ca: 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_00eb: 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_0112: 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_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_0146: 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_0164: 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_0180: 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_0193: 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_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_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_01e0: 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_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021a: 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_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_024b: 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_027a: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: 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_02d9: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Unknown result type (might be due to invalid IL or missing references) //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) //IL_0316: 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_0320: 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_0345: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) //IL_0360: 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_0398: Unknown result type (might be due to invalid IL or missing references) //IL_03ae: 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_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03ce: Unknown result type (might be due to invalid IL or missing references) //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Unknown result type (might be due to invalid IL or missing references) //IL_03ec: Expected O, but got Unknown //IL_03ec: Unknown result type (might be due to invalid IL or missing references) //IL_03ee: Unknown result type (might be due to invalid IL or missing references) //IL_03f8: Unknown result type (might be due to invalid IL or missing references) //IL_03f9: Unknown result type (might be due to invalid IL or missing references) //IL_03fe: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_0434: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Unknown result type (might be due to invalid IL or missing references) //IL_0475: 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) //IL_0490: 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_04ab: Unknown result type (might be due to invalid IL or missing references) //IL_04b3: 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_04c9: Expected O, but got Unknown //IL_04c9: Unknown result type (might be due to invalid IL or missing references) //IL_04cb: Unknown result type (might be due to invalid IL or missing references) //IL_04d5: Unknown result type (might be due to invalid IL or missing references) //IL_04d6: Unknown result type (might be due to invalid IL or missing references) //IL_04db: Unknown result type (might be due to invalid IL or missing references) itemDisplayRules = new List(); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixRed, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixRed) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixBlue, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixBlue) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixWhite, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixWhite) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixPoison, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixPoison) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixHaunted, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixHaunted) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixLunar, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixLunar) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.EliteVoidEquipment, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteVoidEquipment) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.EliteAurelioniteEquipment, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteAurelioniteEquipment) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.EliteBeadEquipment, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteBeadEquipment) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Addressables.LoadAssetAsync((object)"RoR2/DLC1/EliteEarth/EliteEarthEquipment.asset").WaitForCompletion(), displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Addressables.LoadAssetAsync((object)"RoR2/DLC1/EliteEarth/EliteEarthEquipment.asset").WaitForCompletion()) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.Jetpack, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("RoR2/Base/Jetpack/DisplayBugWings"), childName = "Neck", localPos = new Vector3(0f, -1f, -0.5f), localAngles = new Vector3(205f, 0f, 0f), localScale = new Vector3(0f, 0f, 0f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.GoldGat, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayGoldGat"), childName = "Center", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(0f, -90f, 0f), localScale = new Vector3(0f, 0f, 0f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRuleSet.keyAssetRuleGroups = itemDisplayRules.ToArray(); itemDisplayRuleSet.GenerateRuntimeValues(); } internal static void PopulateDisplays() { //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) ItemDisplayRuleSet val = ((Component)Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .modelTransform).GetComponent().itemDisplayRuleSet; KeyAssetRuleGroup[] keyAssetRuleGroups = val.keyAssetRuleGroups; for (int i = 0; i < keyAssetRuleGroups.Length; i++) { ItemDisplayRule[] rules = keyAssetRuleGroups[i].displayRuleGroup.rules; 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?.ToLower(); if (!itemDisplayPrefabs.ContainsKey(key)) { itemDisplayPrefabs[key] = followerPrefab; } } } } } internal static GameObject LoadDisplay(string name) { if (itemDisplayPrefabs.ContainsKey(name.ToLower()) && Object.op_Implicit((Object)(object)itemDisplayPrefabs[name.ToLower()])) { return itemDisplayPrefabs[name.ToLower()]; } return null; } } public static class Imp { public static GameObject ImpPrefab; public static GameObject myCharacter; public static GameObject characterDisplay; public static GameObject doppelganger; private static readonly Color CHAR_COLOR = new Color(0.69803923f, 0f, 0f); public static ConfigEntry baseHealth; public static ConfigEntry healthGrowth; public static ConfigEntry baseArmor; public static ConfigEntry baseDamage; public static ConfigEntry damageGrowth; public static ConfigEntry baseRegen; public static ConfigEntry regenGrowth; public static ConfigEntry baseJumpPower; public static GameObject VoidSpike; public static GameObject VoidWave; public static ConfigEntry enabled; public static ConfigEntry switchKey; public static bool IsBUDefined { get; private set; } public static bool IsBUDefined2 { get; private set; } internal static void ImpSetup() { TokenSetup(); ImpSurvivor(); SkillSetup(); CreateMaster(); } internal static void ImpSurvivor() { //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_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_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: 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_00da: 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_0132: 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_016a: Unknown result type (might be due to invalid IL or missing references) //IL_017a: 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_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_01a4: 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_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_027c: 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_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_038e: 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_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_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_041c: 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_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) myCharacter = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion(), "ImpSurvivor"); myCharacter.GetComponent().turnSpeed = 500f; myCharacter.GetComponent().canBeHitStunned = false; ((Component)myCharacter.GetComponent().modelBaseTransform).gameObject.transform.localScale = Vector3.one * 1.7f; ((Component)myCharacter.GetComponent().modelBaseTransform).gameObject.transform.Translate(new Vector3(0f, 0f, 0f) + myCharacter.transform.forward); myCharacter.GetComponent().aimOriginTransform.Translate(new Vector3(0f, 1f, 1f)); myCharacter.tag = "Player"; ImpSkinSetup.BuildTheFuckingSkins(); characterDisplay = PrefabAPI.InstantiateClone(((Component)myCharacter.GetComponent().modelBaseTransform).gameObject, "ImpDisplay"); characterDisplay.transform.localScale = Vector3.one * 1.1f; characterDisplay.AddComponent(); CharacterCameraParams val = ScriptableObject.CreateInstance(); ((Object)val).name = "ImpCam"; val.data.minPitch = BlendableFloat.op_Implicit(-75f); val.data.maxPitch = BlendableFloat.op_Implicit(75f); val.data.wallCushion = BlendableFloat.op_Implicit(0.1f); val.data.pivotVerticalOffset = BlendableFloat.op_Implicit(0f); val.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, 1.5f, -10f)); myCharacter.GetComponent().cameraParams = val; KinematicCharacterMotor component = myCharacter.GetComponent(); component.playerCharacter = true; KinematicCharacterMotor[] componentsInChildren = myCharacter.GetComponentsInChildren(); foreach (KinematicCharacterMotor val2 in componentsInChildren) { val2.SetCapsuleDimensions(val2.Capsule.radius * 1.6f, val2.Capsule.height * 1.4f, 0f); } myCharacter.GetComponent().logUnlockableDef = null; CharacterBody component2 = myCharacter.GetComponent(); component2.SetSpreadBloom(0f, false); component2.spreadBloomCurve = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .spreadBloomCurve; component2.spreadBloomDecayTime = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .spreadBloomDecayTime; ((Object)component2).name = "Imp_Survivor"; component2.subtitleNameToken = "Imp"; component2.baseNameToken = "Imp_Survivor"; ((Component)component2).tag = "Player"; component2.bodyFlags = (BodyFlags)16; component2.baseMaxHealth = baseHealth.Value; component2.levelMaxHealth = healthGrowth.Value; component2.baseRegen = baseRegen.Value; component2.levelRegen = regenGrowth.Value; component2.baseDamage = baseDamage.Value; component2.levelDamage = damageGrowth.Value; component2.baseArmor = baseArmor.Value; component2.baseJumpPower = baseJumpPower.Value; component2.baseCrit = 1f; component2.baseMoveSpeed = 8f; component2.preferredPodPrefab = Addressables.LoadAssetAsync((object)"RoR2/Base/Croco/CrocoBody.prefab").WaitForCompletion().GetComponent() .preferredPodPrefab; component2.levelMoveSpeed = Addressables.LoadAssetAsync((object)"RoR2/Base/Loader/LoaderBody.prefab").WaitForCompletion().GetComponent() .levelMoveSpeed; component2.sprintingSpeedMultiplier = Addressables.LoadAssetAsync((object)"RoR2/Base/Loader/LoaderBody.prefab").WaitForCompletion().GetComponent() .sprintingSpeedMultiplier; ((Component)component2).GetComponent().mass = 125f; EntityStateMachine component3 = ((Component)myCharacter.GetComponent()).GetComponent(); component3.mainStateType = new SerializableEntityStateType(typeof(ImpMain)); ImpPrefab = myCharacter; SurvivorDef val3 = ScriptableObject.CreateInstance(); val3.cachedName = "Imp_Survivor"; val3.descriptionToken = "Imp_Description"; val3.primaryColor = CHAR_COLOR; val3.bodyPrefab = myCharacter; val3.displayPrefab = characterDisplay; val3.desiredSortPosition = 21f; if (!enabled.Value) { val3.hidden = true; } Loader.entityStates.Add(typeof(ImpMain)); Loader.survivorDefs.Add(val3); Loader.bodyPrefabs.Add(myCharacter); } internal static void SkillSetup() { GenericSkill[] componentsInChildren = myCharacter.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { Object.DestroyImmediate((Object)(object)componentsInChildren[i]); } PrimarySetup(); SecondarySetup(); UtilitySetup(); SpecialSetup(); PassiveSetup(); } internal static void PrimarySetup() { //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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_014d: 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_016f: Expected O, but got Unknown //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_020b: 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_02ab: Unknown result type (might be due to invalid IL or missing references) //IL_02c4: Unknown result type (might be due to invalid IL or missing references) //IL_02ce: Expected O, but got Unknown //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02d1: Unknown result type (might be due to invalid IL or missing references) SkillLocator component = myCharacter.GetComponent(); SkillDef val = ScriptableObject.CreateInstance(); val.activationState = new SerializableEntityStateType(typeof(BleedDistance)); val.activationStateMachineName = "Weapon"; val.baseMaxStock = 0; val.baseRechargeInterval = 0f; val.beginSkillCooldownOnSkillEnd = true; val.canceledFromSprinting = false; val.fullRestockOnAssign = true; val.interruptPriority = (InterruptPriority)0; val.isCombatSkill = true; val.mustKeyPress = false; val.rechargeStock = 1; val.requiredStock = 0; val.cancelSprintingOnActivation = true; val.stockToConsume = 0; val.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Treebot/TreebotBody.prefab").WaitForCompletion().GetComponentInChildren() .primary.skillFamily.variants[0].skillDef.icon; val.skillDescriptionToken = "PrimBleed1_DESCRIPTION"; val.skillName = "PrimBleed1_NAME"; val.skillNameToken = "PrimBleed1_NAME"; val.keywordTokens = new string[2] { "KEYWORD_ImpBleed", "KEYWORD_PrimSwitch" }; component.primary = myCharacter.AddComponent(); SkillFamily val2 = ScriptableObject.CreateInstance(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.primary, "_skillFamily", val2); SkillFamily skillFamily = component.primary.skillFamily; Variant[] variants = skillFamily.variants; Variant val3 = new Variant { skillDef = val }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants[0] = val3; SkillDef val4 = ScriptableObject.CreateInstance(); val4.activationState = new SerializableEntityStateType(typeof(BleedMelee)); val4.activationStateMachineName = "Weapon"; val4.baseMaxStock = 0; val4.baseRechargeInterval = 0f; val4.beginSkillCooldownOnSkillEnd = true; val4.canceledFromSprinting = false; val4.cancelSprintingOnActivation = true; val4.fullRestockOnAssign = true; val4.interruptPriority = (InterruptPriority)0; val4.isCombatSkill = true; val4.mustKeyPress = false; val4.rechargeStock = 1; val4.requiredStock = 0; val4.stockToConsume = 0; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Croco/CrocoBody.prefab").WaitForCompletion().GetComponentInChildren() .primary.skillFamily.variants[0].skillDef.icon; val4.skillDescriptionToken = "PrimBleed2_DESCRIPTION"; val4.skillName = "PrimBleed2_NAME"; val4.skillNameToken = "PrimBleed2_NAME"; val4.keywordTokens = new string[2] { "KEYWORD_ImpBleed", "KEYWORD_PrimSwitch" }; Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1); Variant[] variants2 = skillFamily.variants; int num = skillFamily.variants.Length - 1; val3 = new Variant { skillDef = val4 }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants2[num] = val3; Loader.entityStates.Add(typeof(BleedDistance)); Loader.entityStates.Add(typeof(BleedMelee)); Loader.skillDefs.Add(val); Loader.skillDefs.Add(val4); } internal static void SecondarySetup() { //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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: 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_0162: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Expected O, but got Unknown //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) SkillLocator component = myCharacter.GetComponent(); SkillDef val = ScriptableObject.CreateInstance(); val.activationState = new SerializableEntityStateType(typeof(BleedSec)); val.activationStateMachineName = "Weapon"; val.baseMaxStock = 1; val.baseRechargeInterval = 5f; val.beginSkillCooldownOnSkillEnd = true; val.canceledFromSprinting = false; val.fullRestockOnAssign = true; val.interruptPriority = (InterruptPriority)2; val.isCombatSkill = true; val.mustKeyPress = true; val.rechargeStock = 1; val.requiredStock = 1; val.cancelSprintingOnActivation = true; val.stockToConsume = 1; val.icon = Addressables.LoadAssetAsync((object)"RoR2/Junk/Bandit/BanditBody.prefab").WaitForCompletion().GetComponentInChildren() .primary.skillFamily.variants[0].skillDef.icon; val.skillDescriptionToken = "SecBleed1_DESCRIPTION"; val.skillName = "SecBleed1_NAME"; val.skillNameToken = "SecBleed1_NAME"; val.keywordTokens = new string[2] { "KEYWORD_ImpBleed", "KEYWORD_Release" }; component.secondary = myCharacter.AddComponent(); SkillFamily val2 = ScriptableObject.CreateInstance(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.secondary, "_skillFamily", val2); Variant[] variants = component.secondary.skillFamily.variants; Variant val3 = new Variant { skillDef = val }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants[0] = val3; Loader.entityStates.Add(typeof(BleedSec)); Loader.skillDefs.Add(val); } internal static void UtilitySetup() { //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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: 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_0173: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Expected O, but got Unknown //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0196: 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_01d4: 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_020e: 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_02de: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Expected O, but got Unknown //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02eb: Unknown result type (might be due to invalid IL or missing references) SkillLocator component = myCharacter.GetComponent(); SkillDef val = ScriptableObject.CreateInstance(); val.activationState = new SerializableEntityStateType(typeof(BleedUtil)); val.activationStateMachineName = "Weapon"; val.baseMaxStock = 2; val.baseRechargeInterval = 4f; val.beginSkillCooldownOnSkillEnd = false; val.canceledFromSprinting = false; val.fullRestockOnAssign = true; val.interruptPriority = (InterruptPriority)2; val.isCombatSkill = false; val.mustKeyPress = true; val.rechargeStock = 1; val.requiredStock = 1; val.cancelSprintingOnActivation = true; val.stockToConsume = 1; val.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponentInChildren() .utility.skillFamily.variants[1].skillDef.icon; val.skillDescriptionToken = "UtilBleed1_DESCRIPTION"; val.skillName = "UtilBleed1_NAME"; val.skillNameToken = "UtilBleed1_NAME"; val.keywordTokens = new string[4] { "KEYWORD_ImpBleed", "KEYWORD_Aimdir", "KEYWORD_Slashbuff", "KEYWORD_Blink" }; component.utility = myCharacter.AddComponent(); SkillFamily val2 = ScriptableObject.CreateInstance(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.utility, "_skillFamily", val2); Variant[] variants = component.utility.skillFamily.variants; Variant val3 = new Variant { skillDef = val }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants[0] = val3; SkillDef val4 = ScriptableObject.CreateInstance(); val4.activationState = new SerializableEntityStateType(typeof(BleedUtil2)); val4.activationStateMachineName = "Weapon"; val4.baseMaxStock = 2; val4.baseRechargeInterval = 4f; val4.beginSkillCooldownOnSkillEnd = false; val4.canceledFromSprinting = false; val4.fullRestockOnAssign = true; val4.interruptPriority = (InterruptPriority)2; val4.isCombatSkill = true; val4.mustKeyPress = true; val4.rechargeStock = 1; val4.requiredStock = 1; val4.cancelSprintingOnActivation = true; val4.stockToConsume = 1; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponentInChildren() .utility.skillFamily.variants[0].skillDef.icon; val4.skillDescriptionToken = "UtilBleed2_DESCRIPTION"; val4.skillName = "UtilBleed2_NAME"; val4.skillNameToken = "UtilBleed2_NAME"; val4.keywordTokens = new string[4] { "KEYWORD_ImpBleed", "KEYWORD_Shadow", "KEYWORD_Slashbuff", "KEYWORD_Blink" }; SkillFamily skillFamily = component.utility.skillFamily; Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1); Variant[] variants2 = skillFamily.variants; int num = skillFamily.variants.Length - 1; val3 = new Variant { skillDef = val4 }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants2[num] = val3; Loader.entityStates.Add(typeof(BleedUtil)); Loader.entityStates.Add(typeof(BleedUtil2)); Loader.skillDefs.Add(val); Loader.skillDefs.Add(val4); } internal static void SpecialSetup() { //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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_0152: 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_0174: Expected O, but got Unknown //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) SkillLocator component = myCharacter.GetComponent(); SkillDef val = ScriptableObject.CreateInstance(); val.activationState = new SerializableEntityStateType(typeof(BleedSpecial)); val.activationStateMachineName = "Weapon"; val.baseMaxStock = 1; val.baseRechargeInterval = 7f; val.beginSkillCooldownOnSkillEnd = true; val.canceledFromSprinting = false; val.fullRestockOnAssign = true; val.interruptPriority = (InterruptPriority)2; val.isCombatSkill = true; val.mustKeyPress = true; val.rechargeStock = 1; val.requiredStock = 1; val.cancelSprintingOnActivation = true; val.stockToConsume = 1; val.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Captain/CaptainBody.prefab").WaitForCompletion().GetComponentInChildren() .utility.skillFamily.variants[0].skillDef.icon; val.skillDescriptionToken = "BleedSpecial1_DESCRIPTION"; val.skillName = "BleedSpecial1_NAME"; val.skillNameToken = "BleedSpecial1_NAME"; val.keywordTokens = new string[3] { "KEYWORD_ImpBleed", "KEYWORD_Special1", "KEYWORD_Switch" }; component.special = myCharacter.AddComponent(); SkillFamily val2 = ScriptableObject.CreateInstance(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.special, "_skillFamily", val2); Variant[] variants = component.special.skillFamily.variants; Variant val3 = new Variant { skillDef = val }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants[0] = val3; Loader.entityStates.Add(typeof(BleedSpecial)); Loader.skillDefs.Add(val); } internal static void PassiveSetup() { //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) SkillLocator component = myCharacter.GetComponent(); component.passiveSkill.enabled = true; component.passiveSkill.skillNameToken = "BleedPassive_NAME"; component.passiveSkill.skillDescriptionToken = "BleedPassive_DESCRIPTION"; component.passiveSkill.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Treebot/TreebotBody.prefab").WaitForCompletion().GetComponentInChildren() .secondary.skillFamily.variants[0].skillDef.icon; } internal static void CreateMaster() { //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) doppelganger = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoMonsterMaster.prefab").WaitForCompletion(), "ImpSurvivorMaster"); doppelganger.GetComponent().bodyPrefab = myCharacter; Loader.masterPrefabs.Add(doppelganger); } internal static void TokenSetup() { //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_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) string text = "The Imp is an assassin, that is able to teleport to the Red Plane and gains invisibility." + Environment.NewLine + Environment.NewLine; string[] obj = new string[7] { text, "The Imp relies on his mobility, so use your teleporting skills to evade attacks. Try to keep up as many Bleed stacks on enemies for more damage and additional health generation. The skills have variations that can be changed on the run. The primary skill can be switched by pressing ", null, null, null, null, null }; KeyboardShortcut value = switchKey.Value; obj[2] = ((object)(KeyboardShortcut)(ref value)).ToString(); obj[3] = "."; obj[4] = Environment.NewLine; obj[5] = Environment.NewLine; obj[6] = Environment.NewLine; text = string.Concat(obj); IsBUDefined2 = Chainloader.PluginInfos.ContainsKey("com.KingEnderBrine.ScrollableLobbyUI"); if (IsBUDefined2) { text = text + "Primary" + Environment.NewLine; text = text + "Void Spikes / Void Claws: (0,5s base duration)" + Environment.NewLine; text = text + "Throw two Void Spikes, dealing 2x 75% damage or rend your enemies with sharp claws, dealing 2x 120% damage." + Environment.NewLine; string[] obj2 = new string[7] { text, "- Press ", null, null, null, null, null }; value = switchKey.Value; obj2[2] = ((object)(KeyboardShortcut)(ref value)).ToString(); obj2[3] = " key to switch between the two primary skills for either going range or melee"; obj2[4] = Environment.NewLine; obj2[5] = Environment.NewLine; obj2[6] = Environment.NewLine; text = string.Concat(obj2); text = text + "Secondary" + Environment.NewLine; text = text + "Void Burst: (0-2s base duration - 5s cooldown)" + Environment.NewLine; text = text + "Fire a burst of Void Spikes dealing 5x 75% damage or charge a piercing laser that deals 5x 75%damage." + Environment.NewLine; text = text + "- When releasing the button before fully charging, you will fire the void spikes" + Environment.NewLine; text = text + "- When charged (2s base duration - 0,5s min duration) you will fire a piercing laser" + Environment.NewLine + Environment.NewLine + Environment.NewLine; text = text + "Utility" + Environment.NewLine; text = text + "Blink: (... - 4s cooldown)" + Environment.NewLine; text = text + "Teleport forward, while leaving a Void Spike behind. Stun enemies and deal 100% damage when reappearing." + Environment.NewLine; text = text + "- You can teleport into any direction you're aiming" + Environment.NewLine + Environment.NewLine; text = text + "Shadow Blink: (... - 4s cooldown)" + Environment.NewLine; text = text + "Teleport forward, while leaving a Void Spike behind. Stun enemies and deal 100% damage when reappearing." + Environment.NewLine; text = text + "- You are only able to teleport on the ground, but you can teleport through enemies" + Environment.NewLine + Environment.NewLine + Environment.NewLine; text = text + "Special" + Environment.NewLine; text = text + "Red Plane:(2,5s base duration - 7s cooldown)" + Environment.NewLine; text = text + "Angrily smash your claws against the ground, dealing 5x 150% damage or temporarily return to the Red Plane for 2,5 seconds and reappear in a brilliant flash of red, dealing 1000% damage." + Environment.NewLine; text = text + "- Holding down the skill button will teleport you to the Red Plane." + Environment.NewLine; text = text + "- When just quickly pressing skill button and instantly releasing, you will instead start the pound attack" + Environment.NewLine; } LanguageAPI.Add("Imp_Description", text); } } public class ImpMain : GenericCharacterMain { public override void OnEnter() { ((GenericCharacterMain)this).OnEnter(); CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.ImpChPrefab, (OverridePriority)0); } public override void Update() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: 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: 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_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Expected O, but got Unknown ((GenericCharacterMain)this).Update(); if (!((EntityState)this).isAuthority) { return; } KeyboardShortcut value = Imp.switchKey.Value; if (Input.GetKeyDown(((KeyboardShortcut)(ref value)).MainKey)) { SkillDef skillDef = ((EntityState)this).characterBody.skillLocator.primary.skillDef; if (skillDef.skillNameToken == "PrimBleed1_NAME") { ((EntityState)this).characterBody.skillLocator.primary.SetBaseSkill(((EntityState)this).characterBody.skillLocator.primary.skillFamily.variants[1].skillDef); } if (skillDef.skillNameToken == "PrimBleed2_NAME") { ((EntityState)this).characterBody.skillLocator.primary.SetBaseSkill(((EntityState)this).characterBody.skillLocator.primary.skillFamily.variants[0].skillDef); } GameObject blinkPrefab = BlinkState.blinkPrefab; EffectData val = new EffectData(); Vector3 position = ((EntityState)this).transform.position; Ray aimRay = ((BaseState)this).GetAimRay(); val.origin = position + 1.5f * ((Ray)(ref aimRay)).direction; val.scale = 7.5f; EffectManager.SpawnEffect(blinkPrefab, val, true); } } public override void FixedUpdate() { ((GenericCharacterMain)this).FixedUpdate(); } public override void OnExit() { ((GenericCharacterMain)this).OnExit(); } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.Tymmey.Lemurian", "Lemurian", "8.1.3")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Loader : BaseUnityPlugin { public enum HornChoser { Fire, Ice, Thunder, Haunted, Poison, Gold, Lunar, Void, Bead, Antler } internal static List projectilePrefabs = new List(); internal static List effectPrefabs = new List(); internal static List survivorDefs = new List(); public static List bodyPrefabs = new List(); internal static List masterPrefabs = new List(); internal static List entityStates = new List(); internal static List skillDefs = new List(); internal static List skillFamilies = new List(); public static ConfigEntry EliteHorns; public static ConfigEntry LemPod; public static ConfigEntry aimAssist; public static ConfigEntry ExploZoom; public static ConfigEntry LunarAimBubble; public static ConfigEntry LunarBlackExplo; public static ConfigEntry Hornchoser; public static bool IsBUDefined { get; private set; } public void Awake() { //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Expected O, but got Unknown ReadConfig(); Files.PluginInfo = ((BaseUnityPlugin)this).Info; Tokens.RegisterLanguageTokens(); IsBUDefined = Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions"); if (IsBUDefined) { SetRiskOfOptions(); } Buffs.RegisterBuffs(); Projectiles.ProjectileSetup(); LemPrefabs.PrefabSetup(); Hook.HookSetup(); Lemurian.LemurianSetup(); ElderLemurian.ElderLemurianSetup(); LemurianItemDisplays.InitializeItemDisplays(); Imp.ImpSetup(); ImpItemDisplays.InitializeItemDisplays(); LunarExploder.LunarExploderSetup(); LunarExploderItemDisplays.InitializeItemDisplays(); ContentManager.collectContentPackProviders += new CollectContentPackProvidersDelegate(ContentManager_collectContentPackProviders); RoR2Application.onLoad = (Action)Delegate.Combine(RoR2Application.onLoad, new Action(SetItemDisplays)); } public void ReadConfig() { //IL_0011: 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_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown //IL_0037: Expected O, but got Unknown //IL_004c: 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_0067: Expected O, but got Unknown //IL_0067: Expected O, but got Unknown //IL_007c: 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_0097: Expected O, but got Unknown //IL_0097: Expected O, but got Unknown //IL_00ac: 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_00c7: Expected O, but got Unknown //IL_00c7: Expected O, but got Unknown //IL_00dc: 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_00f7: Expected O, but got Unknown //IL_00f7: Expected O, but got Unknown //IL_012c: 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_0147: Expected O, but got Unknown //IL_0147: Expected O, but got Unknown //IL_015c: 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_0178: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Expected O, but got Unknown //IL_0182: Expected O, but got Unknown //IL_0197: 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: Expected O, but got Unknown //IL_01b2: Expected O, but got Unknown //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Expected O, but got Unknown //IL_01e2: Expected O, but got Unknown //IL_01f7: 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_0212: Expected O, but got Unknown //IL_0212: Expected O, but got Unknown //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_0238: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Expected O, but got Unknown //IL_0242: Expected O, but got Unknown //IL_0257: 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_0276: Expected O, but got Unknown //IL_028b: 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) //IL_02aa: Expected O, but got Unknown //IL_02aa: Expected O, but got Unknown //IL_02bf: 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_02de: Expected O, but got Unknown //IL_02de: Expected O, but got Unknown //IL_02f3: 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_0312: Expected O, but got Unknown //IL_0312: Expected O, but got Unknown //IL_0327: Unknown result type (might be due to invalid IL or missing references) //IL_033c: Unknown result type (might be due to invalid IL or missing references) //IL_0346: Expected O, but got Unknown //IL_0346: Expected O, but got Unknown //IL_035b: Unknown result type (might be due to invalid IL or missing references) //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_037a: Expected O, but got Unknown //IL_037a: Expected O, but got Unknown //IL_038f: Unknown result type (might be due to invalid IL or missing references) //IL_03a4: Unknown result type (might be due to invalid IL or missing references) //IL_03ae: Expected O, but got Unknown //IL_03ae: Expected O, but got Unknown //IL_03c3: 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_03e2: Expected O, but got Unknown //IL_03e2: Expected O, but got Unknown //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_0416: Expected O, but got Unknown //IL_0416: Expected O, but got Unknown //IL_042b: Unknown result type (might be due to invalid IL or missing references) //IL_0440: Unknown result type (might be due to invalid IL or missing references) //IL_044a: Expected O, but got Unknown //IL_044a: Expected O, but got Unknown //IL_045f: 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: Expected O, but got Unknown //IL_047e: Expected O, but got Unknown //IL_0493: Unknown result type (might be due to invalid IL or missing references) //IL_04a8: Unknown result type (might be due to invalid IL or missing references) //IL_04b2: Expected O, but got Unknown //IL_04b2: Expected O, but got Unknown //IL_04c7: Unknown result type (might be due to invalid IL or missing references) //IL_04dc: Unknown result type (might be due to invalid IL or missing references) //IL_04e6: Expected O, but got Unknown //IL_04e6: Expected O, but got Unknown //IL_04fb: Unknown result type (might be due to invalid IL or missing references) //IL_0510: Unknown result type (might be due to invalid IL or missing references) //IL_051a: Expected O, but got Unknown //IL_051a: Expected O, but got Unknown //IL_052f: Unknown result type (might be due to invalid IL or missing references) //IL_0544: Unknown result type (might be due to invalid IL or missing references) //IL_054e: Expected O, but got Unknown //IL_054e: Expected O, but got Unknown //IL_0563: Unknown result type (might be due to invalid IL or missing references) //IL_0578: Unknown result type (might be due to invalid IL or missing references) //IL_0582: Expected O, but got Unknown //IL_0582: Expected O, but got Unknown //IL_0597: Unknown result type (might be due to invalid IL or missing references) //IL_05ac: Unknown result type (might be due to invalid IL or missing references) //IL_05b6: Expected O, but got Unknown //IL_05b6: Expected O, but got Unknown //IL_05cb: Unknown result type (might be due to invalid IL or missing references) //IL_05e0: Unknown result type (might be due to invalid IL or missing references) //IL_05ea: Expected O, but got Unknown //IL_05ea: Expected O, but got Unknown //IL_05ff: Unknown result type (might be due to invalid IL or missing references) //IL_0614: Unknown result type (might be due to invalid IL or missing references) //IL_061e: Expected O, but got Unknown //IL_061e: Expected O, but got Unknown //IL_0633: Unknown result type (might be due to invalid IL or missing references) //IL_0648: Unknown result type (might be due to invalid IL or missing references) //IL_0652: Expected O, but got Unknown //IL_0652: Expected O, but got Unknown //IL_0667: 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_0686: Expected O, but got Unknown //IL_0686: Expected O, but got Unknown //IL_069b: Unknown result type (might be due to invalid IL or missing references) //IL_06b0: Unknown result type (might be due to invalid IL or missing references) //IL_06ba: Expected O, but got Unknown //IL_06ba: Expected O, but got Unknown //IL_06cf: Unknown result type (might be due to invalid IL or missing references) //IL_06e4: Unknown result type (might be due to invalid IL or missing references) //IL_06ee: Expected O, but got Unknown //IL_06ee: Expected O, but got Unknown //IL_0703: Unknown result type (might be due to invalid IL or missing references) //IL_0718: Unknown result type (might be due to invalid IL or missing references) //IL_0722: Expected O, but got Unknown //IL_0722: Expected O, but got Unknown Lemurian.switchKey = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Transformation Key"), new KeyboardShortcut((KeyCode)116, Array.Empty()), new ConfigDescription("Used for transforming the Lemurian after first loop", (AcceptableValueBase)null, Array.Empty())); aimAssist = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Laser Aim Assist"), true, new ConfigDescription("Enables/Disables aim assist on Lemurian Laser primary skill", (AcceptableValueBase)null, Array.Empty())); ExploZoom = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Explosion Special Zoom Out"), true, new ConfigDescription("Enables/Disables camera zoom on Lemurian Explosion special skill", (AcceptableValueBase)null, Array.Empty())); LemPod = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Drop Pod"), true, new ConfigDescription("Enables/Disables Lemurian's drop pod", (AcceptableValueBase)null, Array.Empty())); EliteHorns = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "EliteHorns"), true, new ConfigDescription("Enables/Disables the Elite Horns on Lemurian", (AcceptableValueBase)null, Array.Empty())); Hornchoser = ((BaseUnityPlugin)this).Config.Bind("1 - Lemurian", "Horns", HornChoser.Fire, "Which Horns you wanna have"); Imp.enabled = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("2 - Imp", "Imp Enabled"), true, new ConfigDescription("Enable or disable Imp Survivor", (AcceptableValueBase)null, Array.Empty())); Imp.switchKey = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("2 - Imp", "Primary Switch Key"), new KeyboardShortcut((KeyCode)116, Array.Empty()), new ConfigDescription("Used for switching between melee/distance primary skill", (AcceptableValueBase)null, Array.Empty())); LunarExploder.enabled = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Lunar Exploder Enabled"), true, new ConfigDescription("Enable or disable Lunar Exploder Survivor", (AcceptableValueBase)null, Array.Empty())); LunarAimBubble = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Primary Aim Indicator"), true, new ConfigDescription("Enable or disable aim indicator bubble for Lunar primary skill", (AcceptableValueBase)null, Array.Empty())); LunarBlackExplo = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Intense Explosion (special skill)"), true, new ConfigDescription("Enable or disable the intense explosion effect on the Lunar special skill. Recommended in multiplayer!", (AcceptableValueBase)null, Array.Empty())); LunarExploder.sprintingenabled = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Sprinting animation enabled"), false, new ConfigDescription("Enable or disable Lunar Exploder's sprinting animation. May give motion sickness when enabled.", (AcceptableValueBase)null, Array.Empty())); Lemurian.baseDamage = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Damage"), 10f, new ConfigDescription("Base damage", (AcceptableValueBase)null, Array.Empty())); Lemurian.damageGrowth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Damage growth"), 2.4f, new ConfigDescription("Damage per level", (AcceptableValueBase)null, Array.Empty())); Lemurian.baseHealth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Health"), 150f, new ConfigDescription("Base health", (AcceptableValueBase)null, Array.Empty())); Lemurian.healthGrowth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Health growth"), 35f, new ConfigDescription("Health per level", (AcceptableValueBase)null, Array.Empty())); Lemurian.baseArmor = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Armor"), 10f, new ConfigDescription("Base armor", (AcceptableValueBase)null, Array.Empty())); Lemurian.baseRegen = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Regen"), 1.5f, new ConfigDescription("Base HP regen", (AcceptableValueBase)null, Array.Empty())); Lemurian.regenGrowth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Regen growth"), 0.3f, new ConfigDescription("HP regen per level", (AcceptableValueBase)null, Array.Empty())); Lemurian.baseJumpPower = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("1 - Lemurian", "Jump power"), 20f, new ConfigDescription("Base jump power", (AcceptableValueBase)null, Array.Empty())); Imp.baseDamage = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("2 - Imp", "Damage"), 10f, new ConfigDescription("Base damage", (AcceptableValueBase)null, Array.Empty())); Imp.damageGrowth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("2 - Imp", "Damage growth"), 2.35f, new ConfigDescription("Damage per level", (AcceptableValueBase)null, Array.Empty())); Imp.baseHealth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("2 - Imp", "Health"), 150f, new ConfigDescription("Base health", (AcceptableValueBase)null, Array.Empty())); Imp.healthGrowth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("2 - Imp", "Health growth"), 35f, new ConfigDescription("Health per level", (AcceptableValueBase)null, Array.Empty())); Imp.baseArmor = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("2 - Imp", "Armor"), 15f, new ConfigDescription("Base armor", (AcceptableValueBase)null, Array.Empty())); Imp.baseRegen = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("2 - Imp", "Regen"), 1.3f, new ConfigDescription("Base HP regen", (AcceptableValueBase)null, Array.Empty())); Imp.regenGrowth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("2 - Imp", "Regen growth"), 0.15f, new ConfigDescription("HP regen per level", (AcceptableValueBase)null, Array.Empty())); Imp.baseJumpPower = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("2 - Imp", "Jump power"), 17f, new ConfigDescription("Base jump power", (AcceptableValueBase)null, Array.Empty())); LunarExploder.baseDamage = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Damage"), 10f, new ConfigDescription("Base damage", (AcceptableValueBase)null, Array.Empty())); LunarExploder.damageGrowth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Damage growth"), 2.5f, new ConfigDescription("Damage per level", (AcceptableValueBase)null, Array.Empty())); LunarExploder.baseHealth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Health"), 200f, new ConfigDescription("Base health", (AcceptableValueBase)null, Array.Empty())); LunarExploder.healthGrowth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Health growth"), 40f, new ConfigDescription("Health per level", (AcceptableValueBase)null, Array.Empty())); LunarExploder.baseArmor = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Armor"), 25f, new ConfigDescription("Base armor", (AcceptableValueBase)null, Array.Empty())); LunarExploder.baseRegen = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Regen"), 1.75f, new ConfigDescription("Base HP regen", (AcceptableValueBase)null, Array.Empty())); LunarExploder.regenGrowth = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Regen growth"), 0.3f, new ConfigDescription("HP regen per level", (AcceptableValueBase)null, Array.Empty())); LunarExploder.baseJumpPower = ((BaseUnityPlugin)this).Config.Bind(new ConfigDefinition("3 - LunarExploder", "Jump power"), 15f, new ConfigDescription("Base jump power", (AcceptableValueBase)null, Array.Empty())); Hornchoser = ((BaseUnityPlugin)this).Config.Bind("1 - Lemurian", "Horns", HornChoser.Fire, "Which Horns you wanna have. (Can even be configured mid run, needs to wait for next stage/respawn etc. though.)"); } public void SetRiskOfOptions() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Expected O, but got Unknown //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown //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_005f: Expected O, but got Unknown //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Expected O, but got Unknown //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Expected O, but got Unknown //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_008b: Expected O, but got Unknown //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Expected O, but got Unknown //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Expected O, but got Unknown //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_00b7: Expected O, but got Unknown //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Expected O, but got Unknown //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Expected O, but got Unknown //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Expected O, but got Unknown //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Expected O, but got Unknown //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Expected O, but got Unknown ModSettingsManager.SetModIcon(Addressables.LoadAssetAsync((object)"RoR2/Base/loadingbasic/texLemurianWalkBW.png").WaitForCompletion()); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(aimAssist)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(ExploZoom)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EliteHorns)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(LemPod, new CheckBoxConfig { restartRequired = true })); ModSettingsManager.AddOption((BaseOption)new KeyBindOption(Lemurian.switchKey)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(Imp.enabled, new CheckBoxConfig { restartRequired = true })); ModSettingsManager.AddOption((BaseOption)new KeyBindOption(Imp.switchKey)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(LunarExploder.enabled, new CheckBoxConfig { restartRequired = true })); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(LunarExploder.sprintingenabled)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(LunarAimBubble)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(LunarBlackExplo)); ModSettingsManager.AddOption((BaseOption)new ChoiceOption((ConfigEntryBase)(object)Hornchoser)); } private static void SetItemDisplays() { LemurianItemDisplays.SetItemDisplays(); ImpItemDisplays.SetItemDisplays(); LunarExploderItemDisplays.SetItemDisplays(); } private void ContentManager_collectContentPackProviders(AddContentPackProviderDelegate addContentPackProvider) { addContentPackProvider.Invoke((IContentPackProvider)(object)new ContentPacks()); } } public static class ImpSkins { private static GameObjectActivation[] getActivations(GameObject[] allObjects, params GameObject[] activatedObjects) { //IL_0019: 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) List list = new List(); for (int i = 0; i < allObjects.Length; i++) { bool shouldActivate = activatedObjects.Contains(allObjects[i]); list.Add(new GameObjectActivation { gameObject = allObjects[i], shouldActivate = shouldActivate }); } return list.ToArray(); } public static void RegisterSkins() { //IL_004d: 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_009e: 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_00c6: 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_0193: 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_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_0213: 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_0270: 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_0155: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Unknown result type (might be due to invalid IL or missing references) //IL_030f: Unknown result type (might be due to invalid IL or missing references) //IL_034c: Unknown result type (might be due to invalid IL or missing references) //IL_0360: 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_0388: Unknown result type (might be due to invalid IL or missing references) //IL_03d1: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: 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_0440: Unknown result type (might be due to invalid IL or missing references) //IL_045b: Unknown result type (might be due to invalid IL or missing references) //IL_0498: Unknown result type (might be due to invalid IL or missing references) //IL_04ac: Unknown result type (might be due to invalid IL or missing references) //IL_04c0: Unknown result type (might be due to invalid IL or missing references) //IL_04d4: Unknown result type (might be due to invalid IL or missing references) //IL_051d: Unknown result type (might be due to invalid IL or missing references) //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_0417: 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_05a7: Unknown result type (might be due to invalid IL or missing references) //IL_05e4: Unknown result type (might be due to invalid IL or missing references) //IL_05f8: Unknown result type (might be due to invalid IL or missing references) //IL_060c: Unknown result type (might be due to invalid IL or missing references) //IL_0620: Unknown result type (might be due to invalid IL or missing references) //IL_0669: Unknown result type (might be due to invalid IL or missing references) //IL_055e: Unknown result type (might be due to invalid IL or missing references) //IL_0563: Unknown result type (might be due to invalid IL or missing references) //IL_06d8: Unknown result type (might be due to invalid IL or missing references) //IL_06f3: Unknown result type (might be due to invalid IL or missing references) //IL_0730: Unknown result type (might be due to invalid IL or missing references) //IL_0744: Unknown result type (might be due to invalid IL or missing references) //IL_0758: 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_07b5: Unknown result type (might be due to invalid IL or missing references) //IL_06aa: Unknown result type (might be due to invalid IL or missing references) //IL_06af: Unknown result type (might be due to invalid IL or missing references) //IL_0824: Unknown result type (might be due to invalid IL or missing references) //IL_07f6: Unknown result type (might be due to invalid IL or missing references) //IL_07fb: Unknown result type (might be due to invalid IL or missing references) GameObject myCharacter = Imp.myCharacter; GameObject gameObject = ((Component)myCharacter.GetComponentInChildren().modelTransform).gameObject; CharacterModel component = gameObject.GetComponent(); ModelSkinController val = gameObject.AddComponent(); ChildLocator component2 = gameObject.GetComponent(); SkinnedMeshRenderer fieldValue = Reflection.GetFieldValue((object)component, "mainSkinnedMeshRenderer"); LanguageAPI.Add("Imp_DEFAULT_SKIN", "Imp"); SkinDefInfo val2 = default(SkinDefInfo); val2.BaseSkins = Array.Empty(); val2.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val2.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val2.Icon = Skins.CreateSkinIcon(new Color(0.2f, 0f, 0f), new Color(0.5019608f, 0f, 0f), new Color(0.2f, 0f, 0f), new Color(0.5019608f, 0f, 0f)); val2.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val2.Name = "Imp_DEFAULT_SKIN"; val2.NameToken = "Imp_DEFAULT_SKIN"; val2.RendererInfos = component.baseRendererInfos; val2.RootObject = gameObject; RendererInfo[] rendererInfos = val2.RendererInfos; RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); Material defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/Base/Imp/ImpBody.prefab").WaitForCompletion().GetComponentInChildren() .baseRendererInfos[0].defaultMaterial); array[0].defaultMaterial = defaultMaterial; } val2.RendererInfos = array; SkinDef item = Skins.CreateNewSkinDef(val2); LanguageAPI.Add("Imp_Lunar_SKIN", "Lunar"); SkinDefInfo val3 = default(SkinDefInfo); val3.BaseSkins = Array.Empty(); val3.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val3.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val3.Icon = Skins.CreateSkinIcon(new Color(0.6f, 0.4f, 1f), new Color(0.8f, 0.7019608f, 1f), new Color(0.6f, 0.4f, 1f), new Color(0.8f, 0.7019608f, 1f)); val3.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val3.Name = "Imp_Lunar_SKIN"; val3.NameToken = "Imp_Lunar_SKIN"; val3.RendererInfos = component.baseRendererInfos; val3.RootObject = gameObject; rendererInfos = val2.RendererInfos; array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/Base/LunarGolem/LunarGolemBody.prefab").WaitForCompletion().GetComponentInChildren() .baseRendererInfos[0].defaultMaterial); array[0].defaultMaterial = defaultMaterial; } val3.RendererInfos = array; SkinDef item2 = Skins.CreateNewSkinDef(val3); LanguageAPI.Add("Imp_Aurelionite_SKIN", "Aurelionite"); SkinDefInfo val4 = default(SkinDefInfo); val4.BaseSkins = Array.Empty(); val4.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val4.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val4.Icon = Skins.CreateSkinIcon(new Color(1f, 67f / 85f, 0.1254902f), new Color(74f / 85f, 39f / 85f, 0f), new Color(0.14509805f, 4f / 85f, 0f), new Color(0.9843137f, 82f / 85f, 79f / 85f)); val4.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val4.Name = "Imp_Aurelionite_SKIN"; val4.NameToken = "Imp_Aurelionite_SKIN"; val4.RendererInfos = component.baseRendererInfos; val4.RootObject = gameObject; rendererInfos = val2.RendererInfos; array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/DLC2/matAurelioniteGeode.mat").WaitForCompletion()); array[0].defaultMaterial = defaultMaterial; } val4.RendererInfos = array; SkinDef item3 = Skins.CreateNewSkinDef(val4); LanguageAPI.Add("Imp_Engine_SKIN", "Engine"); SkinDefInfo val5 = default(SkinDefInfo); val5.BaseSkins = Array.Empty(); val5.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val5.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val5.Icon = Skins.CreateSkinIcon(new Color(0.83137256f, 56f / 85f, 20f / 51f), new Color(4f / 15f, 46f / 85f, 0.6431373f), new Color(0.4f, 33f / 85f, 8f / 15f), new Color(13f / 85f, 0.1764706f, 0.32156864f)); val5.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val5.Name = "Imp_Engine_SKIN"; val5.NameToken = "Imp_Engine_SKIN"; val5.RendererInfos = component.baseRendererInfos; val5.RootObject = gameObject; rendererInfos = val2.RendererInfos; array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/DLC2/Seeker/matSeeker.mat").WaitForCompletion()); array[0].defaultMaterial = defaultMaterial; } val5.RendererInfos = array; SkinDef item4 = Skins.CreateNewSkinDef(val5); LanguageAPI.Add("Imp_False_SKIN", "Mysterious"); SkinDefInfo val6 = default(SkinDefInfo); val6.BaseSkins = Array.Empty(); val6.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val6.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val6.Icon = Skins.CreateSkinIcon(new Color(0.56078434f, 0.20784314f, 19f / 85f), new Color(43f / 51f, 0.8901961f, 0.9411765f), new Color(1f / 3f, 24f / 85f, 29f / 85f), new Color(26f / 51f, 0.64705884f, 53f / 85f)); val6.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val6.Name = "Imp_False_SKIN"; val6.NameToken = "Imp_False_SKIN"; val6.RendererInfos = component.baseRendererInfos; val6.RootObject = gameObject; rendererInfos = val2.RendererInfos; array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/DLC2/FalseSon/matFalseSon.mat").WaitForCompletion()); array[0].defaultMaterial = defaultMaterial; } val6.RendererInfos = array; SkinDef item5 = Skins.CreateNewSkinDef(val6); LanguageAPI.Add("Imp_Scorch_SKIN", "Scorching"); SkinDefInfo val7 = default(SkinDefInfo); val7.BaseSkins = Array.Empty(); val7.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; val7.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; val7.Icon = Skins.CreateSkinIcon(new Color(0.99607843f, 0.827451f, 0.41960785f), new Color(1f, 0.4f, 0.003921569f), new Color(41f / 51f, 0f, 3f / 85f), new Color(0.6313726f, 0.19215687f, 0f)); val7.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; val7.Name = "Imp_Scorch_SKIN"; val7.NameToken = "Imp_Scorch_SKIN"; val7.RendererInfos = component.baseRendererInfos; val7.RootObject = gameObject; rendererInfos = val2.RendererInfos; array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; rendererInfos.CopyTo(array, 0); defaultMaterial = array[0].defaultMaterial; if (Object.op_Implicit((Object)(object)defaultMaterial)) { defaultMaterial = Object.Instantiate(Addressables.LoadAssetAsync((object)"RoR2/DLC2/Scorchling/matScorchling.mat").WaitForCompletion()); array[0].defaultMaterial = defaultMaterial; } val7.RendererInfos = array; SkinDef item6 = Skins.CreateNewSkinDef(val7); List list = new List { item, item2, item3, item4, item5, item6 }; val.skins = list.ToArray(); } } public static class Hook { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_RecalculateStats <>9__0_0; public static hook_TakeDamage <>9__0_1; internal void b__0_0(orig_RecalculateStats orig, CharacterBody self) { orig.Invoke(self); if (Object.op_Implicit((Object)(object)self) && self.GetBuffCount(Buffs.ArmorBuff) > 0) { Reflection.SetPropertyValue((object)self, "armor", self.armor + 40f); } if (Object.op_Implicit((Object)(object)self) && self.GetBuffCount(Buffs.ArmorBuff2) > 0) { Reflection.SetPropertyValue((object)self, "armor", self.armor + 25f); } if (Object.op_Implicit((Object)(object)self) && self.GetBuffCount(Buffs.HeavyArmorBuff) > 0) { Reflection.SetPropertyValue((object)self, "armor", self.armor + 140f); int buffCount = self.GetBuffCount(Buffs.FireBuff); Reflection.SetPropertyValue((object)self, "moveSpeed", self.moveSpeed * 0.5f); } if (self.HasBuff(Buffs.FireBuff)) { int buffCount2 = self.GetBuffCount(Buffs.FireBuff); Reflection.SetPropertyValue((object)self, "moveSpeed", self.moveSpeed + (float)buffCount2 * 0.025f); } } internal void b__0_1(orig_TakeDamage orig, HealthComponent self, DamageInfo di) { //IL_0281: Unknown result type (might be due to invalid IL or missing references) //IL_0288: Expected O, but got Unknown //IL_02a5: 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_02b2: 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_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: 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_0373: Unknown result type (might be due to invalid IL or missing references) //IL_0379: Invalid comparison between Unknown and I4 orig.Invoke(self, di); if ((Object)(object)di.inflictor != (Object)null && (Object)(object)self != (Object)null && (Object)(object)((Component)self).GetComponent() != (Object)null && (Object)(object)di.attacker != (Object)null && (Object)(object)di.attacker.GetComponent() != (Object)null && di.attacker.GetComponent().baseNameToken == "Lemurian_Survivor" && di.procCoefficient > 1f) { if (di.crit) { di.attacker.GetComponent().AddTimedBuff(Buffs.FireBuff, 20f); Transform modelTransform = di.attacker.GetComponent().modelTransform; if (Object.op_Implicit((Object)(object)modelTransform)) { TemporaryOverlayInstance val = TemporaryOverlayManager.AddOverlay(((Component)((Component)modelTransform).GetComponent()).gameObject); val.duration = 20f; val.destroyComponentOnEnd = true; val.originalMaterial = LemPrefabs.FireBuffMat; val.inspectorCharacterModel = ((Component)((Component)modelTransform).GetComponent()).gameObject.GetComponent(); val.alphaCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); val.animateShaderAlpha = true; } } else if (!di.crit) { di.attacker.GetComponent().AddTimedBuff(Buffs.FireBuff, 15f); Transform modelTransform2 = di.attacker.GetComponent().modelTransform; if (Object.op_Implicit((Object)(object)modelTransform2)) { TemporaryOverlayInstance val2 = TemporaryOverlayManager.AddOverlay(((Component)((Component)modelTransform2).GetComponent()).gameObject); val2.duration = 15f; val2.destroyComponentOnEnd = true; val2.originalMaterial = LemPrefabs.FireBuffMat; val2.inspectorCharacterModel = ((Component)((Component)modelTransform2).GetComponent()).gameObject.GetComponent(); val2.alphaCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); val2.animateShaderAlpha = true; } } } if ((Object)(object)di.inflictor != (Object)null && (Object)(object)self != (Object)null && (Object)(object)((Component)self).GetComponent() != (Object)null && (Object)(object)di.attacker != (Object)null && (Object)(object)di.attacker.GetComponent() != (Object)null && di.attacker.GetComponent().baseNameToken == "Imp_Survivor" && di.procCoefficient > 1f) { BlastAttack val3 = new BlastAttack(); val3.attacker = di.attacker; val3.inflictor = di.inflictor; val3.attackerFiltering = (AttackerFiltering)2; val3.position = di.position; val3.procCoefficient = 0.4f; val3.baseDamage = 0f; val3.radius = 1f; val3.damageType = DamageTypeCombo.op_Implicit((DamageType)1024); val3.Fire(); di.attacker.GetComponent().AddTimedBuff(Buffs.BleedHealBuff, 1f); } if ((Object)(object)di.inflictor != (Object)null && (Object)(object)self != (Object)null && (Object)(object)((Component)self).GetComponent() != (Object)null && (Object)(object)di.attacker != (Object)null && (Object)(object)di.attacker.GetComponent() != (Object)null && di.attacker.GetComponent().baseNameToken == "Imp_Survivor" && (int)di.damageColorIndex == 2) { di.attacker.GetComponent().Heal(di.damage * 0.05f, di.procChainMask, true); } } } internal static void HookSetup() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0020: 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_0045: Expected O, but got Unknown object obj = <>c.<>9__0_0; if (obj == null) { hook_RecalculateStats val = delegate(orig_RecalculateStats orig, CharacterBody self) { orig.Invoke(self); if (Object.op_Implicit((Object)(object)self) && self.GetBuffCount(Buffs.ArmorBuff) > 0) { Reflection.SetPropertyValue((object)self, "armor", self.armor + 40f); } if (Object.op_Implicit((Object)(object)self) && self.GetBuffCount(Buffs.ArmorBuff2) > 0) { Reflection.SetPropertyValue((object)self, "armor", self.armor + 25f); } if (Object.op_Implicit((Object)(object)self) && self.GetBuffCount(Buffs.HeavyArmorBuff) > 0) { Reflection.SetPropertyValue((object)self, "armor", self.armor + 140f); int buffCount = self.GetBuffCount(Buffs.FireBuff); Reflection.SetPropertyValue((object)self, "moveSpeed", self.moveSpeed * 0.5f); } if (self.HasBuff(Buffs.FireBuff)) { int buffCount2 = self.GetBuffCount(Buffs.FireBuff); Reflection.SetPropertyValue((object)self, "moveSpeed", self.moveSpeed + (float)buffCount2 * 0.025f); } }; <>c.<>9__0_0 = val; obj = (object)val; } CharacterBody.RecalculateStats += (hook_RecalculateStats)obj; object obj2 = <>c.<>9__0_1; if (obj2 == null) { hook_TakeDamage val2 = delegate(orig_TakeDamage orig, HealthComponent self, DamageInfo di) { //IL_0281: Unknown result type (might be due to invalid IL or missing references) //IL_0288: Expected O, but got Unknown //IL_02a5: 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_02b2: 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_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: 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_0373: Unknown result type (might be due to invalid IL or missing references) //IL_0379: Invalid comparison between Unknown and I4 orig.Invoke(self, di); if ((Object)(object)di.inflictor != (Object)null && (Object)(object)self != (Object)null && (Object)(object)((Component)self).GetComponent() != (Object)null && (Object)(object)di.attacker != (Object)null && (Object)(object)di.attacker.GetComponent() != (Object)null && di.attacker.GetComponent().baseNameToken == "Lemurian_Survivor" && di.procCoefficient > 1f) { if (di.crit) { di.attacker.GetComponent().AddTimedBuff(Buffs.FireBuff, 20f); Transform modelTransform = di.attacker.GetComponent().modelTransform; if (Object.op_Implicit((Object)(object)modelTransform)) { TemporaryOverlayInstance val3 = TemporaryOverlayManager.AddOverlay(((Component)((Component)modelTransform).GetComponent()).gameObject); val3.duration = 20f; val3.destroyComponentOnEnd = true; val3.originalMaterial = LemPrefabs.FireBuffMat; val3.inspectorCharacterModel = ((Component)((Component)modelTransform).GetComponent()).gameObject.GetComponent(); val3.alphaCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); val3.animateShaderAlpha = true; } } else if (!di.crit) { di.attacker.GetComponent().AddTimedBuff(Buffs.FireBuff, 15f); Transform modelTransform2 = di.attacker.GetComponent().modelTransform; if (Object.op_Implicit((Object)(object)modelTransform2)) { TemporaryOverlayInstance val4 = TemporaryOverlayManager.AddOverlay(((Component)((Component)modelTransform2).GetComponent()).gameObject); val4.duration = 15f; val4.destroyComponentOnEnd = true; val4.originalMaterial = LemPrefabs.FireBuffMat; val4.inspectorCharacterModel = ((Component)((Component)modelTransform2).GetComponent()).gameObject.GetComponent(); val4.alphaCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); val4.animateShaderAlpha = true; } } } if ((Object)(object)di.inflictor != (Object)null && (Object)(object)self != (Object)null && (Object)(object)((Component)self).GetComponent() != (Object)null && (Object)(object)di.attacker != (Object)null && (Object)(object)di.attacker.GetComponent() != (Object)null && di.attacker.GetComponent().baseNameToken == "Imp_Survivor" && di.procCoefficient > 1f) { BlastAttack val5 = new BlastAttack(); val5.attacker = di.attacker; val5.inflictor = di.inflictor; val5.attackerFiltering = (AttackerFiltering)2; val5.position = di.position; val5.procCoefficient = 0.4f; val5.baseDamage = 0f; val5.radius = 1f; val5.damageType = DamageTypeCombo.op_Implicit((DamageType)1024); val5.Fire(); di.attacker.GetComponent().AddTimedBuff(Buffs.BleedHealBuff, 1f); } if ((Object)(object)di.inflictor != (Object)null && (Object)(object)self != (Object)null && (Object)(object)((Component)self).GetComponent() != (Object)null && (Object)(object)di.attacker != (Object)null && (Object)(object)di.attacker.GetComponent() != (Object)null && di.attacker.GetComponent().baseNameToken == "Imp_Survivor" && (int)di.damageColorIndex == 2) { di.attacker.GetComponent().Heal(di.damage * 0.05f, di.procChainMask, true); } }; <>c.<>9__0_1 = val2; obj2 = (object)val2; } HealthComponent.TakeDamage += (hook_TakeDamage)obj2; } } public static class LemurianSkins { private static GameObjectActivation[] getActivations(GameObject[] allObjects, params GameObject[] activatedObjects) { //IL_0019: 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) List list = new List(); for (int i = 0; i < allObjects.Length; i++) { bool shouldActivate = activatedObjects.Contains(allObjects[i]); list.Add(new GameObjectActivation { gameObject = allObjects[i], shouldActivate = shouldActivate }); } return list.ToArray(); } public static void RegisterSkins() { //IL_0038: 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_006f: 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_0097: 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_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_014e: Unknown result type (might be due to invalid IL or missing references) GameObject myCharacter = Lemurian.myCharacter; GameObject gameObject = ((Component)myCharacter.GetComponentInChildren().modelTransform).gameObject; CharacterModel component = gameObject.GetComponent(); ModelSkinController component2 = gameObject.GetComponent(); LanguageAPI.Add("Lemurian_DEFAULT_SKIN", "Lemurian"); SkinDefInfo val = default(SkinDefInfo); val.BaseSkins = Array.Empty(); val.Icon = Skins.CreateSkinIcon(new Color(1f, 1f, 1f), new Color(0.4f, 0f, 0.4f), new Color(1f, 1f, 1f), new Color(0.4f, 0f, 0.4f)); val.Name = "Lemurian_DEFAULT_SKIN"; val.NameToken = "Lemurian_DEFAULT_SKIN"; val.RendererInfos = component.baseRendererInfos; val.RootObject = gameObject; RendererInfo[] rendererInfos = val.RendererInfos; RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[rendererInfos.Length]; RendererInfo[] array2 = rendererInfos; Debug.Log((object)$"rend1: {rendererInfos}"); Debug.Log((object)$"rend1length: {rendererInfos.Length}"); rendererInfos.CopyTo(array, 0); Material defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_Base_Lemurian.matLemurianBruiser_mat).WaitForCompletion(); array[0].defaultMaterial = defaultMaterial; val.RendererInfos = array; SkinDef item = Skins.CreateNewSkinDef(val); List list = new List { item }; component2.skins = list.ToArray(); } } public static class Buffs { internal static BuffDef FireBuff; internal static BuffDef ArmorBuff; internal static BuffDef HeavyArmorBuff; internal static BuffDef TransformBuff; internal static BuffDef SlashBuff; internal static BuffDef BleedHealBuff; internal static BuffDef ArmorBuff2; internal static BuffDef ExplodeBuff; internal static readonly Color CHAR_COLOR2 = new Color(40f / 51f, 0.29411766f, 1f / 17f); internal static readonly Color CHAR_COLOR3 = new Color(0.58431375f, 0.0627451f, 0.94509804f); internal static List buffDefs = new List(); internal static void RegisterBuffs() { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001d: 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_003d: 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_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_0077: 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_009f: 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_00c7: 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_00ef: 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_0117: 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_013f: Unknown result type (might be due to invalid IL or missing references) FireBuff = AddNewBuff("FireBuff", Addressables.LoadAssetAsync((object)"RoR2/Base/Common/bdOnFire.asset").WaitForCompletion().iconSprite, CHAR_COLOR2, canStack: true, isDebuff: false); ArmorBuff = AddNewBuff("ArmorBuff", Addressables.LoadAssetAsync((object)"RoR2/Base/RoboBallBoss/bdEngiShield.asset").WaitForCompletion().iconSprite, CHAR_COLOR2, canStack: false, isDebuff: false); HeavyArmorBuff = AddNewBuff("HeavyArmorBuff", Addressables.LoadAssetAsync((object)"RoR2/Base/RoboBallBoss/bdEngiShield.asset").WaitForCompletion().iconSprite, CHAR_COLOR3, canStack: false, isDebuff: false); TransformBuff = AddNewBuff("TransformBuff", Addressables.LoadAssetAsync((object)"RoR2/Base/Common/texDifficultyHardIcon.png").WaitForCompletion(), CHAR_COLOR2, canStack: false, isDebuff: false); SlashBuff = AddNewBuff("SlashBuff", Addressables.LoadAssetAsync((object)"RoR2/Base/Common/texBuffBleedingIcon.tif").WaitForCompletion(), Color.grey, canStack: false, isDebuff: false); BleedHealBuff = AddNewBuff("SlashBuff", Addressables.LoadAssetAsync((object)"RoR2/Base/Common/texBuffBleedingIcon.tif").WaitForCompletion(), Color.green, canStack: false, isDebuff: false); ArmorBuff2 = AddNewBuff("ArmorBuff2", Addressables.LoadAssetAsync((object)"RoR2/Base/LunarGolem/texBuffLunarShellIcon.tif").WaitForCompletion(), Color.blue, canStack: true, isDebuff: false); ExplodeBuff = AddNewBuff("ExplodeBuff", Addressables.LoadAssetAsync((object)"RoR2/Base/Grandparent/texBuffOverheat.tif").WaitForCompletion(), Color.blue, canStack: true, isDebuff: false); } internal static BuffDef AddNewBuff(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; buffDefs.Add(val); return val; } } public class ContentPacks : IContentPackProvider { [CompilerGenerated] private sealed class d__5 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public FinalizeAsyncArgs args; public ContentPacks <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__5(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { if (<>1__state != 0) { return false; } <>1__state = -1; args.ReportProgress(1f); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__4 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public GetContentPackAsyncArgs args; public ContentPacks <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__4(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { if (<>1__state != 0) { return false; } <>1__state = -1; ContentPack.Copy(contentPack, args.output); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__3 : IEnumerator, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public LoadStaticContentAsyncArgs args; public ContentPacks <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__3(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { if (<>1__state != 0) { return false; } <>1__state = -1; contentPack.buffDefs.Add(Buffs.buffDefs.ToArray()); contentPack.entityStateTypes.Add(Loader.entityStates.ToArray()); contentPack.skillDefs.Add(Loader.skillDefs.ToArray()); contentPack.skillFamilies.Add(Loader.skillFamilies.ToArray()); contentPack.survivorDefs.Add(Loader.survivorDefs.ToArray()); contentPack.bodyPrefabs.Add(Loader.bodyPrefabs.ToArray()); contentPack.masterPrefabs.Add(Loader.masterPrefabs.ToArray()); contentPack.projectilePrefabs.Add(Loader.projectilePrefabs.ToArray()); contentPack.effectDefs.Add(Loader.effectPrefabs.ToArray()); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } internal static ContentPack contentPack = new ContentPack(); public string identifier => "Lemurian.LemurianContent"; [IteratorStateMachine(typeof(d__3))] public IEnumerator LoadStaticContentAsync(LoadStaticContentAsyncArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__3(0) { <>4__this = this, args = args }; } [IteratorStateMachine(typeof(d__4))] public IEnumerator GenerateContentPackAsync(GetContentPackAsyncArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__4(0) { <>4__this = this, args = args }; } [IteratorStateMachine(typeof(d__5))] public IEnumerator FinalizeAsync(FinalizeAsyncArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__5(0) { <>4__this = this, args = args }; } } public static class ElderLemurian { public static GameObject myCharacter; public static GameObject ElderLemurianPrefab; public static GameObject characterDisplay; public static GameObject ElderSecProjectile; public static GameObject ElderUtilProjectile; internal static void ElderLemurianSetup() { ElderLemurianSurvivor(); ElderSkillSetup(); } internal static void ElderLemurianSurvivor() { //IL_0096: 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_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_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_0141: 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_01df: 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_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_0269: 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_0284: Unknown result type (might be due to invalid IL or missing references) //IL_0295: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: 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_02f0: Unknown result type (might be due to invalid IL or missing references) //IL_0304: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_0382: Unknown result type (might be due to invalid IL or missing references) //IL_03cc: Unknown result type (might be due to invalid IL or missing references) //IL_03d1: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Unknown result type (might be due to invalid IL or missing references) //IL_03e7: Unknown result type (might be due to invalid IL or missing references) //IL_03f8: Unknown result type (might be due to invalid IL or missing references) //IL_03fd: Unknown result type (might be due to invalid IL or missing references) //IL_040e: Unknown result type (might be due to invalid IL or missing references) //IL_0413: 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_0433: Unknown result type (might be due to invalid IL or missing references) //IL_0438: Unknown result type (might be due to invalid IL or missing references) //IL_045e: Unknown result type (might be due to invalid IL or missing references) //IL_0478: Unknown result type (might be due to invalid IL or missing references) //IL_047d: 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_058b: Unknown result type (might be due to invalid IL or missing references) //IL_0590: Unknown result type (might be due to invalid IL or missing references) //IL_05af: Unknown result type (might be due to invalid IL or missing references) //IL_05b4: Unknown result type (might be due to invalid IL or missing references) //IL_05d3: Unknown result type (might be due to invalid IL or missing references) //IL_05d8: Unknown result type (might be due to invalid IL or missing references) //IL_061e: Unknown result type (might be due to invalid IL or missing references) //IL_0623: Unknown result type (might be due to invalid IL or missing references) //IL_065f: Unknown result type (might be due to invalid IL or missing references) //IL_0664: Unknown result type (might be due to invalid IL or missing references) LanguageAPI.Add("ElderLemurian_Survivor", "ElderLemurian"); LanguageAPI.Add("ElderPrimary_NAME", "Triple Fire"); LanguageAPI.Add("ElderPrimary_DESCRIPTION", "Shoot 3 Fire Balls"); LanguageAPI.Add("ElderSecondary_NAME", "Rapid Fire"); LanguageAPI.Add("ElderSecondary_DESCRIPTION", "Shoot green Fire Balls"); LanguageAPI.Add("ElderUtil_NAME", "Sun"); LanguageAPI.Add("ElderUtil_DESCRIPTION", "Attract enemies and burn them in heat."); LanguageAPI.Add("ElderSpecial_NAME", "Flaming Hell"); LanguageAPI.Add("ElderSpecial_DESCRIPTION", "Kill..."); myCharacter = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/LemurianBruiser/LemurianBruiserBody.prefab").WaitForCompletion(), "elder_lemurian_survivor"); myCharacter.GetComponent().canBeHitStunned = false; myCharacter.GetComponent().turnSpeed = 500f; ((Component)myCharacter.GetComponent().modelBaseTransform).gameObject.transform.localScale = Vector3.one * 0.5f; ((Component)myCharacter.GetComponent().modelBaseTransform).gameObject.transform.Translate(new Vector3(0f, 2.5f, 0f) + myCharacter.transform.forward); myCharacter.GetComponent().aimOriginTransform.Translate(new Vector3(0f, -1.75f, 0.75f)); KinematicCharacterMotor[] componentsInChildren = myCharacter.GetComponentsInChildren(); foreach (KinematicCharacterMotor val in componentsInChildren) { val.SetCapsuleDimensions(val.Capsule.radius * 0.5f, val.Capsule.height * 0.5f, 0f); } CharacterModel componentInChildren = myCharacter.GetComponentInChildren(); SkinDef val2 = Addressables.LoadAssetAsync((object)RoR2_Base_LemurianBruiser.skinLemurianBruiserBodyDefault_asset).WaitForCompletion(); SkinDef val3 = Object.Instantiate(val2); SkinDefParams val4 = Addressables.LoadAssetAsync((object)RoR2_Base_LemurianBruiser_skinLemurianBruiserBodyDefault.params_asset).WaitForCompletion(); val3.skinDefParams = Object.Instantiate(val4); val3.skinDefParamsAddress = new AssetReferenceT(""); val3.rootObject = ((Component)componentInChildren).gameObject; Renderer component = ((Component)((Component)componentInChildren).transform.Find("LemurianBruiserMesh")).GetComponent(); Debug.Log((object)("rendname: " + ((Object)component).name)); RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[1] { new RendererInfo { renderer = component, defaultMaterial = Addressables.LoadAssetAsync((object)RoR2_DLC1_VoidSurvivor.matVoidSurvivorBlasterSphereAreaIndicatorCorrupted_mat).WaitForCompletion(), defaultShadowCastingMode = (ShadowCastingMode)1, ignoreOverlays = false } }; val3.skinDefParams.rendererInfos = array; val3.icon = Skins.CreateSkinIcon(new Color(1f, 1f, 1f), new Color(0.4f, 0f, 0.4f), new Color(1f, 1f, 1f), new Color(0.4f, 0f, 0.4f)); val3.skinDefParams.meshReplacements[0].renderer = component; ((Component)componentInChildren).gameObject.GetComponent().skins[0] = val3; ((Component)componentInChildren).GetComponentInChildren().baseRendererInfos = array; characterDisplay = PrefabAPI.InstantiateClone(((Component)myCharacter.GetComponent().modelBaseTransform).gameObject, "ElderLemurianDisplay"); characterDisplay.transform.localScale = Vector3.one * 0.4f; characterDisplay.AddComponent(); KinematicCharacterMotor component2 = myCharacter.GetComponent(); component2.playerCharacter = true; CharacterCameraParams val5 = ScriptableObject.CreateInstance(); ((Object)val5).name = "ElderCam"; val5.data.minPitch = BlendableFloat.op_Implicit(-80f); val5.data.maxPitch = BlendableFloat.op_Implicit(80f); val5.data.wallCushion = BlendableFloat.op_Implicit(0.1f); val5.data.pivotVerticalOffset = BlendableFloat.op_Implicit(0f); val5.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, 3.5f, -16f)); myCharacter.GetComponent().cameraParams = val5; CharacterBody component3 = myCharacter.GetComponent(); component3.bodyFlags = (BodyFlags)16; component3.SetSpreadBloom(0f, false); component3.spreadBloomCurve = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .spreadBloomCurve; component3.spreadBloomDecayTime = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .spreadBloomDecayTime; ((Object)component3).name = "ElderLemurian_Survivor"; component3.baseNameToken = "ElderLemurian_Survivor"; component3.subtitleNameToken = "ElderLemurian"; component3.baseMaxHealth = Lemurian.baseHealth.Value * 2f; component3.levelMaxHealth = Lemurian.healthGrowth.Value; component3.baseRegen = Lemurian.baseRegen.Value; component3.levelRegen = Lemurian.regenGrowth.Value; component3.baseDamage = Lemurian.baseDamage.Value; component3.levelDamage = Lemurian.damageGrowth.Value; component3.baseArmor = Lemurian.baseArmor.Value * 2f; component3.baseJumpPower = Lemurian.baseJumpPower.Value * 1.25f; component3.baseMoveSpeed = 8f; component3.preferredPodPrefab = Addressables.LoadAssetAsync((object)"RoR2/Base/Croco/CrocoBody.prefab").WaitForCompletion().GetComponent() .preferredPodPrefab; component3.levelMoveSpeed = Addressables.LoadAssetAsync((object)"RoR2/Base/Loader/LoaderBody.prefab").WaitForCompletion().GetComponent() .levelMoveSpeed; component3.sprintingSpeedMultiplier = Addressables.LoadAssetAsync((object)"RoR2/Base/Loader/LoaderBody.prefab").WaitForCompletion().GetComponent() .sprintingSpeedMultiplier; ((Component)component3).GetComponent().mass = 500f; EntityStateMachine component4 = ((Component)myCharacter.GetComponent()).GetComponent(); component4.mainStateType = new SerializableEntityStateType(typeof(ElderLemurianMain)); myCharacter.AddComponent(); ElderLemurianPrefab = myCharacter; SurvivorDef val6 = ScriptableObject.CreateInstance(); val6.cachedName = "ElderLemurian_Survivor"; val6.descriptionToken = "none"; val6.primaryColor = Color.black; val6.bodyPrefab = ElderLemurianPrefab; val6.displayPrefab = characterDisplay; val6.outroFlavorToken = "LEMURIAN_ENDING"; val6.desiredSortPosition = 15f; val6.hidden = true; Loader.entityStates.Add(typeof(ElderLemurianMain)); Loader.survivorDefs.Add(val6); Loader.bodyPrefabs.Add(myCharacter); } internal static void ElderSkillSetup() { //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) //IL_008a: 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_013a: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Expected O, but got Unknown //IL_015d: 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_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: 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_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_0279: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Expected O, but got Unknown //IL_029e: 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) //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Unknown result type (might be due to invalid IL or missing references) //IL_02fd: 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_03ba: 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_03de: Expected O, but got Unknown //IL_03df: Unknown result type (might be due to invalid IL or missing references) //IL_03e1: Unknown result type (might be due to invalid IL or missing references) //IL_03f9: Unknown result type (might be due to invalid IL or missing references) //IL_03fe: Unknown result type (might be due to invalid IL or missing references) //IL_043e: Unknown result type (might be due to invalid IL or missing references) //IL_047a: Unknown result type (might be due to invalid IL or missing references) //IL_047f: 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_0515: Unknown result type (might be due to invalid IL or missing references) //IL_051f: Expected O, but got Unknown //IL_0520: Unknown result type (might be due to invalid IL or missing references) //IL_0522: Unknown result type (might be due to invalid IL or missing references) GenericSkill[] componentsInChildren = myCharacter.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { Object.DestroyImmediate((Object)(object)componentsInChildren[i]); } SkillLocator component = myCharacter.GetComponent(); SkillDef val = ScriptableObject.CreateInstance(); val.activationState = new SerializableEntityStateType(typeof(ElderLemurianPrimary)); val.activationStateMachineName = "Weapon"; val.baseMaxStock = 0; val.baseRechargeInterval = 0f; val.beginSkillCooldownOnSkillEnd = true; val.canceledFromSprinting = true; val.fullRestockOnAssign = true; val.interruptPriority = (InterruptPriority)0; val.isCombatSkill = true; val.mustKeyPress = false; val.rechargeStock = 1; val.requiredStock = 0; val.cancelSprintingOnActivation = true; val.stockToConsume = 1; val.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/EclipseRun/texDifficultyEclipse1Icon.png").WaitForCompletion(); val.skillDescriptionToken = "ElderPrimary_DESCRIPTION"; val.skillName = "ElderPrimary_NAME"; val.skillNameToken = "ElderPrimary_NAME"; component.primary = myCharacter.AddComponent(); SkillFamily val2 = ScriptableObject.CreateInstance(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.primary, "_skillFamily", val2); Variant[] variants = component.primary.skillFamily.variants; Variant val3 = new Variant { skillDef = val }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants[0] = val3; SkillDef val4 = ScriptableObject.CreateInstance(); val4.activationState = new SerializableEntityStateType(typeof(ElderLemurianSecondary)); val4.activationStateMachineName = "Weapon"; val4.baseMaxStock = 1; val4.baseRechargeInterval = 5f; val4.beginSkillCooldownOnSkillEnd = false; val4.canceledFromSprinting = false; val4.fullRestockOnAssign = true; val4.interruptPriority = (InterruptPriority)2; val4.isCombatSkill = true; val4.mustKeyPress = true; val4.rechargeStock = 1; val4.requiredStock = 1; val4.cancelSprintingOnActivation = true; val4.stockToConsume = 1; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/EclipseRun/texDifficultyEclipse2Icon.png").WaitForCompletion(); val4.skillDescriptionToken = "ElderSecondary_DESCRIPTION"; val4.skillName = "ElderSecondary_NAME"; val4.skillNameToken = "ElderSecondary_NAME"; component.secondary = myCharacter.AddComponent(); SkillFamily val5 = ScriptableObject.CreateInstance(); val5.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.secondary, "_skillFamily", val5); Variant[] variants2 = component.secondary.skillFamily.variants; val3 = new Variant { skillDef = val4 }; ((Variant)(ref val3)).viewableNode = new Node(val4.skillNameToken, false, (Node)null); variants2[0] = val3; SkillDef val6 = ScriptableObject.CreateInstance(); val6.activationState = new SerializableEntityStateType(typeof(ElderLemurianUtility)); val6.activationStateMachineName = "Weapon"; val6.baseMaxStock = 1; val6.baseRechargeInterval = 7.5f; val6.beginSkillCooldownOnSkillEnd = false; val6.canceledFromSprinting = false; val6.fullRestockOnAssign = true; val6.interruptPriority = (InterruptPriority)2; val6.isCombatSkill = false; val6.mustKeyPress = true; val6.rechargeStock = 1; val6.requiredStock = 1; val6.cancelSprintingOnActivation = true; val6.stockToConsume = 1; val6.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/EclipseRun/texDifficultyEclipse3Icon.png").WaitForCompletion(); val6.skillDescriptionToken = "ElderUtil_DESCRIPTION"; val6.skillName = "ElderUtil_NAME"; val6.skillNameToken = "ElderUtil_NAME"; component.utility = myCharacter.AddComponent(); SkillFamily val7 = ScriptableObject.CreateInstance(); val7.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.utility, "_skillFamily", val7); Variant[] variants3 = component.utility.skillFamily.variants; val3 = new Variant { skillDef = val6 }; ((Variant)(ref val3)).viewableNode = new Node(val6.skillNameToken, false, (Node)null); variants3[0] = val3; SkillDef val8 = ScriptableObject.CreateInstance(); val8.activationState = new SerializableEntityStateType(typeof(ElderLemurianSpecial)); val8.activationStateMachineName = "Weapon"; val8.baseMaxStock = 1; val8.baseRechargeInterval = 10f; val8.beginSkillCooldownOnSkillEnd = true; val8.canceledFromSprinting = false; val8.fullRestockOnAssign = true; val8.interruptPriority = (InterruptPriority)2; val8.isCombatSkill = true; val8.mustKeyPress = true; val8.cancelSprintingOnActivation = true; val8.rechargeStock = 1; val8.requiredStock = 1; val8.stockToConsume = 1; val8.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/EclipseRun/texDifficultyEclipse4Icon.png").WaitForCompletion(); val8.skillDescriptionToken = "ElderSpecial_DESCRIPTION"; val8.skillName = "ElderSpecial_NAME"; val8.skillNameToken = "ElderSpecial_NAME"; component.special = myCharacter.AddComponent(); SkillFamily val9 = ScriptableObject.CreateInstance(); val9.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.special, "_skillFamily", val9); Variant[] variants4 = component.special.skillFamily.variants; val3 = new Variant { skillDef = val8 }; ((Variant)(ref val3)).viewableNode = new Node(val8.skillNameToken, false, (Node)null); variants4[0] = val3; Loader.entityStates.Add(typeof(ElderLemurianPrimary)); Loader.entityStates.Add(typeof(ElderLemurianSecondary)); Loader.entityStates.Add(typeof(ElderLemurianUtility)); Loader.entityStates.Add(typeof(ElderLemurianSpecial)); } } public class ElderLemurianSecondary : BaseState { public static float damageCoefficient; public static float force; public static GameObject effectPrefab; public static GameObject hitEffectPrefab; public static float bulletRadius; public static int baseBulletCount = 5; private int totalBulletsFired; private int bulletCount; public float stopwatchBetweenShots; private Animator modelAnimator; private float duration; private float durationBetweenShots; public override void OnEnter() { ((BaseState)this).OnEnter(); duration = 0.66f; ((EntityState)this).characterBody.SetAimTimer(duration); bulletCount = baseBulletCount + (int)base.attackSpeedStat; durationBetweenShots = 0.5f / (float)bulletCount; } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); stopwatchBetweenShots += Time.fixedDeltaTime; if (stopwatchBetweenShots >= durationBetweenShots && totalBulletsFired < bulletCount) { stopwatchBetweenShots -= durationBetweenShots; ((EntityState)this).PlayAnimation("Gesture, Additive", "FireMegaFireball", "FireMegaFireball.playbackRate", duration / (float)bulletCount, 0f); Util.PlaySound(DodgeState.dodgeSoundString, ((EntityState)this).gameObject); string text = "MuzzleMouth"; if (Object.op_Implicit((Object)(object)modelAnimator) && Object.op_Implicit((Object)(object)FireBarrage.effectPrefab)) { EffectManager.SimpleMuzzleFlash(FireFireball.effectPrefab, ((EntityState)this).gameObject, text, true); } ((BaseState)this).AddRecoil(-0.3f, -0.3f, -0.1f, 0.1f); if (((EntityState)this).isAuthority) { FireBullet(); } ((EntityState)this).characterBody.AddSpreadBloom(FireBarrage.spreadBloomValue); totalBulletsFired++; } if (totalBulletsFired == bulletCount && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } public void FireBullet() { //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_0025: 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_0032: 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_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_0049: 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_012e: 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_013a: 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_0088: 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_00b7: 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_00bd: Unknown result type (might be due to invalid IL or missing references) Ray aimRay = ((BaseState)this).GetAimRay(); Util.PlayAttackSpeedSound(FireFireball.attackString, ((EntityState)this).gameObject, base.attackSpeedStat); GameObject gameObject = ((EntityState)this).gameObject; Ray val = aimRay; LayerIndex val2 = LayerIndex.world; int num = LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask); val2 = LayerIndex.entityPrecise; RaycastHit val3 = default(RaycastHit); if (Util.CharacterRaycast(gameObject, val, ref val3, 1000f, LayerMask.op_Implicit(num | LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask)), (QueryTriggerInteraction)1)) { Vector3 val4 = ((RaycastHit)(ref val3)).point - ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position; ProjectileManager.instance.FireProjectile(ElderLemurian.ElderSecProjectile, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, Util.QuaternionSafeLookRotation(val4), ((EntityState)this).gameObject, base.damageStat * 2.5f, 10f, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, 100f, (DamageTypeCombo?)null); } else { ProjectileManager.instance.FireProjectile(ElderLemurian.ElderSecProjectile, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), ((EntityState)this).gameObject, base.damageStat * 2.5f, 10f, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, 100f, (DamageTypeCombo?)null); } } public override void OnExit() { ((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)7; } } public class ElderLemurianPrimary : BaseState { public static GameObject muzzleflashEffectPrefab; public static int projectileCount = 3; public static float totalYawSpread = 12.5f; public static float baseDuration = 0.65f; public static float baseFireDuration = 0.2f; public static float damageCoefficient = 2f; public static float projectileSpeed; public static float force = 10f; public static string attackString; private float duration; private float fireDuration; private int projectilesFired; public GameObject chargeInstance; public override void OnEnter() { //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) ((BaseState)this).OnEnter(); duration = baseDuration / base.attackSpeedStat; fireDuration = baseFireDuration / base.attackSpeedStat; ((EntityState)this).characterBody.SetAimTimer(duration); Transform modelTransform = ((EntityState)this).GetModelTransform(); Util.PlayAttackSpeedSound(ChargeMegaFireball.attackString, ((EntityState)this).gameObject, base.attackSpeedStat); if (Object.op_Implicit((Object)(object)modelTransform)) { ChildLocator component = ((Component)modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { Transform val = component.FindChild("MuzzleMouth"); if (Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)ChargeMegaFireball.chargeEffectPrefab)) { chargeInstance = Object.Instantiate(ChargeFireball.chargeVfxPrefab, val.position, val.rotation); chargeInstance.transform.parent = val; ScaleParticleSystemDuration component2 = chargeInstance.GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { component2.newDuration = duration; } } } } ((EntityState)this).PlayCrossfade("Gesture, Additive", "ChargeMegaFireball", "ChargeMegaFireball.playbackRate", duration, 0.1f); } public override void OnExit() { ((EntityState)this).OnExit(); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); string text = "MuzzleMouth"; int num = Mathf.FloorToInt(((EntityState)this).fixedAge / fireDuration * (float)projectileCount); if (projectilesFired <= num && projectilesFired < projectileCount && (double)((EntityState)this).fixedAge >= (double)duration) { if (Object.op_Implicit((Object)(object)FireMegaFireball.muzzleflashEffectPrefab)) { EffectManager.SimpleMuzzleFlash(FireMegaFireball.muzzleflashEffectPrefab, ((EntityState)this).gameObject, text, false); } ((EntityState)this).GetModelTransform(); if (((EntityState)this).isAuthority) { FireBullet(); } projectilesFired++; } if ((double)((EntityState)this).fixedAge >= (double)duration && ((EntityState)this).isAuthority && projectilesFired >= 3) { ((EntityState)this).PlayAnimation("Gesture, Additive", "FireMegaFireball", "FireMegaFireball.playbackRate", duration, 0f); Util.PlaySound(FireMegaFireball.attackString, ((EntityState)this).gameObject); ((EntityState)this).outer.SetNextStateToMain(); } } public void FireBullet() { //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_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: 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_0061: 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_006a: 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_0155: 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_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: 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_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_00b5: 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_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_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) Ray aimRay = ((BaseState)this).GetAimRay(); float num = FireMegaFireball.projectileSpeed; float num2 = (float)Mathf.FloorToInt((float)projectilesFired - (float)(projectileCount - 1) / 2f) / (float)(projectileCount - 1) * totalYawSpread / 1.5f; GameObject gameObject = ((EntityState)this).gameObject; Ray val = aimRay; LayerIndex val2 = LayerIndex.world; int num3 = LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask); val2 = LayerIndex.entityPrecise; RaycastHit val3 = default(RaycastHit); if (Util.CharacterRaycast(gameObject, val, ref val3, 1000f, LayerMask.op_Implicit(num3 | LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask)), (QueryTriggerInteraction)1)) { Vector3 val4 = ((RaycastHit)(ref val3)).point - ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position; val4 = Util.ApplySpread(((Ray)(ref aimRay)).direction, 0f, 0f, 1f, 1f, num2, 0f); ProjectileManager.instance.FireProjectile(Lemurian.SecProjectile1, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, Util.QuaternionSafeLookRotation(val4), ((EntityState)this).gameObject, base.damageStat * damageCoefficient, force, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, num, (DamageTypeCombo?)null); } else { Vector3 val5 = Util.ApplySpread(((Ray)(ref aimRay)).direction, 0f, 0f, 1f, 1f, num2, 0f); ProjectileManager.instance.FireProjectile(Lemurian.SecProjectile1, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, Util.QuaternionSafeLookRotation(val5), ((EntityState)this).gameObject, base.damageStat * damageCoefficient, force, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, num, (DamageTypeCombo?)null); } } 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 ElderLemurianMain : GenericCharacterMain { private float stopWatch; public override void OnEnter() { ((GenericCharacterMain)this).OnEnter(); ((EntityState)this).characterBody.AddTimedBuff(Buffs.TransformBuff, 30f + ((EntityState)this).characterBody.level / 5f); ((EntityState)this).characterBody.AddBuff(Buffs.AffixRed); CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.LemChprefab, (OverridePriority)0); if (Object.op_Implicit((Object)(object)((EntityState)this).GetModelTransform())) { TemporaryOverlayInstance val = TemporaryOverlayManager.AddOverlay(((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent()).gameObject); val.duration = 33f + ((EntityState)this).characterBody.level / 5f; val.destroyComponentOnEnd = true; val.originalMaterial = LemPrefabs.FireBuffMat; val.inspectorCharacterModel = ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent()).gameObject.GetComponent(); val.alphaCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); val.animateShaderAlpha = true; } } public override void Update() { ((GenericCharacterMain)this).Update(); } public override void FixedUpdate() { ((GenericCharacterMain)this).FixedUpdate(); stopWatch += Time.fixedDeltaTime; if (((EntityState)this).isAuthority && stopWatch >= 30f + ((EntityState)this).characterBody.level / 5f) { Switch nextState = new Switch(); ((EntityState)this).outer.SetNextState((EntityState)(object)nextState); } } public override void OnExit() { ((GenericCharacterMain)this).OnExit(); } } public class ElderLemurianSpecial : BaseState { public static GameObject flamethrowerEffectPrefab; public static GameObject impactEffectPrefab; public static float maxDistance; public static float radius; public static float baseEntryDuration = 0.1f; public static float baseExitDuration = 0.15f; public static float baseFlamethrowerDuration = 1f; public static float totalDamageCoefficient = 0.5f; private float tickFrequency; public static float force = 20f; public static string startAttackSoundString; public static string endAttackSoundString; public static float maxSpread; private float tickDamageCoefficient; private float flamethrowerStopwatch; private float stopwatch; private float entryDuration; private float exitDuration; private float flamethrowerDuration; private bool hasBegunFlamethrower; private ChildLocator childLocator; private Transform muzzleTransform; private GameObject flamethrowerEffectInstance; public static int igniter; private GameObject defaultdefaultCrosshairPrefab; public static Vector3 positioner; public static Vector3 positioner2; public override void OnEnter() { ((BaseState)this).OnEnter(); CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.LemSpecialCh, (OverridePriority)0); stopwatch = 0f; entryDuration = baseEntryDuration / base.attackSpeedStat; exitDuration = baseExitDuration / base.attackSpeedStat; flamethrowerDuration = 3f; tickFrequency = 25f; ((Component)((EntityState)this).characterBody).GetComponent().mass = 1500f; Transform modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { childLocator = ((Component)modelTransform).GetComponent(); ((Behaviour)((Component)modelTransform).GetComponent()).enabled = true; } tickDamageCoefficient = totalDamageCoefficient; defaultdefaultCrosshairPrefab = ((EntityState)this).characterBody.defaultCrosshairPrefab; flamethrowerEffectPrefab = LemPrefabs.FlameEffect; ((EntityState)this).PlayAnimation("Gesture, Additive", "FireMegaFireball", "FireMegaFireball.playbackRate", flamethrowerDuration * 2f, 0f); } public override void OnExit() { //IL_0002: 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_00f0: 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_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Expected O, but got Unknown //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_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_0078: 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_009b: 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_00ab: 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_00bd: 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) //IL_00c7: 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_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_00df: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).GetAimRay(); Util.PlaySound(Flamebreath.endAttackSoundString, ((EntityState)this).gameObject); if (Object.op_Implicit((Object)(object)flamethrowerEffectInstance)) { EntityState.Destroy((Object)(object)flamethrowerEffectInstance.gameObject); } if (((EntityState)this).isAuthority) { new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, baseDamage = base.damageStat * 2.5f, crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), falloffModel = (FalloffModel)0, procCoefficient = 1f, radius = 25f, position = ((EntityState)this).transform.position, attackerFiltering = (AttackerFiltering)2, teamIndex = ((EntityState)this).teamComponent.teamIndex }.Fire(); } EffectManager.SpawnEffect(LemPrefabs.LemPrim2Explo, new EffectData { origin = ((EntityState)this).gameObject.transform.position, scale = 25f }, true); Util.PlaySound(FireLaser.attackSoundString, ((EntityState)this).gameObject); ((Component)((EntityState)this).characterBody).GetComponent().mass = 500f; CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.LemChprefab, (OverridePriority)0); ((EntityState)this).OnExit(); } public override void FixedUpdate() { //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_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_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_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) ((EntityState)this).FixedUpdate(); ((EntityState)this).characterBody.SetAimTimer(0.25f); stopwatch += Time.fixedDeltaTime; if (stopwatch >= entryDuration && stopwatch < entryDuration + flamethrowerDuration && !hasBegunFlamethrower) { hasBegunFlamethrower = true; Util.PlaySound(Flamebreath.startAttackSoundString, ((EntityState)this).gameObject); if (Object.op_Implicit((Object)(object)childLocator)) { DoFlameEffects(); } } if (stopwatch >= entryDuration + flamethrowerDuration && hasBegunFlamethrower) { hasBegunFlamethrower = false; } if (hasBegunFlamethrower) { flamethrowerStopwatch += Time.fixedDeltaTime; if (flamethrowerStopwatch > 1f / tickFrequency) { flamethrowerStopwatch -= 1f / tickFrequency; Transform transform = flamethrowerEffectInstance.transform; Ray aimRay = ((BaseState)this).GetAimRay(); transform.localRotation = Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction + new Vector3(0f, 0.1f, 0f)); flamethrowerEffectInstance.transform.position = muzzleTransform.position + ((EntityState)this).characterMotor.characterDirection.forward; FireFlame("MuzzleMouth"); FireExplosions(); FireExplosions2(); } } if (stopwatch >= flamethrowerDuration + entryDuration + exitDuration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } else if (((ButtonState)(ref ((EntityState)this).inputBank.skill4)).justReleased) { ((EntityState)this).outer.SetNextStateToMain(); } } protected void DoFlameEffects() { //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_002a: 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_0036: 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_0061: Unknown result type (might be due to invalid IL or missing references) Ray aimRay = ((BaseState)this).GetAimRay(); muzzleTransform = childLocator.FindChild("MuzzleMouth"); flamethrowerEffectInstance = Object.Instantiate(flamethrowerEffectPrefab, ((EntityState)this).characterBody.aimOrigin, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), ((EntityState)this).transform); Transform transform = flamethrowerEffectInstance.transform; transform.localScale *= 1.5f; flamethrowerEffectInstance.GetComponent().newDuration = flamethrowerDuration; } protected void FireFlame(string muzzleString) { //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_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0037: 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_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: 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_005d: 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_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_0097: 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_00be: 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_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_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_00d8: 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_00ef: Unknown result type (might be due to invalid IL or missing references) if (((EntityState)this).isAuthority) { BulletAttack val = new BulletAttack { owner = ((EntityState)this).gameObject, weapon = ((EntityState)this).gameObject, minSpread = 1f, maxSpread = 5f, origin = ((EntityState)this).characterBody.aimOrigin }; Ray aimRay = ((BaseState)this).GetAimRay(); val.aimVector = ((Ray)(ref aimRay)).direction; val.damage = base.damageStat * totalDamageCoefficient; val.force = 10f; val.muzzleName = muzzleString; val.hitEffectPrefab = LemPrefabs.LemPrim2Explo; val.isCrit = Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master); val.radius = 1.5f; val.falloffModel = (FalloffModel)0; LayerIndex world = LayerIndex.world; val.stopperMask = ((LayerIndex)(ref world)).mask; val.procCoefficient = 0.25f; val.maxDistance = 25f; val.smartCollision = true; val.Fire(); } } protected void FireExplosions() { //IL_000c: 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_004d: 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_005e: 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_0076: 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_0099: 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_00b4: 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_00bf: 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_00c6: 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_00d7: 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_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Expected O, but got Unknown positioner = ((EntityState)this).gameObject.transform.position - new Vector3(Random.Range(-25f, 25f), Random.Range(0f, 2.5f), Random.Range(-25f, 25f)); new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, baseDamage = base.damageStat, crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), falloffModel = (FalloffModel)0, procCoefficient = 0.75f, radius = 10f, position = positioner, attackerFiltering = (AttackerFiltering)2, teamIndex = ((EntityState)this).teamComponent.teamIndex }.Fire(); EffectManager.SpawnEffect(LemPrefabs.LemPrim2Explo, new EffectData { origin = positioner, scale = 5f }, true); } protected void FireExplosions2() { //IL_000c: 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_004d: 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_005e: 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_0076: 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_0099: 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_00b4: 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_00bf: 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_00c6: 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_00d7: 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_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Expected O, but got Unknown positioner2 = ((EntityState)this).gameObject.transform.position + new Vector3(Random.Range(-15f, 15f), Random.Range(2.5f, 10f), Random.Range(-15f, 15f)); new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, baseDamage = base.damageStat, crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), falloffModel = (FalloffModel)0, procCoefficient = 0.75f, radius = 10f, position = positioner2, attackerFiltering = (AttackerFiltering)2, teamIndex = ((EntityState)this).teamComponent.teamIndex }.Fire(); EffectManager.SpawnEffect(LemPrefabs.LemPrim2Explo, new EffectData { origin = positioner2, scale = 5f }, 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)2; } } public static class Projectiles { internal static void ProjectileSetup() { //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_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_0090: 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_00d5: 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_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) //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) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: 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_0237: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Unknown result type (might be due to invalid IL or missing references) //IL_0290: 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_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: 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_0343: Unknown result type (might be due to invalid IL or missing references) //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_036b: Unknown result type (might be due to invalid IL or missing references) //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_03cf: 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_047b: Unknown result type (might be due to invalid IL or missing references) //IL_0480: Unknown result type (might be due to invalid IL or missing references) //IL_0492: 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_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_0515: Unknown result type (might be due to invalid IL or missing references) //IL_051a: 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_05b0: Unknown result type (might be due to invalid IL or missing references) //IL_05d4: Unknown result type (might be due to invalid IL or missing references) //IL_05d9: Unknown result type (might be due to invalid IL or missing references) //IL_05fc: Unknown result type (might be due to invalid IL or missing references) //IL_060c: Unknown result type (might be due to invalid IL or missing references) //IL_0611: Unknown result type (might be due to invalid IL or missing references) //IL_065b: Unknown result type (might be due to invalid IL or missing references) //IL_0698: Unknown result type (might be due to invalid IL or missing references) //IL_069d: Unknown result type (might be due to invalid IL or missing references) //IL_06c9: Unknown result type (might be due to invalid IL or missing references) //IL_06ce: Unknown result type (might be due to invalid IL or missing references) //IL_06e1: Unknown result type (might be due to invalid IL or missing references) //IL_06e6: Unknown result type (might be due to invalid IL or missing references) //IL_071d: Unknown result type (might be due to invalid IL or missing references) //IL_0722: Unknown result type (might be due to invalid IL or missing references) //IL_0795: Unknown result type (might be due to invalid IL or missing references) //IL_07a5: Unknown result type (might be due to invalid IL or missing references) //IL_07aa: Unknown result type (might be due to invalid IL or missing references) //IL_0808: Unknown result type (might be due to invalid IL or missing references) //IL_0836: Unknown result type (might be due to invalid IL or missing references) //IL_083b: Unknown result type (might be due to invalid IL or missing references) //IL_041e: Unknown result type (might be due to invalid IL or missing references) Lemurian.PrimProjectile = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/Fireball.prefab").WaitForCompletion(), "Prefabs/Projectiles/PrimFlameProjectile", true); Lemurian.PrimProjectile.GetComponent().procCoefficient = 1.01f; Lemurian.PrimProjectile.GetComponent().lifetime = 10f; Lemurian.SecProjectile1 = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/LemurianBruiser/LemurianBigFireball.prefab").WaitForCompletion(), "Prefabs/Projectiles/SecFlameProjectile1", true); ((ProjectileExplosion)Lemurian.SecProjectile1.GetComponent()).blastRadius = 2.5f; Lemurian.SecProjectile1.GetComponent().impactEffect = Addressables.LoadAssetAsync((object)"RoR2/Base/LemurianBruiser/OmniExplosionVFXLemurianBruiserFireballImpact.prefab").WaitForCompletion(); ((ProjectileExplosion)Lemurian.SecProjectile1.GetComponent()).blastProcCoefficient = 1f; ((ProjectileExplosion)Lemurian.SecProjectile1.GetComponent()).blastDamageCoefficient = 1f; ((ProjectileExplosion)Lemurian.SecProjectile1.GetComponent()).falloffModel = (FalloffModel)0; Lemurian.SecProjectile1.GetComponent().procCoefficient = 1.01f; ((Component)Lemurian.SecProjectile1.GetComponent()).transform.localScale = new Vector3(1f, 1f, 1f); Lemurian.SecProjectile2 = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/LemurianBruiser/LemurianBigFireball.prefab").WaitForCompletion(), "Prefabs/Projectiles/SecFlameProjectile2", true); ((ProjectileExplosion)Lemurian.SecProjectile2.GetComponent()).blastRadius = 4f; Lemurian.SecProjectile2.GetComponent().impactEffect = Addressables.LoadAssetAsync((object)"RoR2/Base/LemurianBruiser/OmniExplosionVFXLemurianBruiserFireballImpact.prefab").WaitForCompletion(); ((ProjectileExplosion)Lemurian.SecProjectile2.GetComponent()).blastProcCoefficient = 1f; ((ProjectileExplosion)Lemurian.SecProjectile2.GetComponent()).blastDamageCoefficient = 1f; ((ProjectileExplosion)Lemurian.SecProjectile2.GetComponent()).falloffModel = (FalloffModel)0; Lemurian.SecProjectile2.GetComponent().procCoefficient = 1.01f; ((Component)Lemurian.SecProjectile2.GetComponent()).transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); Lemurian.SecProjectile2.GetComponent().ghostPrefab = Addressables.LoadAssetAsync((object)"RoR2/Base/FireballsOnHit/FireMeatBallGhost.prefab").WaitForCompletion(); Lemurian.SecProjectile2.GetComponent().ghostPrefab.transform.localScale = new Vector3(1.4f, 1.4f, 1.4f); Lemurian.SecProjectile3 = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/MagmaWorm/MagmaOrbProjectile.prefab").WaitForCompletion(), "Prefabs/Projectiles/SecFlameProjectile3", true); Lemurian.SecProjectile3.GetComponent().desiredForwardSpeed = 75f; ((ProjectileExplosion)Lemurian.SecProjectile3.GetComponent()).blastRadius = 10f; Lemurian.SecProjectile3.GetComponent().impactEffect = Addressables.LoadAssetAsync((object)"RoR2/Junk/ArchWisp/OmniExplosionVFXArchWispCannonImpact.prefab").WaitForCompletion(); ((ProjectileExplosion)Lemurian.SecProjectile3.GetComponent()).blastProcCoefficient = 1f; ((ProjectileExplosion)Lemurian.SecProjectile3.GetComponent()).falloffModel = (FalloffModel)0; ((ProjectileExplosion)Lemurian.SecProjectile3.GetComponent()).blastDamageCoefficient = 1f; ((ProjectileExplosion)Lemurian.SecProjectile3.GetComponent()).bonusBlastForce = new Vector3(0f, 0f, 0f); Lemurian.SecProjectile3.GetComponent().useGravity = true; Lemurian.SecProjectile3.GetComponent().procCoefficient = 1.01f; Lemurian.SecProjectile3.GetComponent().ghostPrefab = Addressables.LoadAssetAsync((object)"RoR2/DLC2/Scorchling/ScorchlingBombGhost.prefab").WaitForCompletion(); Lemurian.UtilProjectile = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/MiniMushroom/SporeGrenadeProjectileDotZone.prefab").WaitForCompletion(), "Prefabs/Projectiles/UtilFlameProjectile", true); Lemurian.UtilProjectile.GetComponent().damageType = DamageTypeCombo.op_Implicit((DamageType)8); Lemurian.UtilProjectile.GetComponent().fireFrequency = 5f; Lemurian.UtilProjectile.GetComponent().overlapProcCoefficient = 0.7f; Lemurian.UtilProjectile.GetComponent().lifetime = 3f; ((Component)Lemurian.UtilProjectile.GetComponent()).transform.localScale = new Vector3(10f, 10f, 10f); Lemurian.UtilProjectile.GetComponent().damageCoefficient = 0.5f; Transform val = Lemurian.UtilProjectile.transform.Find("FX"); if (Object.op_Implicit((Object)(object)val)) { val.localScale = new Vector3(0.9f, 0.9f, 0.9f); } ((Component)Lemurian.UtilProjectile.transform.Find("FX/ScaledOnImpact/Decal")).GetComponentInChildren().localScale = new Vector3(2.3f, 1f, 2.3f); ((Component)Lemurian.UtilProjectile.transform.Find("FX/ScaledOnImpact/Decal")).GetComponentInChildren().Material = Addressables.LoadAssetAsync((object)"RoR2/DLC1/Molotov/matMolotovDecal.mat").WaitForCompletion(); Lemurian.UtilFlameDot = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/ElementalRings/FireTornado.prefab").WaitForCompletion(), "Prefabs/Projectiles/UtilFlameProjectile2", true); Lemurian.UtilFlameDot.GetComponent().damageType = DamageTypeCombo.op_Implicit((DamageType)0); Lemurian.UtilFlameDot.GetComponent().damage = 1f; Lemurian.UtilFlameDot.GetComponent().lifetime = 3f; Lemurian.UtilFlameDot.GetComponent().crit = false; Lemurian.UtilFlameDot.GetComponent().procCoefficient = 0f; ElderLemurian.ElderSecProjectile = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/GreaterWisp/WispCannon.prefab").WaitForCompletion(), "Prefabs/Projectiles/ElderSecProjectile", true); ((ProjectileExplosion)ElderLemurian.ElderSecProjectile.GetComponent()).blastRadius = 10f; ((ProjectileExplosion)ElderLemurian.ElderSecProjectile.GetComponent()).blastProcCoefficient = 1f; ((ProjectileExplosion)ElderLemurian.ElderSecProjectile.GetComponent()).blastDamageCoefficient = 1f; ((ProjectileExplosion)ElderLemurian.ElderSecProjectile.GetComponent()).bonusBlastForce = new Vector3(0f, 0f, 0f); ElderLemurian.ElderSecProjectile.GetComponent().lifetimeAfterImpact = 0.01f; ((ProjectileExplosion)ElderLemurian.ElderSecProjectile.GetComponent()).falloffModel = (FalloffModel)0; ElderLemurian.ElderSecProjectile.GetComponent().procCoefficient = 1f; ElderLemurian.ElderSecProjectile.GetComponent().damageType = DamageTypeCombo.op_Implicit((DamageType)0); ((Component)ElderLemurian.ElderSecProjectile.GetComponent()).transform.localScale = new Vector3(1f, 1f, 1f); ElderLemurian.ElderUtilProjectile = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Blackhole/GravSphere.prefab").WaitForCompletion(), "Prefabs/Projectiles/ElderUtilProjectile", true); ElderLemurian.ElderUtilProjectile.GetComponent().lifetime = 5f; ((Component)ElderLemurian.ElderUtilProjectile.GetComponent()).transform.localScale = new Vector3(2f, 2f, 2f); ElderLemurian.ElderUtilProjectile.GetComponent().radius = 60f; ((Renderer)((Component)ElderLemurian.ElderUtilProjectile.transform.Find("Sphere")).GetComponentInChildren()).sharedMaterial = Addressables.LoadAssetAsync((object)"RoR2/Base/Grandparent/matGrandParentSunCore.mat").WaitForCompletion(); ((Renderer)((Component)ElderLemurian.ElderUtilProjectile.transform.Find("SwingTrail, Light")).GetComponentInChildren()).sharedMaterial = Addressables.LoadAssetAsync((object)"RoR2/Base/Common/VFX/mageMageFireStarburst.mat").WaitForCompletion(); Imp.VoidSpike = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/ImpBoss/ImpVoidspikeProjectile.prefab").WaitForCompletion(), "Prefabs/Projectiles/VoidSpikeProjectile", true); Imp.VoidSpike.GetComponent().procCoefficient = 1.01f; Imp.VoidSpike.GetComponent().damageType = DamageTypeCombo.op_Implicit((DamageType)0); Imp.VoidSpike.GetComponent().lifetime = 15f; ((ProjectileExplosion)Imp.VoidSpike.GetComponent()).blastRadius = 2.5f; ((ProjectileExplosion)Imp.VoidSpike.GetComponent()).blastProcCoefficient = 1f; Imp.VoidSpike.GetComponent().lifetimeAfterImpact = 5f; ((Component)Imp.VoidSpike.GetComponent()).transform.localScale = new Vector3(1f, 1f, 1f); LunarExploder.LunarDot = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderProjectileDotZone.prefab").WaitForCompletion(), "Prefabs/Projectiles/LunarDot", true); LunarExploder.LunarDot.GetComponent().fireFrequency = 4f; LunarExploder.LunarDot.GetComponent().lifetime = 2.5f; ((Component)LunarExploder.LunarDot.GetComponent()).transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); LunarExploder.LunarDot.GetComponent().damageCoefficient = 0.5f; LunarExploder.LunarDot.GetComponent().damageType = DamageTypeCombo.op_Implicit((DamageType)4194304); Loader.projectilePrefabs.Add(Lemurian.PrimProjectile); Loader.projectilePrefabs.Add(Lemurian.SecProjectile1); Loader.projectilePrefabs.Add(Lemurian.SecProjectile2); Loader.projectilePrefabs.Add(Lemurian.SecProjectile3); Loader.projectilePrefabs.Add(Lemurian.UtilProjectile); Loader.projectilePrefabs.Add(Lemurian.UtilFlameDot); Loader.projectilePrefabs.Add(ElderLemurian.ElderSecProjectile); Loader.projectilePrefabs.Add(ElderLemurian.ElderUtilProjectile); Loader.projectilePrefabs.Add(Imp.VoidSpike); Loader.projectilePrefabs.Add(LunarExploder.LunarDot); } } public static class LemurianItemDisplays { internal static ItemDisplayRuleSet itemDisplayRuleSet; internal static List itemDisplayRules; private static Dictionary itemDisplayPrefabs = new Dictionary(); internal static void InitializeItemDisplays() { PopulateDisplays(); CharacterModel componentInChildren = Lemurian.myCharacter.GetComponentInChildren(); itemDisplayRuleSet = ScriptableObject.CreateInstance(); ((Object)itemDisplayRuleSet).name = "idrsLemurian"; componentInChildren.itemDisplayRuleSet = itemDisplayRuleSet; } internal static void SetItemDisplays() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_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) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0094: 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_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: 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_00ca: 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_00eb: 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_0112: 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_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_0146: 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_0164: 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_0180: 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_0193: 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_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_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_01e0: 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_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021a: 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_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_024b: 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_027a: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: 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_02d9: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Unknown result type (might be due to invalid IL or missing references) //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) //IL_0316: 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_0320: 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_0345: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) //IL_0360: 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_0398: Unknown result type (might be due to invalid IL or missing references) //IL_03ae: 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_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03ce: Unknown result type (might be due to invalid IL or missing references) //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Unknown result type (might be due to invalid IL or missing references) //IL_03ec: Expected O, but got Unknown //IL_03ec: Unknown result type (might be due to invalid IL or missing references) //IL_03ee: Unknown result type (might be due to invalid IL or missing references) //IL_03f8: Unknown result type (might be due to invalid IL or missing references) //IL_03f9: Unknown result type (might be due to invalid IL or missing references) //IL_03fe: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_0434: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Unknown result type (might be due to invalid IL or missing references) //IL_0475: 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) //IL_0490: 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_04ab: Unknown result type (might be due to invalid IL or missing references) //IL_04b3: 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_04c9: Expected O, but got Unknown //IL_04c9: Unknown result type (might be due to invalid IL or missing references) //IL_04cb: Unknown result type (might be due to invalid IL or missing references) //IL_04d5: Unknown result type (might be due to invalid IL or missing references) //IL_04d6: Unknown result type (might be due to invalid IL or missing references) //IL_04db: Unknown result type (might be due to invalid IL or missing references) //IL_04e9: Unknown result type (might be due to invalid IL or missing references) //IL_04ff: Unknown result type (might be due to invalid IL or missing references) //IL_0511: Unknown result type (might be due to invalid IL or missing references) //IL_051a: Unknown result type (might be due to invalid IL or missing references) //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_0568: 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_0583: Unknown result type (might be due to invalid IL or missing references) //IL_0588: Unknown result type (might be due to invalid IL or missing references) //IL_0590: Unknown result type (might be due to invalid IL or missing references) //IL_059c: Unknown result type (might be due to invalid IL or missing references) //IL_05a6: Expected O, but got Unknown //IL_05a6: 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_05b2: Unknown result type (might be due to invalid IL or missing references) //IL_05b3: Unknown result type (might be due to invalid IL or missing references) //IL_05b8: Unknown result type (might be due to invalid IL or missing references) //IL_05c6: Unknown result type (might be due to invalid IL or missing references) //IL_05dc: Unknown result type (might be due to invalid IL or missing references) //IL_05ee: Unknown result type (might be due to invalid IL or missing references) //IL_05f7: Unknown result type (might be due to invalid IL or missing references) //IL_062a: Unknown result type (might be due to invalid IL or missing references) //IL_062f: Unknown result type (might be due to invalid IL or missing references) //IL_0645: Unknown result type (might be due to invalid IL or missing references) //IL_064a: Unknown result type (might be due to invalid IL or missing references) //IL_0660: Unknown result type (might be due to invalid IL or missing references) //IL_0665: Unknown result type (might be due to invalid IL or missing references) //IL_066d: Unknown result type (might be due to invalid IL or missing references) //IL_0679: Unknown result type (might be due to invalid IL or missing references) //IL_0683: Expected O, but got Unknown //IL_0683: Unknown result type (might be due to invalid IL or missing references) //IL_0685: Unknown result type (might be due to invalid IL or missing references) //IL_068f: Unknown result type (might be due to invalid IL or missing references) //IL_0690: Unknown result type (might be due to invalid IL or missing references) //IL_0695: Unknown result type (might be due to invalid IL or missing references) //IL_06a3: Unknown result type (might be due to invalid IL or missing references) //IL_06b9: Unknown result type (might be due to invalid IL or missing references) //IL_06cb: Unknown result type (might be due to invalid IL or missing references) //IL_06d4: Unknown result type (might be due to invalid IL or missing references) //IL_0707: Unknown result type (might be due to invalid IL or missing references) //IL_070c: Unknown result type (might be due to invalid IL or missing references) //IL_0722: Unknown result type (might be due to invalid IL or missing references) //IL_0727: Unknown result type (might be due to invalid IL or missing references) //IL_073d: Unknown result type (might be due to invalid IL or missing references) //IL_0742: Unknown result type (might be due to invalid IL or missing references) //IL_074a: Unknown result type (might be due to invalid IL or missing references) //IL_0756: Unknown result type (might be due to invalid IL or missing references) //IL_0760: Expected O, but got Unknown //IL_0760: Unknown result type (might be due to invalid IL or missing references) //IL_0762: 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_076d: Unknown result type (might be due to invalid IL or missing references) //IL_0772: Unknown result type (might be due to invalid IL or missing references) //IL_0780: Unknown result type (might be due to invalid IL or missing references) //IL_0796: Unknown result type (might be due to invalid IL or missing references) //IL_07a8: Unknown result type (might be due to invalid IL or missing references) //IL_07b1: 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_07ff: Unknown result type (might be due to invalid IL or missing references) //IL_0804: Unknown result type (might be due to invalid IL or missing references) //IL_081a: Unknown result type (might be due to invalid IL or missing references) //IL_081f: Unknown result type (might be due to invalid IL or missing references) //IL_0827: Unknown result type (might be due to invalid IL or missing references) //IL_0833: Unknown result type (might be due to invalid IL or missing references) //IL_083d: Expected O, but got Unknown //IL_083d: Unknown result type (might be due to invalid IL or missing references) //IL_083f: Unknown result type (might be due to invalid IL or missing references) //IL_0849: Unknown result type (might be due to invalid IL or missing references) //IL_084a: Unknown result type (might be due to invalid IL or missing references) //IL_084f: Unknown result type (might be due to invalid IL or missing references) //IL_085d: Unknown result type (might be due to invalid IL or missing references) //IL_0873: Unknown result type (might be due to invalid IL or missing references) //IL_0885: Unknown result type (might be due to invalid IL or missing references) //IL_088e: Unknown result type (might be due to invalid IL or missing references) //IL_08c1: Unknown result type (might be due to invalid IL or missing references) //IL_08c6: Unknown result type (might be due to invalid IL or missing references) //IL_08dc: Unknown result type (might be due to invalid IL or missing references) //IL_08e1: Unknown result type (might be due to invalid IL or missing references) //IL_08f7: Unknown result type (might be due to invalid IL or missing references) //IL_08fc: Unknown result type (might be due to invalid IL or missing references) //IL_0904: Unknown result type (might be due to invalid IL or missing references) //IL_0910: Unknown result type (might be due to invalid IL or missing references) //IL_091a: Expected O, but got Unknown //IL_091a: Unknown result type (might be due to invalid IL or missing references) //IL_091c: Unknown result type (might be due to invalid IL or missing references) //IL_0926: Unknown result type (might be due to invalid IL or missing references) //IL_0927: Unknown result type (might be due to invalid IL or missing references) //IL_092c: Unknown result type (might be due to invalid IL or missing references) //IL_093a: Unknown result type (might be due to invalid IL or missing references) //IL_0950: Unknown result type (might be due to invalid IL or missing references) //IL_0962: Unknown result type (might be due to invalid IL or missing references) //IL_096b: Unknown result type (might be due to invalid IL or missing references) //IL_099e: Unknown result type (might be due to invalid IL or missing references) //IL_09a3: Unknown result type (might be due to invalid IL or missing references) //IL_09b9: Unknown result type (might be due to invalid IL or missing references) //IL_09be: Unknown result type (might be due to invalid IL or missing references) //IL_09d4: Unknown result type (might be due to invalid IL or missing references) //IL_09d9: Unknown result type (might be due to invalid IL or missing references) //IL_09e1: Unknown result type (might be due to invalid IL or missing references) //IL_09ed: Unknown result type (might be due to invalid IL or missing references) //IL_09f7: Expected O, but got Unknown //IL_09f7: Unknown result type (might be due to invalid IL or missing references) //IL_09f9: Unknown result type (might be due to invalid IL or missing references) //IL_0a03: Unknown result type (might be due to invalid IL or missing references) //IL_0a04: Unknown result type (might be due to invalid IL or missing references) //IL_0a09: Unknown result type (might be due to invalid IL or missing references) //IL_0a17: Unknown result type (might be due to invalid IL or missing references) //IL_0a2d: Unknown result type (might be due to invalid IL or missing references) //IL_0a3f: Unknown result type (might be due to invalid IL or missing references) //IL_0a48: Unknown result type (might be due to invalid IL or missing references) //IL_0a7b: Unknown result type (might be due to invalid IL or missing references) //IL_0a80: Unknown result type (might be due to invalid IL or missing references) //IL_0a96: 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_0ab1: Unknown result type (might be due to invalid IL or missing references) //IL_0ab6: 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_0aca: Unknown result type (might be due to invalid IL or missing references) //IL_0ad4: Expected O, but got Unknown //IL_0ad4: Unknown result type (might be due to invalid IL or missing references) //IL_0ad6: Unknown result type (might be due to invalid IL or missing references) //IL_0ae0: Unknown result type (might be due to invalid IL or missing references) //IL_0ae1: Unknown result type (might be due to invalid IL or missing references) //IL_0ae6: Unknown result type (might be due to invalid IL or missing references) //IL_0af4: Unknown result type (might be due to invalid IL or missing references) //IL_0b0a: Unknown result type (might be due to invalid IL or missing references) //IL_0b1c: Unknown result type (might be due to invalid IL or missing references) //IL_0b25: Unknown result type (might be due to invalid IL or missing references) //IL_0b58: Unknown result type (might be due to invalid IL or missing references) //IL_0b5d: Unknown result type (might be due to invalid IL or missing references) //IL_0b73: Unknown result type (might be due to invalid IL or missing references) //IL_0b78: Unknown result type (might be due to invalid IL or missing references) //IL_0b8e: Unknown result type (might be due to invalid IL or missing references) //IL_0b93: Unknown result type (might be due to invalid IL or missing references) //IL_0b9b: Unknown result type (might be due to invalid IL or missing references) //IL_0ba7: Unknown result type (might be due to invalid IL or missing references) //IL_0bb1: Expected O, but got Unknown //IL_0bb1: Unknown result type (might be due to invalid IL or missing references) //IL_0bb3: Unknown result type (might be due to invalid IL or missing references) //IL_0bbd: Unknown result type (might be due to invalid IL or missing references) //IL_0bbe: Unknown result type (might be due to invalid IL or missing references) //IL_0bc3: Unknown result type (might be due to invalid IL or missing references) //IL_0bd1: Unknown result type (might be due to invalid IL or missing references) //IL_0be7: Unknown result type (might be due to invalid IL or missing references) //IL_0bf9: Unknown result type (might be due to invalid IL or missing references) //IL_0c02: Unknown result type (might be due to invalid IL or missing references) //IL_0c35: Unknown result type (might be due to invalid IL or missing references) //IL_0c3a: Unknown result type (might be due to invalid IL or missing references) //IL_0c50: Unknown result type (might be due to invalid IL or missing references) //IL_0c55: Unknown result type (might be due to invalid IL or missing references) //IL_0c6b: Unknown result type (might be due to invalid IL or missing references) //IL_0c70: Unknown result type (might be due to invalid IL or missing references) //IL_0c78: Unknown result type (might be due to invalid IL or missing references) //IL_0c84: Unknown result type (might be due to invalid IL or missing references) //IL_0c8e: Expected O, but got Unknown //IL_0c8e: Unknown result type (might be due to invalid IL or missing references) //IL_0c90: Unknown result type (might be due to invalid IL or missing references) //IL_0c9a: Unknown result type (might be due to invalid IL or missing references) //IL_0c9b: Unknown result type (might be due to invalid IL or missing references) //IL_0ca0: Unknown result type (might be due to invalid IL or missing references) //IL_0cae: Unknown result type (might be due to invalid IL or missing references) //IL_0cc4: Unknown result type (might be due to invalid IL or missing references) //IL_0cd6: 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_0d12: Unknown result type (might be due to invalid IL or missing references) //IL_0d17: Unknown result type (might be due to invalid IL or missing references) //IL_0d2d: Unknown result type (might be due to invalid IL or missing references) //IL_0d32: Unknown result type (might be due to invalid IL or missing references) //IL_0d48: Unknown result type (might be due to invalid IL or missing references) //IL_0d4d: Unknown result type (might be due to invalid IL or missing references) //IL_0d55: Unknown result type (might be due to invalid IL or missing references) //IL_0d61: Unknown result type (might be due to invalid IL or missing references) //IL_0d6b: Expected O, but got Unknown //IL_0d6b: Unknown result type (might be due to invalid IL or missing references) //IL_0d6d: Unknown result type (might be due to invalid IL or missing references) //IL_0d77: Unknown result type (might be due to invalid IL or missing references) //IL_0d78: Unknown result type (might be due to invalid IL or missing references) //IL_0d7d: Unknown result type (might be due to invalid IL or missing references) //IL_0d8b: Unknown result type (might be due to invalid IL or missing references) //IL_0da1: Unknown result type (might be due to invalid IL or missing references) //IL_0db3: Unknown result type (might be due to invalid IL or missing references) //IL_0dbc: Unknown result type (might be due to invalid IL or missing references) //IL_0def: Unknown result type (might be due to invalid IL or missing references) //IL_0df4: Unknown result type (might be due to invalid IL or missing references) //IL_0e0a: Unknown result type (might be due to invalid IL or missing references) //IL_0e0f: Unknown result type (might be due to invalid IL or missing references) //IL_0e25: Unknown result type (might be due to invalid IL or missing references) //IL_0e2a: Unknown result type (might be due to invalid IL or missing references) //IL_0e32: Unknown result type (might be due to invalid IL or missing references) //IL_0e3e: Unknown result type (might be due to invalid IL or missing references) //IL_0e48: Expected O, but got Unknown //IL_0e48: Unknown result type (might be due to invalid IL or missing references) //IL_0e4a: Unknown result type (might be due to invalid IL or missing references) //IL_0e54: Unknown result type (might be due to invalid IL or missing references) //IL_0e55: Unknown result type (might be due to invalid IL or missing references) //IL_0e5a: Unknown result type (might be due to invalid IL or missing references) //IL_0e68: 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_0e90: Unknown result type (might be due to invalid IL or missing references) //IL_0e99: 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_0ed1: Unknown result type (might be due to invalid IL or missing references) //IL_0ee7: Unknown result type (might be due to invalid IL or missing references) //IL_0eec: Unknown result type (might be due to invalid IL or missing references) //IL_0f02: Unknown result type (might be due to invalid IL or missing references) //IL_0f07: Unknown result type (might be due to invalid IL or missing references) //IL_0f0f: Unknown result type (might be due to invalid IL or missing references) //IL_0f1b: Unknown result type (might be due to invalid IL or missing references) //IL_0f25: Expected O, but got Unknown //IL_0f25: Unknown result type (might be due to invalid IL or missing references) //IL_0f27: Unknown result type (might be due to invalid IL or missing references) //IL_0f31: Unknown result type (might be due to invalid IL or missing references) //IL_0f32: 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_0f45: Unknown result type (might be due to invalid IL or missing references) //IL_0f5b: Unknown result type (might be due to invalid IL or missing references) //IL_0f6d: Unknown result type (might be due to invalid IL or missing references) //IL_0f76: Unknown result type (might be due to invalid IL or missing references) //IL_0fa9: Unknown result type (might be due to invalid IL or missing references) //IL_0fae: Unknown result type (might be due to invalid IL or missing references) //IL_0fc4: Unknown result type (might be due to invalid IL or missing references) //IL_0fc9: Unknown result type (might be due to invalid IL or missing references) //IL_0fdf: Unknown result type (might be due to invalid IL or missing references) //IL_0fe4: Unknown result type (might be due to invalid IL or missing references) //IL_0fec: Unknown result type (might be due to invalid IL or missing references) //IL_0ff8: Unknown result type (might be due to invalid IL or missing references) //IL_1002: Expected O, but got Unknown //IL_1002: Unknown result type (might be due to invalid IL or missing references) //IL_1004: Unknown result type (might be due to invalid IL or missing references) //IL_100e: Unknown result type (might be due to invalid IL or missing references) //IL_100f: Unknown result type (might be due to invalid IL or missing references) //IL_1014: Unknown result type (might be due to invalid IL or missing references) //IL_1022: Unknown result type (might be due to invalid IL or missing references) //IL_1038: 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_1053: Unknown result type (might be due to invalid IL or missing references) //IL_1086: 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_10a1: Unknown result type (might be due to invalid IL or missing references) //IL_10a6: Unknown result type (might be due to invalid IL or missing references) //IL_10bc: Unknown result type (might be due to invalid IL or missing references) //IL_10c1: Unknown result type (might be due to invalid IL or missing references) //IL_10c9: Unknown result type (might be due to invalid IL or missing references) //IL_10d5: Unknown result type (might be due to invalid IL or missing references) //IL_10df: Expected O, but got Unknown //IL_10df: Unknown result type (might be due to invalid IL or missing references) //IL_10e1: Unknown result type (might be due to invalid IL or missing references) //IL_10eb: Unknown result type (might be due to invalid IL or missing references) //IL_10ec: Unknown result type (might be due to invalid IL or missing references) //IL_10f1: Unknown result type (might be due to invalid IL or missing references) //IL_10ff: Unknown result type (might be due to invalid IL or missing references) //IL_1115: Unknown result type (might be due to invalid IL or missing references) //IL_1127: 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_1163: Unknown result type (might be due to invalid IL or missing references) //IL_1168: Unknown result type (might be due to invalid IL or missing references) //IL_117e: Unknown result type (might be due to invalid IL or missing references) //IL_1183: Unknown result type (might be due to invalid IL or missing references) //IL_1199: Unknown result type (might be due to invalid IL or missing references) //IL_119e: Unknown result type (might be due to invalid IL or missing references) //IL_11a6: 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_11bc: Expected O, but got Unknown //IL_11bc: Unknown result type (might be due to invalid IL or missing references) //IL_11be: Unknown result type (might be due to invalid IL or missing references) //IL_11c8: Unknown result type (might be due to invalid IL or missing references) //IL_11c9: Unknown result type (might be due to invalid IL or missing references) //IL_11ce: Unknown result type (might be due to invalid IL or missing references) //IL_11dc: Unknown result type (might be due to invalid IL or missing references) //IL_11f2: Unknown result type (might be due to invalid IL or missing references) //IL_1204: Unknown result type (might be due to invalid IL or missing references) //IL_120d: Unknown result type (might be due to invalid IL or missing references) //IL_1240: Unknown result type (might be due to invalid IL or missing references) //IL_1245: Unknown result type (might be due to invalid IL or missing references) //IL_125b: Unknown result type (might be due to invalid IL or missing references) //IL_1260: Unknown result type (might be due to invalid IL or missing references) //IL_1276: Unknown result type (might be due to invalid IL or missing references) //IL_127b: Unknown result type (might be due to invalid IL or missing references) //IL_1283: Unknown result type (might be due to invalid IL or missing references) //IL_128f: Unknown result type (might be due to invalid IL or missing references) //IL_1299: Expected O, but got Unknown //IL_1299: Unknown result type (might be due to invalid IL or missing references) //IL_129b: Unknown result type (might be due to invalid IL or missing references) //IL_12a5: Unknown result type (might be due to invalid IL or missing references) //IL_12a6: Unknown result type (might be due to invalid IL or missing references) //IL_12ab: Unknown result type (might be due to invalid IL or missing references) //IL_12b9: Unknown result type (might be due to invalid IL or missing references) //IL_12cf: Unknown result type (might be due to invalid IL or missing references) //IL_12e1: Unknown result type (might be due to invalid IL or missing references) //IL_12ea: Unknown result type (might be due to invalid IL or missing references) //IL_131d: Unknown result type (might be due to invalid IL or missing references) //IL_1322: Unknown result type (might be due to invalid IL or missing references) //IL_1338: Unknown result type (might be due to invalid IL or missing references) //IL_133d: Unknown result type (might be due to invalid IL or missing references) //IL_1353: Unknown result type (might be due to invalid IL or missing references) //IL_1358: Unknown result type (might be due to invalid IL or missing references) //IL_1360: Unknown result type (might be due to invalid IL or missing references) //IL_136c: Unknown result type (might be due to invalid IL or missing references) //IL_1376: Expected O, but got Unknown //IL_1376: Unknown result type (might be due to invalid IL or missing references) //IL_1378: Unknown result type (might be due to invalid IL or missing references) //IL_1382: 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_1396: Unknown result type (might be due to invalid IL or missing references) //IL_13ac: Unknown result type (might be due to invalid IL or missing references) //IL_13be: Unknown result type (might be due to invalid IL or missing references) //IL_13c7: Unknown result type (might be due to invalid IL or missing references) //IL_13fa: Unknown result type (might be due to invalid IL or missing references) //IL_13ff: Unknown result type (might be due to invalid IL or missing references) //IL_1415: Unknown result type (might be due to invalid IL or missing references) //IL_141a: Unknown result type (might be due to invalid IL or missing references) //IL_1430: Unknown result type (might be due to invalid IL or missing references) //IL_1435: Unknown result type (might be due to invalid IL or missing references) //IL_143d: Unknown result type (might be due to invalid IL or missing references) //IL_1449: Unknown result type (might be due to invalid IL or missing references) //IL_1453: Expected O, but got Unknown //IL_1453: Unknown result type (might be due to invalid IL or missing references) //IL_1455: Unknown result type (might be due to invalid IL or missing references) //IL_145f: 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_1465: Unknown result type (might be due to invalid IL or missing references) //IL_1473: Unknown result type (might be due to invalid IL or missing references) //IL_1489: Unknown result type (might be due to invalid IL or missing references) //IL_149b: Unknown result type (might be due to invalid IL or missing references) //IL_14a4: Unknown result type (might be due to invalid IL or missing references) //IL_14d7: Unknown result type (might be due to invalid IL or missing references) //IL_14dc: Unknown result type (might be due to invalid IL or missing references) //IL_14f2: Unknown result type (might be due to invalid IL or missing references) //IL_14f7: Unknown result type (might be due to invalid IL or missing references) //IL_150d: Unknown result type (might be due to invalid IL or missing references) //IL_1512: Unknown result type (might be due to invalid IL or missing references) //IL_151a: Unknown result type (might be due to invalid IL or missing references) //IL_1526: Unknown result type (might be due to invalid IL or missing references) //IL_1530: Expected O, but got Unknown //IL_1530: Unknown result type (might be due to invalid IL or missing references) //IL_1532: Unknown result type (might be due to invalid IL or missing references) //IL_153c: Unknown result type (might be due to invalid IL or missing references) //IL_153d: Unknown result type (might be due to invalid IL or missing references) //IL_1542: 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_1566: 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_1581: Unknown result type (might be due to invalid IL or missing references) //IL_15b4: Unknown result type (might be due to invalid IL or missing references) //IL_15b9: Unknown result type (might be due to invalid IL or missing references) //IL_15cf: Unknown result type (might be due to invalid IL or missing references) //IL_15d4: Unknown result type (might be due to invalid IL or missing references) //IL_15ea: Unknown result type (might be due to invalid IL or missing references) //IL_15ef: Unknown result type (might be due to invalid IL or missing references) //IL_15f7: Unknown result type (might be due to invalid IL or missing references) //IL_1603: Unknown result type (might be due to invalid IL or missing references) //IL_160d: Expected O, but got Unknown //IL_160d: Unknown result type (might be due to invalid IL or missing references) //IL_160f: Unknown result type (might be due to invalid IL or missing references) //IL_1619: Unknown result type (might be due to invalid IL or missing references) //IL_161a: Unknown result type (might be due to invalid IL or missing references) //IL_161f: Unknown result type (might be due to invalid IL or missing references) //IL_162d: Unknown result type (might be due to invalid IL or missing references) //IL_1643: Unknown result type (might be due to invalid IL or missing references) //IL_1655: Unknown result type (might be due to invalid IL or missing references) //IL_165e: Unknown result type (might be due to invalid IL or missing references) //IL_1691: Unknown result type (might be due to invalid IL or missing references) //IL_1696: Unknown result type (might be due to invalid IL or missing references) //IL_16ac: Unknown result type (might be due to invalid IL or missing references) //IL_16b1: Unknown result type (might be due to invalid IL or missing references) //IL_16c7: 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_16d4: 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_16ea: Expected O, but got Unknown //IL_16ea: Unknown result type (might be due to invalid IL or missing references) //IL_16ec: Unknown result type (might be due to invalid IL or missing references) //IL_16f6: Unknown result type (might be due to invalid IL or missing references) //IL_16f7: Unknown result type (might be due to invalid IL or missing references) //IL_16fc: Unknown result type (might be due to invalid IL or missing references) //IL_170a: Unknown result type (might be due to invalid IL or missing references) //IL_1720: Unknown result type (might be due to invalid IL or missing references) //IL_1732: Unknown result type (might be due to invalid IL or missing references) //IL_173b: Unknown result type (might be due to invalid IL or missing references) //IL_176e: Unknown result type (might be due to invalid IL or missing references) //IL_1773: Unknown result type (might be due to invalid IL or missing references) //IL_1789: Unknown result type (might be due to invalid IL or missing references) //IL_178e: Unknown result type (might be due to invalid IL or missing references) //IL_17a4: Unknown result type (might be due to invalid IL or missing references) //IL_17a9: Unknown result type (might be due to invalid IL or missing references) //IL_17b1: Unknown result type (might be due to invalid IL or missing references) //IL_17bd: Unknown result type (might be due to invalid IL or missing references) //IL_17c7: Expected O, but got Unknown //IL_17c7: Unknown result type (might be due to invalid IL or missing references) //IL_17c9: Unknown result type (might be due to invalid IL or missing references) //IL_17d2: Unknown result type (might be due to invalid IL or missing references) //IL_17db: Unknown result type (might be due to invalid IL or missing references) //IL_180e: Unknown result type (might be due to invalid IL or missing references) //IL_1813: Unknown result type (might be due to invalid IL or missing references) //IL_1829: Unknown result type (might be due to invalid IL or missing references) //IL_182e: Unknown result type (might be due to invalid IL or missing references) //IL_1844: Unknown result type (might be due to invalid IL or missing references) //IL_1849: Unknown result type (might be due to invalid IL or missing references) //IL_1851: Unknown result type (might be due to invalid IL or missing references) //IL_185d: Unknown result type (might be due to invalid IL or missing references) //IL_1867: Expected O, but got Unknown //IL_1867: Unknown result type (might be due to invalid IL or missing references) //IL_1869: Unknown result type (might be due to invalid IL or missing references) //IL_1873: Unknown result type (might be due to invalid IL or missing references) //IL_1874: Unknown result type (might be due to invalid IL or missing references) //IL_1879: Unknown result type (might be due to invalid IL or missing references) //IL_1887: Unknown result type (might be due to invalid IL or missing references) //IL_189d: Unknown result type (might be due to invalid IL or missing references) //IL_18af: Unknown result type (might be due to invalid IL or missing references) //IL_18b8: Unknown result type (might be due to invalid IL or missing references) //IL_18eb: Unknown result type (might be due to invalid IL or missing references) //IL_18f0: Unknown result type (might be due to invalid IL or missing references) //IL_1906: Unknown result type (might be due to invalid IL or missing references) //IL_190b: Unknown result type (might be due to invalid IL or missing references) //IL_1921: Unknown result type (might be due to invalid IL or missing references) //IL_1926: Unknown result type (might be due to invalid IL or missing references) //IL_192e: Unknown result type (might be due to invalid IL or missing references) //IL_193a: Unknown result type (might be due to invalid IL or missing references) //IL_1944: Expected O, but got Unknown //IL_1944: Unknown result type (might be due to invalid IL or missing references) //IL_1946: Unknown result type (might be due to invalid IL or missing references) //IL_1950: Unknown result type (might be due to invalid IL or missing references) //IL_1951: Unknown result type (might be due to invalid IL or missing references) //IL_1956: Unknown result type (might be due to invalid IL or missing references) //IL_1964: Unknown result type (might be due to invalid IL or missing references) //IL_197a: Unknown result type (might be due to invalid IL or missing references) //IL_198c: Unknown result type (might be due to invalid IL or missing references) //IL_1995: Unknown result type (might be due to invalid IL or missing references) //IL_19c8: Unknown result type (might be due to invalid IL or missing references) //IL_19cd: Unknown result type (might be due to invalid IL or missing references) //IL_19e3: Unknown result type (might be due to invalid IL or missing references) //IL_19e8: Unknown result type (might be due to invalid IL or missing references) //IL_19fe: Unknown result type (might be due to invalid IL or missing references) //IL_1a03: Unknown result type (might be due to invalid IL or missing references) //IL_1a0b: Unknown result type (might be due to invalid IL or missing references) //IL_1a17: Unknown result type (might be due to invalid IL or missing references) //IL_1a21: Expected O, but got Unknown //IL_1a21: Unknown result type (might be due to invalid IL or missing references) //IL_1a23: 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_1a2e: Unknown result type (might be due to invalid IL or missing references) //IL_1a33: Unknown result type (might be due to invalid IL or missing references) //IL_1a41: Unknown result type (might be due to invalid IL or missing references) //IL_1a57: Unknown result type (might be due to invalid IL or missing references) //IL_1a69: Unknown result type (might be due to invalid IL or missing references) //IL_1a72: 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_1ac0: Unknown result type (might be due to invalid IL or missing references) //IL_1ac5: Unknown result type (might be due to invalid IL or missing references) //IL_1adb: Unknown result type (might be due to invalid IL or missing references) //IL_1ae0: Unknown result type (might be due to invalid IL or missing references) //IL_1ae8: Unknown result type (might be due to invalid IL or missing references) //IL_1af4: Unknown result type (might be due to invalid IL or missing references) //IL_1afe: Expected O, but got Unknown //IL_1afe: Unknown result type (might be due to invalid IL or missing references) //IL_1b00: Unknown result type (might be due to invalid IL or missing references) //IL_1b0a: Unknown result type (might be due to invalid IL or missing references) //IL_1b0b: Unknown result type (might be due to invalid IL or missing references) //IL_1b10: Unknown result type (might be due to invalid IL or missing references) //IL_1b1e: Unknown result type (might be due to invalid IL or missing references) //IL_1b34: Unknown result type (might be due to invalid IL or missing references) //IL_1b46: Unknown result type (might be due to invalid IL or missing references) //IL_1b4f: Unknown result type (might be due to invalid IL or missing references) //IL_1b82: Unknown result type (might be due to invalid IL or missing references) //IL_1b87: Unknown result type (might be due to invalid IL or missing references) //IL_1b9d: Unknown result type (might be due to invalid IL or missing references) //IL_1ba2: Unknown result type (might be due to invalid IL or missing references) //IL_1bb8: Unknown result type (might be due to invalid IL or missing references) //IL_1bbd: Unknown result type (might be due to invalid IL or missing references) //IL_1bc5: Unknown result type (might be due to invalid IL or missing references) //IL_1bd1: Unknown result type (might be due to invalid IL or missing references) //IL_1bdb: Expected O, but got Unknown //IL_1bdb: Unknown result type (might be due to invalid IL or missing references) //IL_1bdd: Unknown result type (might be due to invalid IL or missing references) //IL_1be7: Unknown result type (might be due to invalid IL or missing references) //IL_1be8: Unknown result type (might be due to invalid IL or missing references) //IL_1bed: Unknown result type (might be due to invalid IL or missing references) //IL_1bfb: Unknown result type (might be due to invalid IL or missing references) //IL_1c11: Unknown result type (might be due to invalid IL or missing references) //IL_1c23: Unknown result type (might be due to invalid IL or missing references) //IL_1c2c: Unknown result type (might be due to invalid IL or missing references) //IL_1c5f: Unknown result type (might be due to invalid IL or missing references) //IL_1c64: Unknown result type (might be due to invalid IL or missing references) //IL_1c7a: Unknown result type (might be due to invalid IL or missing references) //IL_1c7f: Unknown result type (might be due to invalid IL or missing references) //IL_1c95: Unknown result type (might be due to invalid IL or missing references) //IL_1c9a: Unknown result type (might be due to invalid IL or missing references) //IL_1ca2: Unknown result type (might be due to invalid IL or missing references) //IL_1cae: Unknown result type (might be due to invalid IL or missing references) //IL_1cb8: Expected O, but got Unknown //IL_1cb8: Unknown result type (might be due to invalid IL or missing references) //IL_1cba: Unknown result type (might be due to invalid IL or missing references) //IL_1cc3: Unknown result type (might be due to invalid IL or missing references) //IL_1ccc: Unknown result type (might be due to invalid IL or missing references) //IL_1cff: Unknown result type (might be due to invalid IL or missing references) //IL_1d04: Unknown result type (might be due to invalid IL or missing references) //IL_1d1a: Unknown result type (might be due to invalid IL or missing references) //IL_1d1f: Unknown result type (might be due to invalid IL or missing references) //IL_1d35: Unknown result type (might be due to invalid IL or missing references) //IL_1d3a: Unknown result type (might be due to invalid IL or missing references) //IL_1d42: Unknown result type (might be due to invalid IL or missing references) //IL_1d4e: Unknown result type (might be due to invalid IL or missing references) //IL_1d58: Expected O, but got Unknown //IL_1d58: Unknown result type (might be due to invalid IL or missing references) //IL_1d5a: Unknown result type (might be due to invalid IL or missing references) //IL_1d64: Unknown result type (might be due to invalid IL or missing references) //IL_1d65: Unknown result type (might be due to invalid IL or missing references) //IL_1d6a: Unknown result type (might be due to invalid IL or missing references) //IL_1d78: Unknown result type (might be due to invalid IL or missing references) //IL_1d8e: Unknown result type (might be due to invalid IL or missing references) //IL_1da0: Unknown result type (might be due to invalid IL or missing references) //IL_1da9: Unknown result type (might be due to invalid IL or missing references) //IL_1ddc: 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_1df7: Unknown result type (might be due to invalid IL or missing references) //IL_1dfc: Unknown result type (might be due to invalid IL or missing references) //IL_1e12: Unknown result type (might be due to invalid IL or missing references) //IL_1e17: Unknown result type (might be due to invalid IL or missing references) //IL_1e1f: Unknown result type (might be due to invalid IL or missing references) //IL_1e2b: Unknown result type (might be due to invalid IL or missing references) //IL_1e35: Expected O, but got Unknown //IL_1e35: Unknown result type (might be due to invalid IL or missing references) //IL_1e37: Unknown result type (might be due to invalid IL or missing references) //IL_1e40: Unknown result type (might be due to invalid IL or missing references) //IL_1e49: 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_1e81: Unknown result type (might be due to invalid IL or missing references) //IL_1e97: Unknown result type (might be due to invalid IL or missing references) //IL_1e9c: Unknown result type (might be due to invalid IL or missing references) //IL_1eb2: Unknown result type (might be due to invalid IL or missing references) //IL_1eb7: Unknown result type (might be due to invalid IL or missing references) //IL_1ebf: Unknown result type (might be due to invalid IL or missing references) //IL_1ecb: Unknown result type (might be due to invalid IL or missing references) //IL_1ed5: Expected O, but got Unknown //IL_1ed5: Unknown result type (might be due to invalid IL or missing references) //IL_1ed7: Unknown result type (might be due to invalid IL or missing references) //IL_1ee1: Unknown result type (might be due to invalid IL or missing references) //IL_1ee2: Unknown result type (might be due to invalid IL or missing references) //IL_1ee7: Unknown result type (might be due to invalid IL or missing references) //IL_1ef5: Unknown result type (might be due to invalid IL or missing references) //IL_1f0b: Unknown result type (might be due to invalid IL or missing references) //IL_1f1d: Unknown result type (might be due to invalid IL or missing references) //IL_1f26: Unknown result type (might be due to invalid IL or missing references) //IL_1f59: Unknown result type (might be due to invalid IL or missing references) //IL_1f5e: Unknown result type (might be due to invalid IL or missing references) //IL_1f74: Unknown result type (might be due to invalid IL or missing references) //IL_1f79: Unknown result type (might be due to invalid IL or missing references) //IL_1f8f: Unknown result type (might be due to invalid IL or missing references) //IL_1f94: Unknown result type (might be due to invalid IL or missing references) //IL_1f9c: Unknown result type (might be due to invalid IL or missing references) //IL_1fa8: Unknown result type (might be due to invalid IL or missing references) //IL_1fb2: Expected O, but got Unknown //IL_1fb2: 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_1fbd: Unknown result type (might be due to invalid IL or missing references) //IL_1fc6: Unknown result type (might be due to invalid IL or missing references) //IL_1ff9: Unknown result type (might be due to invalid IL or missing references) //IL_1ffe: Unknown result type (might be due to invalid IL or missing references) //IL_2014: Unknown result type (might be due to invalid IL or missing references) //IL_2019: Unknown result type (might be due to invalid IL or missing references) //IL_202f: Unknown result type (might be due to invalid IL or missing references) //IL_2034: Unknown result type (might be due to invalid IL or missing references) //IL_203c: Unknown result type (might be due to invalid IL or missing references) //IL_2048: Unknown result type (might be due to invalid IL or missing references) //IL_2052: Expected O, but got Unknown //IL_2052: Unknown result type (might be due to invalid IL or missing references) //IL_2054: Unknown result type (might be due to invalid IL or missing references) //IL_205e: Unknown result type (might be due to invalid IL or missing references) //IL_205f: Unknown result type (might be due to invalid IL or missing references) //IL_2064: Unknown result type (might be due to invalid IL or missing references) //IL_2072: Unknown result type (might be due to invalid IL or missing references) //IL_2088: Unknown result type (might be due to invalid IL or missing references) //IL_209a: Unknown result type (might be due to invalid IL or missing references) //IL_20a3: Unknown result type (might be due to invalid IL or missing references) //IL_20d6: Unknown result type (might be due to invalid IL or missing references) //IL_20db: Unknown result type (might be due to invalid IL or missing references) //IL_20f1: Unknown result type (might be due to invalid IL or missing references) //IL_20f6: Unknown result type (might be due to invalid IL or missing references) //IL_210c: Unknown result type (might be due to invalid IL or missing references) //IL_2111: Unknown result type (might be due to invalid IL or missing references) //IL_2119: Unknown result type (might be due to invalid IL or missing references) //IL_2125: Unknown result type (might be due to invalid IL or missing references) //IL_212f: Expected O, but got Unknown //IL_212f: Unknown result type (might be due to invalid IL or missing references) //IL_2131: Unknown result type (might be due to invalid IL or missing references) //IL_213b: Unknown result type (might be due to invalid IL or missing references) //IL_213c: Unknown result type (might be due to invalid IL or missing references) //IL_2141: Unknown result type (might be due to invalid IL or missing references) //IL_214f: Unknown result type (might be due to invalid IL or missing references) //IL_2165: Unknown result type (might be due to invalid IL or missing references) //IL_2177: 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_21b3: Unknown result type (might be due to invalid IL or missing references) //IL_21b8: Unknown result type (might be due to invalid IL or missing references) //IL_21ce: Unknown result type (might be due to invalid IL or missing references) //IL_21d3: Unknown result type (might be due to invalid IL or missing references) //IL_21e9: Unknown result type (might be due to invalid IL or missing references) //IL_21ee: Unknown result type (might be due to invalid IL or missing references) //IL_21f6: Unknown result type (might be due to invalid IL or missing references) //IL_2202: Unknown result type (might be due to invalid IL or missing references) //IL_220c: Expected O, but got Unknown //IL_220c: Unknown result type (might be due to invalid IL or missing references) //IL_220e: Unknown result type (might be due to invalid IL or missing references) //IL_2218: Unknown result type (might be due to invalid IL or missing references) //IL_2219: Unknown result type (might be due to invalid IL or missing references) //IL_221e: Unknown result type (might be due to invalid IL or missing references) //IL_222c: Unknown result type (might be due to invalid IL or missing references) //IL_2242: Unknown result type (might be due to invalid IL or missing references) //IL_2254: Unknown result type (might be due to invalid IL or missing references) //IL_225d: Unknown result type (might be due to invalid IL or missing references) //IL_2290: Unknown result type (might be due to invalid IL or missing references) //IL_2295: Unknown result type (might be due to invalid IL or missing references) //IL_22ab: Unknown result type (might be due to invalid IL or missing references) //IL_22b0: Unknown result type (might be due to invalid IL or missing references) //IL_22c6: Unknown result type (might be due to invalid IL or missing references) //IL_22cb: Unknown result type (might be due to invalid IL or missing references) //IL_22d3: Unknown result type (might be due to invalid IL or missing references) //IL_22df: Unknown result type (might be due to invalid IL or missing references) //IL_22e9: Expected O, but got Unknown //IL_22e9: Unknown result type (might be due to invalid IL or missing references) //IL_22eb: Unknown result type (might be due to invalid IL or missing references) //IL_22f5: Unknown result type (might be due to invalid IL or missing references) //IL_22f6: Unknown result type (might be due to invalid IL or missing references) //IL_22fb: Unknown result type (might be due to invalid IL or missing references) //IL_2309: Unknown result type (might be due to invalid IL or missing references) //IL_231f: Unknown result type (might be due to invalid IL or missing references) //IL_2331: Unknown result type (might be due to invalid IL or missing references) //IL_233a: Unknown result type (might be due to invalid IL or missing references) //IL_236d: Unknown result type (might be due to invalid IL or missing references) //IL_2372: Unknown result type (might be due to invalid IL or missing references) //IL_2388: Unknown result type (might be due to invalid IL or missing references) //IL_238d: Unknown result type (might be due to invalid IL or missing references) //IL_23a3: Unknown result type (might be due to invalid IL or missing references) //IL_23a8: Unknown result type (might be due to invalid IL or missing references) //IL_23b0: Unknown result type (might be due to invalid IL or missing references) //IL_23bc: Unknown result type (might be due to invalid IL or missing references) //IL_23c6: Expected O, but got Unknown //IL_23c6: Unknown result type (might be due to invalid IL or missing references) //IL_23c8: Unknown result type (might be due to invalid IL or missing references) //IL_23d2: Unknown result type (might be due to invalid IL or missing references) //IL_23d3: 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_23e6: Unknown result type (might be due to invalid IL or missing references) //IL_23fc: Unknown result type (might be due to invalid IL or missing references) //IL_240e: Unknown result type (might be due to invalid IL or missing references) //IL_2417: Unknown result type (might be due to invalid IL or missing references) //IL_244a: Unknown result type (might be due to invalid IL or missing references) //IL_244f: Unknown result type (might be due to invalid IL or missing references) //IL_2465: Unknown result type (might be due to invalid IL or missing references) //IL_246a: Unknown result type (might be due to invalid IL or missing references) //IL_2480: Unknown result type (might be due to invalid IL or missing references) //IL_2485: Unknown result type (might be due to invalid IL or missing references) //IL_248d: Unknown result type (might be due to invalid IL or missing references) //IL_2499: Unknown result type (might be due to invalid IL or missing references) //IL_24a3: Expected O, but got Unknown //IL_24a3: Unknown result type (might be due to invalid IL or missing references) //IL_24a5: Unknown result type (might be due to invalid IL or missing references) //IL_24af: Unknown result type (might be due to invalid IL or missing references) //IL_24b0: Unknown result type (might be due to invalid IL or missing references) //IL_24b5: Unknown result type (might be due to invalid IL or missing references) //IL_24c3: Unknown result type (might be due to invalid IL or missing references) //IL_24d9: 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_24f4: Unknown result type (might be due to invalid IL or missing references) //IL_2527: 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_2542: Unknown result type (might be due to invalid IL or missing references) //IL_2547: Unknown result type (might be due to invalid IL or missing references) //IL_255d: Unknown result type (might be due to invalid IL or missing references) //IL_2562: Unknown result type (might be due to invalid IL or missing references) //IL_256a: Unknown result type (might be due to invalid IL or missing references) //IL_2576: Unknown result type (might be due to invalid IL or missing references) //IL_2580: Expected O, but got Unknown //IL_2580: Unknown result type (might be due to invalid IL or missing references) //IL_2582: Unknown result type (might be due to invalid IL or missing references) //IL_258c: Unknown result type (might be due to invalid IL or missing references) //IL_258d: Unknown result type (might be due to invalid IL or missing references) //IL_2592: Unknown result type (might be due to invalid IL or missing references) //IL_25a0: Unknown result type (might be due to invalid IL or missing references) //IL_25b6: Unknown result type (might be due to invalid IL or missing references) //IL_25c8: 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_2604: Unknown result type (might be due to invalid IL or missing references) //IL_2609: Unknown result type (might be due to invalid IL or missing references) //IL_261f: Unknown result type (might be due to invalid IL or missing references) //IL_2624: Unknown result type (might be due to invalid IL or missing references) //IL_263a: Unknown result type (might be due to invalid IL or missing references) //IL_263f: Unknown result type (might be due to invalid IL or missing references) //IL_2647: 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_265d: Expected O, but got Unknown //IL_265d: Unknown result type (might be due to invalid IL or missing references) //IL_265f: Unknown result type (might be due to invalid IL or missing references) //IL_2669: Unknown result type (might be due to invalid IL or missing references) //IL_266a: Unknown result type (might be due to invalid IL or missing references) //IL_266f: Unknown result type (might be due to invalid IL or missing references) //IL_267d: Unknown result type (might be due to invalid IL or missing references) //IL_2693: Unknown result type (might be due to invalid IL or missing references) //IL_26a5: Unknown result type (might be due to invalid IL or missing references) //IL_26ae: Unknown result type (might be due to invalid IL or missing references) //IL_26e1: Unknown result type (might be due to invalid IL or missing references) //IL_26e6: Unknown result type (might be due to invalid IL or missing references) //IL_26fc: Unknown result type (might be due to invalid IL or missing references) //IL_2701: Unknown result type (might be due to invalid IL or missing references) //IL_2717: Unknown result type (might be due to invalid IL or missing references) //IL_271c: Unknown result type (might be due to invalid IL or missing references) //IL_2724: Unknown result type (might be due to invalid IL or missing references) //IL_2730: Unknown result type (might be due to invalid IL or missing references) //IL_273a: Expected O, but got Unknown //IL_273a: Unknown result type (might be due to invalid IL or missing references) //IL_273c: Unknown result type (might be due to invalid IL or missing references) //IL_2746: Unknown result type (might be due to invalid IL or missing references) //IL_2747: Unknown result type (might be due to invalid IL or missing references) //IL_274c: Unknown result type (might be due to invalid IL or missing references) //IL_275a: Unknown result type (might be due to invalid IL or missing references) //IL_2770: Unknown result type (might be due to invalid IL or missing references) //IL_2782: Unknown result type (might be due to invalid IL or missing references) //IL_278b: Unknown result type (might be due to invalid IL or missing references) //IL_27be: Unknown result type (might be due to invalid IL or missing references) //IL_27c3: Unknown result type (might be due to invalid IL or missing references) //IL_27d9: Unknown result type (might be due to invalid IL or missing references) //IL_27de: Unknown result type (might be due to invalid IL or missing references) //IL_27f4: Unknown result type (might be due to invalid IL or missing references) //IL_27f9: Unknown result type (might be due to invalid IL or missing references) //IL_2801: Unknown result type (might be due to invalid IL or missing references) //IL_280d: Unknown result type (might be due to invalid IL or missing references) //IL_2817: Expected O, but got Unknown //IL_2817: Unknown result type (might be due to invalid IL or missing references) //IL_2819: Unknown result type (might be due to invalid IL or missing references) //IL_2822: Unknown result type (might be due to invalid IL or missing references) //IL_282b: Unknown result type (might be due to invalid IL or missing references) //IL_285e: Unknown result type (might be due to invalid IL or missing references) //IL_2863: Unknown result type (might be due to invalid IL or missing references) //IL_2879: Unknown result type (might be due to invalid IL or missing references) //IL_287e: Unknown result type (might be due to invalid IL or missing references) //IL_2894: Unknown result type (might be due to invalid IL or missing references) //IL_2899: 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_28ad: Unknown result type (might be due to invalid IL or missing references) //IL_28b7: Expected O, but got Unknown //IL_28b7: Unknown result type (might be due to invalid IL or missing references) //IL_28b9: Unknown result type (might be due to invalid IL or missing references) //IL_28c3: Unknown result type (might be due to invalid IL or missing references) //IL_28c4: Unknown result type (might be due to invalid IL or missing references) //IL_28c9: Unknown result type (might be due to invalid IL or missing references) //IL_28d7: Unknown result type (might be due to invalid IL or missing references) //IL_28ed: Unknown result type (might be due to invalid IL or missing references) //IL_28ff: Unknown result type (might be due to invalid IL or missing references) //IL_2908: Unknown result type (might be due to invalid IL or missing references) //IL_293b: Unknown result type (might be due to invalid IL or missing references) //IL_2940: Unknown result type (might be due to invalid IL or missing references) //IL_2956: Unknown result type (might be due to invalid IL or missing references) //IL_295b: Unknown result type (might be due to invalid IL or missing references) //IL_2971: Unknown result type (might be due to invalid IL or missing references) //IL_2976: Unknown result type (might be due to invalid IL or missing references) //IL_297e: Unknown result type (might be due to invalid IL or missing references) //IL_298a: Unknown result type (might be due to invalid IL or missing references) //IL_2994: Expected O, but got Unknown //IL_2994: 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_29a0: Unknown result type (might be due to invalid IL or missing references) //IL_29a1: Unknown result type (might be due to invalid IL or missing references) //IL_29a6: Unknown result type (might be due to invalid IL or missing references) //IL_29b4: Unknown result type (might be due to invalid IL or missing references) //IL_29ca: 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_29e5: Unknown result type (might be due to invalid IL or missing references) //IL_2a18: Unknown result type (might be due to invalid IL or missing references) //IL_2a1d: Unknown result type (might be due to invalid IL or missing references) //IL_2a33: Unknown result type (might be due to invalid IL or missing references) //IL_2a38: Unknown result type (might be due to invalid IL or missing references) //IL_2a4e: Unknown result type (might be due to invalid IL or missing references) //IL_2a53: Unknown result type (might be due to invalid IL or missing references) //IL_2a5b: Unknown result type (might be due to invalid IL or missing references) //IL_2a67: Unknown result type (might be due to invalid IL or missing references) //IL_2a71: Expected O, but got Unknown //IL_2a71: Unknown result type (might be due to invalid IL or missing references) //IL_2a73: Unknown result type (might be due to invalid IL or missing references) //IL_2a7d: Unknown result type (might be due to invalid IL or missing references) //IL_2a7e: Unknown result type (might be due to invalid IL or missing references) //IL_2a83: Unknown result type (might be due to invalid IL or missing references) //IL_2a91: Unknown result type (might be due to invalid IL or missing references) //IL_2aa7: Unknown result type (might be due to invalid IL or missing references) //IL_2ab9: Unknown result type (might be due to invalid IL or missing references) //IL_2ac2: Unknown result type (might be due to invalid IL or missing references) //IL_2af5: Unknown result type (might be due to invalid IL or missing references) //IL_2afa: Unknown result type (might be due to invalid IL or missing references) //IL_2b10: Unknown result type (might be due to invalid IL or missing references) //IL_2b15: Unknown result type (might be due to invalid IL or missing references) //IL_2b2b: Unknown result type (might be due to invalid IL or missing references) //IL_2b30: Unknown result type (might be due to invalid IL or missing references) //IL_2b38: Unknown result type (might be due to invalid IL or missing references) //IL_2b44: Unknown result type (might be due to invalid IL or missing references) //IL_2b4e: Expected O, but got Unknown //IL_2b4e: 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_2b5a: Unknown result type (might be due to invalid IL or missing references) //IL_2b5b: Unknown result type (might be due to invalid IL or missing references) //IL_2b60: Unknown result type (might be due to invalid IL or missing references) //IL_2b6e: Unknown result type (might be due to invalid IL or missing references) //IL_2b84: Unknown result type (might be due to invalid IL or missing references) //IL_2b96: Unknown result type (might be due to invalid IL or missing references) //IL_2b9f: 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_2bd7: Unknown result type (might be due to invalid IL or missing references) //IL_2bed: Unknown result type (might be due to invalid IL or missing references) //IL_2bf2: Unknown result type (might be due to invalid IL or missing references) //IL_2c08: Unknown result type (might be due to invalid IL or missing references) //IL_2c0d: Unknown result type (might be due to invalid IL or missing references) //IL_2c15: Unknown result type (might be due to invalid IL or missing references) //IL_2c21: Unknown result type (might be due to invalid IL or missing references) //IL_2c2b: Expected O, but got Unknown //IL_2c2b: Unknown result type (might be due to invalid IL or missing references) //IL_2c2d: Unknown result type (might be due to invalid IL or missing references) //IL_2c37: Unknown result type (might be due to invalid IL or missing references) //IL_2c38: Unknown result type (might be due to invalid IL or missing references) //IL_2c3d: Unknown result type (might be due to invalid IL or missing references) itemDisplayRules = new List(); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixRed, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixRed) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixBlue, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixBlue) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixWhite, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixWhite) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixPoison, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixPoison) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixHaunted, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixHaunted) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.AffixLunar, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.AffixLunar) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.EliteVoidEquipment, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteVoidEquipment) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.EliteAurelioniteEquipment, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteAurelioniteEquipment) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.EliteBeadEquipment, displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Equipment.EliteBeadEquipment) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Addressables.LoadAssetAsync((object)"RoR2/DLC1/EliteEarth/EliteEarthEquipment.asset").WaitForCompletion(), displayRuleGroup = Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion().GetComponentInChildren() .itemDisplayRuleSet.FindDisplayRuleGroup((Object)(object)Addressables.LoadAssetAsync((object)"RoR2/DLC1/EliteEarth/EliteEarthEquipment.asset").WaitForCompletion()) }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.Jetpack, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayBugWings"), childName = "Hip", localPos = new Vector3(0f, -4f, -0.5f), localAngles = new Vector3(205f, 0f, 0f), localScale = new Vector3(1f, 1f, 1f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.GoldGat, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayGoldGat"), childName = "Hip", localPos = new Vector3(0f, 3f, 0f), localAngles = new Vector3(0f, -90f, 0f), localScale = new Vector3(0.4f, 0.4f, 0.4f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.CritGlasses, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayGlasses"), childName = "Head", localPos = new Vector3(0f, 2.5f, -1f), localAngles = new Vector3(-135f, 0f, 0f), localScale = new Vector3(2.5f, 2.5f, 2.5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.Syringe, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplaySyringeCluster"), childName = "Hip", localPos = new Vector3(1.75f, 1f, 1.75f), localAngles = new Vector3(90f, 45f, 0f), localScale = new Vector3(1.5f, 1.5f, 1.5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.Behemoth, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayBehemoth"), childName = "Head", localPos = new Vector3(1.5f, 1.5f, 1.5f), localAngles = new Vector3(0f, 25f, 0f), localScale = new Vector3(0.4f, 0.4f, 0.4f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.Missile, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayMissileLauncher"), childName = "Chest", localPos = new Vector3(0f, 4f, 1.85f), localAngles = new Vector3(0f, 180f, 0f), localScale = new Vector3(0.7f, 0.7f, 0.7f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.ExplodeOnDeath, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayWilloWisp"), childName = "Chest", localPos = new Vector3(3.5f, -2f, 4f), localAngles = new Vector3(35f, 0f, 0f), localScale = new Vector3(0.55f, 0.5f, 0.55f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.Blackhole, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayGravCube"), childName = "Chest", localPos = new Vector3(-3.5f, -2f, 4f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.5f, 0.5f, 0.5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.Dagger, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayDagger"), childName = "Chest", localPos = new Vector3(0f, 1f, 0f), localAngles = new Vector3(0f, -135f, 75f), localScale = new Vector3(5f, 5f, 5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.Mushroom, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayMushroom"), childName = "Chest", localPos = new Vector3(3.75f, 1.5f, 0f), localAngles = new Vector3(0f, 0f, -60f), localScale = new Vector3(0.5f, 0.5f, 0.5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.AttackSpeedOnCrit, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayWolfPelt"), childName = "Head", localPos = new Vector3(0f, 2.6f, 0f), localAngles = new Vector3(-90f, 0f, 0f), localScale = new Vector3(5f, 5f, 5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.BarrierOnOverHeal, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayAegis"), childName = "Chest", localPos = new Vector3(0f, 1f, -2f), localAngles = new Vector3(-100f, 180f, 0f), localScale = new Vector3(1.5f, 1.5f, 1.5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.IceRing, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayIceRing"), childName = "FootL", localPos = new Vector3(0.2f, -1f, -1.5f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(5f, 5f, 5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.FireRing, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayFireRing"), childName = "FootR", localPos = new Vector3(-0.2f, -1f, -1.5f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(5f, 5f, 5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.DeathMark, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayDeathMark"), childName = "Chest", localPos = new Vector3(-3f, 1.5f, -2.5f), localAngles = new Vector3(-45f, 0f, 180f), localScale = new Vector3(0.15f, 0.15f, 0.15f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.SlowOnHit, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayBauble"), childName = "Chest", localPos = new Vector3(4f, -1f, -2.5f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(3f, 3f, 3f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.ArmorPlate, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayRepulsionArmorPlate"), childName = "Hip", localPos = new Vector3(0.2f, 1.75f, 3f), localAngles = new Vector3(75f, 180f, 0f), localScale = new Vector3(2.75f, 2.75f, 2.75f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.HealWhileSafe, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplaySnail"), childName = "FootR", localPos = new Vector3(0f, 1f, 0f), localAngles = new Vector3(-90f, 0f, 0f), localScale = new Vector3(0.3f, 0.3f, 0.3f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.JumpBoost, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayWaxBird"), childName = "Chest", localPos = new Vector3(2f, -1.1f, 0f), localAngles = new Vector3(0f, 180f, 0f), localScale = new Vector3(5f, 5f, 5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.Bear, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayBear"), childName = "Chest", localPos = new Vector3(-2f, 2.1f, -0f), localAngles = new Vector3(-60f, 180f, 0f), localScale = new Vector3(1f, 1f, 1f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.SprintArmor, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayBuckler"), childName = "Hip", localPos = new Vector3(-2.4f, 1.5f, -0.075f), localAngles = new Vector3(25f, -90f, 25f), localScale = new Vector3(0.7f, 0.7f, 0.7f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.IgniteOnKill, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayGasoline"), childName = "Hip", localPos = new Vector3(1.75f, 0f, 0f), localAngles = new Vector3(0f, 190f, 0f), localScale = new Vector3(2f, 2f, 2f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.ShockNearby, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayTeslaCoil"), childName = "Chest", localPos = new Vector3(0f, 0f, 1.85f), localAngles = new Vector3(95f, 0f, 0f), localScale = new Vector3(2.5f, 2.5f, 2.5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.IncreaseHealing, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[2] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayAntler"), childName = "Head", localPos = new Vector3(1f, 0.5f, 0f), localAngles = new Vector3(0f, 75f, 0f), localScale = new Vector3(2f, 2f, 2f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") }, new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayAntler"), childName = "Head", localPos = new Vector3(-1f, 0.5f, 0f), localAngles = new Vector3(0f, -75f, 0f), localScale = new Vector3(2f, 2f, 2f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.HealOnCrit, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayScythe"), childName = "Chest", localPos = new Vector3(-1f, 1f, 1.75f), localAngles = new Vector3(-90f, 0f, 0f), localScale = new Vector3(1f, 1f, 1f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.ArmorReductionOnHit, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayWarhammer"), childName = "Chest", localPos = new Vector3(1.25f, 1f, 1.75f), localAngles = new Vector3(-90f, 25f, 0f), localScale = new Vector3(1f, 1f, 1f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.GhostOnKill, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayMask"), childName = "Head", localPos = new Vector3(0f, 3f, 0f), localAngles = new Vector3(-90f, 0f, 0f), localScale = new Vector3(6f, 6f, 6f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.ChainLightning, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayUkulele"), childName = "Hip", localPos = new Vector3(1.28f, -0.5f, 1.28f), localAngles = new Vector3(160f, -145f, 45f), localScale = new Vector3(3.5f, 3.5f, 3.5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.Feather, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[2] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayFeather"), childName = "FootR", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(180f, 0f, 0f), localScale = new Vector3(0.125f, 0.125f, 0.125f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") }, new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayFeather"), childName = "FootL", localPos = new Vector3(0f, 0f, 0f), localAngles = new Vector3(180f, 0f, 0f), localScale = new Vector3(0.125f, 0.125f, 0.125f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.BleedOnHit, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[2] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayTriTip"), childName = "Head", localPos = new Vector3(-0.7f, 3f, 0.25f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(1.4f, 1.4f, 1.4f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") }, new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayTriTip"), childName = "Head", localPos = new Vector3(0.7f, 3f, 0.25f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(1.4f, 1.4f, 1.4f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.Hoof, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[2] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayHoof"), childName = "FootR", localPos = new Vector3(-0.1f, 0.3f, -0.5f), localAngles = new Vector3(115f, 8f, 0f), localScale = new Vector3(0.55f, 0.6f, 0.45f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") }, new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayHoof"), childName = "FootL", localPos = new Vector3(0.1f, 0.3f, -0.5f), localAngles = new Vector3(115f, -8f, 0f), localScale = new Vector3(0.55f, 0.6f, 0.45f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.AutoCastEquipment, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayFossil"), childName = "Hip", localPos = new Vector3(0f, 5f, -2f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(5f, 5f, 5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.ExecuteLowHealthElite, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayGuillotine"), childName = "Chest", localPos = new Vector3(0f, 3f, 0f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(2f, 2f, 2f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.SecondarySkillMagazine, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayDoubleMag"), childName = "Chest", localPos = new Vector3(1.5f, 0f, -2f), localAngles = new Vector3(0f, 90f, 0f), localScale = new Vector3(0.5f, 0.5f, 0.5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.BounceNearby, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayHook"), childName = "Hip", localPos = new Vector3(0f, 0f, 2f), localAngles = new Vector3(0f, 0f, 0f), localScale = new Vector3(0.5f, 0.5f, 0.5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.UtilitySkillMagazine, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayAfterburnerShoulderRing"), childName = "Hip", localPos = new Vector3(-1f, 1.5f, 0f), localAngles = new Vector3(-70f, -50f, 0f), localScale = new Vector3(5f, 5f, 5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.BarrierOnKill, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayBrooch"), childName = "Chest", localPos = new Vector3(-1.5f, 0f, -1.8f), localAngles = new Vector3(90f, -160f, 0f), localScale = new Vector3(5f, 5f, 5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.Seed, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplaySeed"), childName = "Head", localPos = new Vector3(-1.5f, 0f, 0f), localAngles = new Vector3(0f, 45f, 0f), localScale = new Vector3(0.4f, 0.4f, 0.4f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Equipment.CommandMissile, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayMissileRack"), childName = "Chest", localPos = new Vector3(0f, 0f, 1.75f), localAngles = new Vector3(95f, 0f, 0f), localScale = new Vector3(5f, 5f, 5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.NovaOnHeal, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[2] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayDevilHorns"), childName = "Head", localPos = new Vector3(0.7303f, 0.1756f, -0.5753f), localAngles = new Vector3(352.5533f, 29.4658f, 18.7488f), localScale = new Vector3(4f, 4f, 4f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") }, new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayDevilHorns"), childName = "Head", localPos = new Vector3(-0.66f, -0.76f, -0.58f), localAngles = new Vector3(345.1051f, 351.4702f, 337.102f), localScale = new Vector3(-4f, 4f, 4f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.NovaOnLowHealth, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayJellyGuts"), childName = "Hip", localPos = new Vector3(-0.4529f, 1.7712f, -0.6715f), localAngles = new Vector3(299.3817f, 283.2026f, 315.4579f), localScale = new Vector3(1f, 1f, 1f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.FlatHealth, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplaySteakCurved"), childName = "Hip", localPos = new Vector3(2.3058f, 0.56f, 0.4438f), localAngles = new Vector3(34.1613f, 73.1456f, 93.2268f), localScale = new Vector3(0.7229f, 0.6707f, 0.6707f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.Squid, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplaySquidTurret"), childName = "Hip", localPos = new Vector3(-0.0482f, 2.3759f, 1.0119f), localAngles = new Vector3(7.1398f, 190.2515f, 358.1556f), localScale = new Vector3(0.5f, 0.5f, 0.5f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRules.Add(new KeyAssetRuleGroup { keyAsset = (Object)(object)Items.BonusGoldPackOnKill, displayRuleGroup = new DisplayRuleGroup { rules = (ItemDisplayRule[])(object)new ItemDisplayRule[1] { new ItemDisplayRule { ruleType = (ItemDisplayRuleType)0, followerPrefab = LoadDisplay("DisplayTome"), childName = "Chest", localPos = new Vector3(2.3699f, -1.4257f, -0.1126f), localAngles = new Vector3(25.9797f, 87.6423f, 309.1855f), localScale = new Vector3(0.7291f, 0.7291f, 0.5835f), limbMask = (LimbFlags)0, followerPrefabAddress = new AssetReferenceGameObject("") } } } }); itemDisplayRuleSet.keyAssetRuleGroups = itemDisplayRules.ToArray(); itemDisplayRuleSet.GenerateRuntimeValues(); } internal static void PopulateDisplays() { //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) ItemDisplayRuleSet val = ((Component)Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .modelTransform).GetComponent().itemDisplayRuleSet; KeyAssetRuleGroup[] keyAssetRuleGroups = val.keyAssetRuleGroups; for (int i = 0; i < keyAssetRuleGroups.Length; i++) { ItemDisplayRule[] rules = keyAssetRuleGroups[i].displayRuleGroup.rules; 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?.ToLower(); if (!itemDisplayPrefabs.ContainsKey(key)) { itemDisplayPrefabs[key] = followerPrefab; } } } } } internal static GameObject LoadDisplay(string name) { if (itemDisplayPrefabs.ContainsKey(name.ToLower()) && Object.op_Implicit((Object)(object)itemDisplayPrefabs[name.ToLower()])) { return itemDisplayPrefabs[name.ToLower()]; } return null; } } public class Secondary3 : AimThrowableBase { public GameObject chargeVfxInstance; private AimStunDrone goodState; public override void OnEnter() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //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_0133: 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_0168: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) if (goodState == null) { goodState = new AimStunDrone(); } base.maxDistance = 75f; base.rayRadius = 2f; base.arcVisualizerPrefab = ((AimThrowableBase)goodState).arcVisualizerPrefab; base.projectilePrefab = Lemurian.SecProjectile3; base.endpointVisualizerPrefab = ((AimThrowableBase)goodState).endpointVisualizerPrefab; base.endpointVisualizerRadiusScale = 1f; base.setFuse = false; base.damageCoefficient = 5f; base.baseMinimumDuration = 0.1f; base.projectileBaseSpeed = 85f; Lemurian.SecProjectile3.GetComponent().damageType = DamageTypeCombo.op_Implicit((DamageType)(Util.CheckRoll((float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), ((EntityState)this).characterBody.master) ? 128 : 0)); Transform modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { ChildLocator component = ((Component)modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { Transform val = component.FindChild("MuzzleMouth"); if (Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)LemPrefabs.LemFireCharge)) { chargeVfxInstance = Object.Instantiate(LemPrefabs.LemExploCharge, val.position, val.rotation); chargeVfxInstance.transform.parent = val; Transform transform = chargeVfxInstance.transform; transform.localScale *= 0.3f; } } } ((EntityState)this).PlayAnimation("Gesture", Animator.StringToHash("ChargeFireball"), Animator.StringToHash("ChargeFireball.playbackRate"), 2f); ((AimThrowableBase)this).OnEnter(); } public override void FixedUpdate() { ((EntityState)this).characterBody.SetAimTimer(0.15f); ((EntityState)this).fixedAge = ((EntityState)this).fixedAge + Time.fixedDeltaTime; bool flag = false; if (((EntityState)this).isAuthority && !((AimThrowableBase)this).KeyIsDown() && ((EntityState)this).fixedAge >= base.minimumDuration) { flag = true; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && ((EntityState)this).characterBody.isSprinting) { flag = true; } if (flag) { ((AimThrowableBase)this).UpdateTrajectoryInfo(ref base.currentTrajectoryInfo); Util.PlaySound(DodgeState.dodgeSoundString, ((EntityState)this).gameObject); string text = "MuzzleMouth"; if (Object.op_Implicit((Object)(object)FireFireball.effectPrefab)) { EffectManager.SimpleMuzzleFlash(FireFireball.effectPrefab, ((EntityState)this).gameObject, text, false); } ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { if (Object.op_Implicit((Object)(object)chargeVfxInstance)) { EntityState.Destroy((Object)(object)chargeVfxInstance); } ((EntityState)this).PlayAnimation("Gesture", "FireFireball", "FireFireball.playbackRate", 0.2f, 0f); ((AimThrowableBase)this).OnExit(); } } public class Lemurian { public static GameObject myCharacter; public static GameObject characterDisplay; public static GameObject doppelganger; public static CharacterCameraParams LemCam; private static readonly Color CHAR_COLOR = new Color(40f / 51f, 0.29411766f, 1f / 17f); public static string Skin2; public static ConfigEntry baseHealth; public static ConfigEntry healthGrowth; public static ConfigEntry baseArmor; public static ConfigEntry baseDamage; public static ConfigEntry damageGrowth; public static ConfigEntry baseRegen; public static ConfigEntry regenGrowth; public static ConfigEntry baseJumpPower; public static float transformer = 0f; public static ConfigEntry switchKey; public static GameObject PrimProjectile; public static GameObject SecProjectile1; public static GameObject SecProjectile2; public static GameObject UtilProjectile; public static GameObject UtilFlameDot; public static GameObject UtilProjectile2; public static GameObject SecProjectile3; public static GameObject LemurianPrefab; public static bool IsBUDefined { get; private set; } internal static void LemurianSetup() { TokenSetup(); LemurianSurvivor(); SkillSetup(); CreateMaster(); } internal static void LemurianSurvivor() { //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_003c: 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_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008d: 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_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_0123: 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_013c: 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_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: 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_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0266: Unknown result type (might be due to invalid IL or missing references) //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02a9: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: 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_03c8: Unknown result type (might be due to invalid IL or missing references) //IL_03cd: Unknown result type (might be due to invalid IL or missing references) //IL_03eb: Unknown result type (might be due to invalid IL or missing references) //IL_03f0: Unknown result type (might be due to invalid IL or missing references) //IL_048a: Unknown result type (might be due to invalid IL or missing references) //IL_048f: Unknown result type (might be due to invalid IL or missing references) //IL_04d6: Unknown result type (might be due to invalid IL or missing references) //IL_04db: Unknown result type (might be due to invalid IL or missing references) //IL_0451: Unknown result type (might be due to invalid IL or missing references) //IL_0456: Unknown result type (might be due to invalid IL or missing references) myCharacter = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Lemurian/LemurianBody.prefab").WaitForCompletion(), "Lemurian_Survivor"); ((Component)myCharacter.GetComponent().modelBaseTransform).gameObject.transform.localScale = Vector3.one * 0.8f; ((Component)myCharacter.GetComponent().modelBaseTransform).gameObject.transform.Translate(new Vector3(0f, 0f, 0f) + myCharacter.transform.forward); myCharacter.GetComponent().aimOriginTransform.Translate(new Vector3(0f, 0.15f, 0.8f)); myCharacter.GetComponent().canBeHitStunned = false; myCharacter.tag = "Player"; LemCam = ScriptableObject.CreateInstance(); ((Object)LemCam).name = "LemCam"; LemCam.data.minPitch = BlendableFloat.op_Implicit(-60f); LemCam.data.maxPitch = BlendableFloat.op_Implicit(60f); LemCam.data.wallCushion = BlendableFloat.op_Implicit(0.1f); LemCam.data.pivotVerticalOffset = BlendableFloat.op_Implicit(0f); LemCam.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, 2f, -9f)); myCharacter.GetComponent().cameraParams = LemCam; KinematicCharacterMotor component = myCharacter.GetComponent(); component.playerCharacter = true; KinematicCharacterMotor[] componentsInChildren = myCharacter.GetComponentsInChildren(); foreach (KinematicCharacterMotor val in componentsInChildren) { val.SetCapsuleDimensions(val.Capsule.radius * 1.2f, val.Capsule.height * 1f, 0f); ((Behaviour)val).enabled = true; } CapsuleCollider component2 = myCharacter.GetComponent(); ((Collider)component2).enabled = true; myCharacter.GetComponent().logUnlockableDef = null; LemurianSkinSetup.BuildTheFuckingSkins(); characterDisplay = PrefabAPI.InstantiateClone(((Component)myCharacter.GetComponent().modelBaseTransform).gameObject, "LemurianDisplay"); characterDisplay.transform.localScale = Vector3.one * 0.8f; characterDisplay.AddComponent(); CharacterBody component3 = myCharacter.GetComponent(); component3.SetSpreadBloom(0f, false); component3.spreadBloomCurve = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .spreadBloomCurve; component3.spreadBloomDecayTime = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .spreadBloomDecayTime; ((Object)component3).name = "Lemurian_Survivor"; component3.baseNameToken = "Lemurian_Survivor"; component3.subtitleNameToken = "Master of Fire"; ((Component)component3).tag = "Player"; component3.bodyFlags = (BodyFlags)16; component3.baseMaxHealth = baseHealth.Value; component3.levelMaxHealth = healthGrowth.Value; component3.baseRegen = baseRegen.Value; component3.levelRegen = regenGrowth.Value; component3.baseDamage = baseDamage.Value; component3.levelDamage = damageGrowth.Value; component3.baseArmor = baseArmor.Value; component3.baseJumpPower = baseJumpPower.Value; component3.baseCrit = 1f; component3.baseAcceleration = 80f; component3.baseMoveSpeed = 7f; component3.autoCalculateLevelStats = true; component3.levelMoveSpeed = Addressables.LoadAssetAsync((object)"RoR2/Base/Loader/LoaderBody.prefab").WaitForCompletion().GetComponent() .levelMoveSpeed; component3.sprintingSpeedMultiplier = Addressables.LoadAssetAsync((object)"RoR2/Base/Loader/LoaderBody.prefab").WaitForCompletion().GetComponent() .sprintingSpeedMultiplier; ((Component)component3).GetComponent().mass = 175f; if (Loader.LemPod.Value) { component3.preferredPodPrefab = LemPrefabs.LemPodprefab; } else if (!Loader.LemPod.Value) { component3.preferredPodPrefab = Addressables.LoadAssetAsync((object)"RoR2/Base/Croco/CrocoBody.prefab").WaitForCompletion().GetComponent() .preferredPodPrefab; } EntityStateMachine component4 = ((Component)myCharacter.GetComponent()).GetComponent(); component4.mainStateType = new SerializableEntityStateType(typeof(LemurianMain)); myCharacter.AddComponent(); characterDisplay.AddComponent(); LemurianPrefab = myCharacter; SurvivorDef val2 = ScriptableObject.CreateInstance(); val2.cachedName = "Lemurian_Survivor"; val2.descriptionToken = "Lemurian_Description"; val2.primaryColor = CHAR_COLOR; val2.bodyPrefab = LemurianPrefab; val2.displayPrefab = characterDisplay; val2.outroFlavorToken = "LEMURIAN_ENDING"; val2.mainEndingEscapeFailureFlavorToken = "LEMURIAN_FAIL_ENDING"; val2.desiredSortPosition = 20f; Loader.entityStates.Add(typeof(LemurianMain)); Loader.survivorDefs.Add(val2); Loader.bodyPrefabs.Add(myCharacter); } internal static void SkillSetup() { GenericSkill[] componentsInChildren = myCharacter.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { Object.DestroyImmediate((Object)(object)componentsInChildren[i]); } myCharacter.GetComponent(); PrimarySetup(); SecondarySetup(); UtilitySetup(); SpecialSetup(); PassiveSetup(); } internal static void PrimarySetup() { //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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Expected O, but got Unknown //IL_0168: 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_0182: 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_01c7: 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_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Expected O, but got Unknown //IL_02bf: 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_02d9: Unknown result type (might be due to invalid IL or missing references) //IL_02de: Unknown result type (might be due to invalid IL or missing references) //IL_031e: Unknown result type (might be due to invalid IL or missing references) //IL_035a: Unknown result type (might be due to invalid IL or missing references) //IL_035f: Unknown result type (might be due to invalid IL or missing references) //IL_0403: 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_0426: Expected O, but got Unknown //IL_0427: 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) SkillLocator component = myCharacter.GetComponent(); SkillDef val = ScriptableObject.CreateInstance(); val.activationState = new SerializableEntityStateType(typeof(Primary1)); val.activationStateMachineName = "Weapon"; val.baseMaxStock = 0; val.baseRechargeInterval = 0f; val.beginSkillCooldownOnSkillEnd = true; val.canceledFromSprinting = false; val.fullRestockOnAssign = true; val.interruptPriority = (InterruptPriority)0; val.isCombatSkill = true; val.mustKeyPress = false; val.cancelSprintingOnActivation = true; val.rechargeStock = 1; val.requiredStock = 0; val.stockToConsume = 0; val.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Mage/MageBody.prefab").WaitForCompletion().GetComponentInChildren() .primary.skillFamily.variants[0].skillDef.icon; val.skillDescriptionToken = "Primary1_DESCRIPTION"; val.skillName = "Primary1_NAME"; val.skillNameToken = "Primary1_NAME"; val.keywordTokens = new string[1] { "IgniteKeyword" }; component.primary = myCharacter.AddComponent(); SkillFamily val2 = ScriptableObject.CreateInstance(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.primary, "_skillFamily", val2); SkillFamily skillFamily = component.primary.skillFamily; Variant[] variants = skillFamily.variants; Variant val3 = new Variant { skillDef = val }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants[0] = val3; SkillDef val4 = ScriptableObject.CreateInstance(); val4.activationState = new SerializableEntityStateType(typeof(Primary2)); val4.activationStateMachineName = "Weapon"; val4.baseMaxStock = 0; val4.baseRechargeInterval = 0f; val4.beginSkillCooldownOnSkillEnd = true; val4.canceledFromSprinting = false; val4.fullRestockOnAssign = true; val4.interruptPriority = (InterruptPriority)0; val4.isCombatSkill = true; val4.mustKeyPress = false; val4.cancelSprintingOnActivation = false; val4.rechargeStock = 1; val4.requiredStock = 0; val4.stockToConsume = 1; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Croco/CrocoBody.prefab").WaitForCompletion().GetComponentInChildren() .special.skillFamily.variants[0].skillDef.icon; val4.skillDescriptionToken = "Primary2_DESCRIPTION"; val4.skillName = "Primary2_NAME"; val4.skillNameToken = "Primary2_NAME"; val4.keywordTokens = new string[1] { "Prim2Keyword" }; Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1); Variant[] variants2 = skillFamily.variants; int num = skillFamily.variants.Length - 1; val3 = new Variant { skillDef = val4 }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants2[num] = val3; SkillDef val5 = ScriptableObject.CreateInstance(); val5.activationState = new SerializableEntityStateType(typeof(Primary3)); val5.activationStateMachineName = "Weapon"; val5.baseMaxStock = 0; val5.baseRechargeInterval = 0f; val5.beginSkillCooldownOnSkillEnd = true; val5.canceledFromSprinting = true; val5.fullRestockOnAssign = true; val5.interruptPriority = (InterruptPriority)0; val5.isCombatSkill = true; val5.mustKeyPress = false; val5.cancelSprintingOnActivation = true; val5.rechargeStock = 1; val5.requiredStock = 0; val5.stockToConsume = 1; val5.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponentInChildren() .secondary.skillFamily.variants[0].skillDef.icon; val5.skillDescriptionToken = "Primary3_DESCRIPTION"; val5.skillName = "Primary3_NAME"; val5.skillNameToken = "Primary3_NAME"; val5.keywordTokens = new string[1] { "Prim3Keyword" }; SkillFamily skillFamily2 = component.primary.skillFamily; Array.Resize(ref skillFamily2.variants, skillFamily2.variants.Length + 1); Variant[] variants3 = skillFamily2.variants; int num2 = skillFamily2.variants.Length - 1; val3 = new Variant { skillDef = val5 }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants3[num2] = val3; Loader.entityStates.Add(typeof(Primary1)); Loader.entityStates.Add(typeof(Primary2)); Loader.entityStates.Add(typeof(Primary3)); Loader.skillDefs.Add(val); Loader.skillDefs.Add(val4); Loader.skillDefs.Add(val5); } internal static void SecondarySetup() { //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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: 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_0163: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Expected O, but got Unknown //IL_016e: 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_0186: 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_01c4: 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_01fe: 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_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: Expected O, but got Unknown //IL_02c9: Unknown result type (might be due to invalid IL or missing references) //IL_02cb: Unknown result type (might be due to invalid IL or missing references) //IL_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_0328: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Unknown result type (might be due to invalid IL or missing references) //IL_0369: Unknown result type (might be due to invalid IL or missing references) //IL_041d: Unknown result type (might be due to invalid IL or missing references) //IL_0436: Unknown result type (might be due to invalid IL or missing references) //IL_0440: Expected O, but got Unknown //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_0443: Unknown result type (might be due to invalid IL or missing references) SkillLocator component = myCharacter.GetComponent(); SkillDef val = ScriptableObject.CreateInstance(); val.activationState = new SerializableEntityStateType(typeof(Secondary1)); val.activationStateMachineName = "Weapon"; val.baseMaxStock = 1; val.baseRechargeInterval = 5f; val.beginSkillCooldownOnSkillEnd = false; val.canceledFromSprinting = false; val.fullRestockOnAssign = true; val.interruptPriority = (InterruptPriority)2; val.isCombatSkill = true; val.mustKeyPress = true; val.cancelSprintingOnActivation = true; val.rechargeStock = 1; val.requiredStock = 1; val.stockToConsume = 1; val.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponentInChildren() .primary.skillFamily.variants[0].skillDef.icon; val.skillDescriptionToken = "Secondary1_DESCRIPTION"; val.skillName = "Secondary1_NAME"; val.skillNameToken = "Secondary1_NAME"; val.keywordTokens = new string[2] { "IgniteKeyword", "Sec1Keyword" }; component.secondary = myCharacter.AddComponent(); SkillFamily val2 = ScriptableObject.CreateInstance(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.secondary, "_skillFamily", val2); Variant[] variants = component.secondary.skillFamily.variants; Variant val3 = new Variant { skillDef = val }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants[0] = val3; SkillDef val4 = ScriptableObject.CreateInstance(); val4.activationState = new SerializableEntityStateType(typeof(Secondary2)); val4.activationStateMachineName = "Weapon"; val4.baseMaxStock = 1; val4.baseRechargeInterval = 5f; val4.beginSkillCooldownOnSkillEnd = false; val4.canceledFromSprinting = false; val4.fullRestockOnAssign = true; val4.interruptPriority = (InterruptPriority)2; val4.isCombatSkill = true; val4.mustKeyPress = true; val4.cancelSprintingOnActivation = true; val4.rechargeStock = 1; val4.requiredStock = 1; val4.stockToConsume = 1; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Captain/CaptainBody.prefab").WaitForCompletion().GetComponentInChildren() .primary.skillFamily.variants[0].skillDef.icon; val4.skillDescriptionToken = "Secondary2_DESCRIPTION"; val4.skillName = "Secondary2_NAME"; val4.skillNameToken = "Secondary2_NAME"; val4.keywordTokens = new string[2] { "IgniteKeyword", "Sec2Keyword" }; SkillFamily skillFamily = component.secondary.skillFamily; Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1); Variant[] variants2 = skillFamily.variants; int num = skillFamily.variants.Length - 1; val3 = new Variant { skillDef = val4 }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants2[num] = val3; SkillDef val5 = ScriptableObject.CreateInstance(); val5.activationState = new SerializableEntityStateType(typeof(Secondary3)); val5.activationStateMachineName = "Weapon"; val5.baseMaxStock = 2; val5.baseRechargeInterval = 3f; val5.beginSkillCooldownOnSkillEnd = true; val5.canceledFromSprinting = false; val5.fullRestockOnAssign = true; val5.interruptPriority = (InterruptPriority)2; val5.isCombatSkill = true; val5.mustKeyPress = true; val5.cancelSprintingOnActivation = true; val5.rechargeStock = 1; val5.requiredStock = 1; val5.stockToConsume = 1; val5.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponentInChildren() .special.skillFamily.variants[0].skillDef.icon; val5.skillDescriptionToken = "Secondary3_DESCRIPTION"; val5.skillName = "Secondary3_NAME"; val5.skillNameToken = "Secondary3_NAME"; val5.keywordTokens = new string[3] { "IgniteKeyword", "Sec3Keyword", "Sec3Keyword2" }; SkillFamily skillFamily2 = component.secondary.skillFamily; Array.Resize(ref skillFamily.variants, skillFamily2.variants.Length + 1); Variant[] variants3 = skillFamily.variants; int num2 = skillFamily.variants.Length - 1; val3 = new Variant { skillDef = val5 }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants3[num2] = val3; Loader.entityStates.Add(typeof(Secondary1)); Loader.entityStates.Add(typeof(Secondary2)); Loader.entityStates.Add(typeof(Secondary3)); Loader.skillDefs.Add(val); Loader.skillDefs.Add(val4); Loader.skillDefs.Add(val5); } internal static void UtilitySetup() { //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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: 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_0163: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Expected O, but got Unknown //IL_016e: 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_0186: 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_01c4: 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_01fe: 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_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: Expected O, but got Unknown //IL_02c9: Unknown result type (might be due to invalid IL or missing references) //IL_02cb: Unknown result type (might be due to invalid IL or missing references) SkillLocator component = myCharacter.GetComponent(); SkillDef val = ScriptableObject.CreateInstance(); val.activationState = new SerializableEntityStateType(typeof(Utility1)); val.activationStateMachineName = "Weapon"; val.baseMaxStock = 1; val.baseRechargeInterval = 5f; val.beginSkillCooldownOnSkillEnd = false; val.canceledFromSprinting = false; val.fullRestockOnAssign = true; val.interruptPriority = (InterruptPriority)2; val.isCombatSkill = false; val.mustKeyPress = true; val.cancelSprintingOnActivation = true; val.rechargeStock = 1; val.requiredStock = 1; val.stockToConsume = 1; val.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Croco/CrocoBody.prefab").WaitForCompletion().GetComponentInChildren() .utility.skillFamily.variants[1].skillDef.icon; val.skillDescriptionToken = "Util1_DESCRIPTION"; val.skillName = "Util1_NAME"; val.skillNameToken = "Util1_NAME"; val.keywordTokens = new string[2] { "IgniteKeyword", "Util1Keyword" }; component.utility = myCharacter.AddComponent(); SkillFamily val2 = ScriptableObject.CreateInstance(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.utility, "_skillFamily", val2); Variant[] variants = component.utility.skillFamily.variants; Variant val3 = new Variant { skillDef = val }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants[0] = val3; SkillDef val4 = ScriptableObject.CreateInstance(); val4.activationState = new SerializableEntityStateType(typeof(Utility2)); val4.activationStateMachineName = "Weapon"; val4.baseMaxStock = 1; val4.baseRechargeInterval = 7.5f; val4.beginSkillCooldownOnSkillEnd = true; val4.canceledFromSprinting = false; val4.fullRestockOnAssign = true; val4.interruptPriority = (InterruptPriority)2; val4.isCombatSkill = true; val4.mustKeyPress = true; val4.cancelSprintingOnActivation = true; val4.rechargeStock = 1; val4.requiredStock = 1; val4.stockToConsume = 1; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Treebot/TreebotBody.prefab").WaitForCompletion().GetComponentInChildren() .secondary.skillFamily.variants[1].skillDef.icon; val4.skillDescriptionToken = "Util2_DESCRIPTION"; val4.skillName = "Util2_NAME"; val4.skillNameToken = "Util2_NAME"; val4.keywordTokens = new string[2] { "IgniteKeyword", "Util2Keyword" }; SkillFamily skillFamily = component.utility.skillFamily; Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1); Variant[] variants2 = skillFamily.variants; int num = skillFamily.variants.Length - 1; val3 = new Variant { skillDef = val4 }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants2[num] = val3; Loader.entityStates.Add(typeof(Utility1)); Loader.entityStates.Add(typeof(Utility2)); Loader.skillDefs.Add(val); Loader.skillDefs.Add(val4); } internal static void SpecialSetup() { //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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: 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_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Expected O, but got Unknown //IL_0166: 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_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: 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_0296: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Expected O, but got Unknown //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02bb: Unknown result type (might be due to invalid IL or missing references) SkillLocator component = myCharacter.GetComponent(); SkillDef val = ScriptableObject.CreateInstance(); val.activationState = new SerializableEntityStateType(typeof(Special1)); val.activationStateMachineName = "Weapon"; val.baseMaxStock = 1; val.baseRechargeInterval = 10f; val.beginSkillCooldownOnSkillEnd = false; val.canceledFromSprinting = false; val.fullRestockOnAssign = true; val.interruptPriority = (InterruptPriority)2; val.isCombatSkill = true; val.mustKeyPress = true; val.cancelSprintingOnActivation = true; val.rechargeStock = 1; val.requiredStock = 1; val.stockToConsume = 1; val.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Mage/MageBody.prefab").WaitForCompletion().GetComponentInChildren() .special.skillFamily.variants[0].skillDef.icon; val.skillDescriptionToken = "Special1_DESCRIPTION"; val.skillName = "Special1_NAME"; val.skillNameToken = "Special1_NAME"; val.keywordTokens = new string[1] { "Special1Keyword" }; component.special = myCharacter.AddComponent(); SkillFamily val2 = ScriptableObject.CreateInstance(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.special, "_skillFamily", val2); Variant[] variants = component.special.skillFamily.variants; Variant val3 = new Variant { skillDef = val }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants[0] = val3; SkillDef val4 = ScriptableObject.CreateInstance(); val4.activationState = new SerializableEntityStateType(typeof(Special2Charge)); val4.activationStateMachineName = "Weapon"; val4.baseMaxStock = 1; val4.baseRechargeInterval = 8f; val4.beginSkillCooldownOnSkillEnd = true; val4.canceledFromSprinting = false; val4.fullRestockOnAssign = true; val4.interruptPriority = (InterruptPriority)2; val4.isCombatSkill = false; val4.mustKeyPress = false; val4.cancelSprintingOnActivation = false; val4.rechargeStock = 1; val4.requiredStock = 1; val4.stockToConsume = 1; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Huntress/HuntressBody.prefab").WaitForCompletion().GetComponentInChildren() .utility.skillFamily.variants[0].skillDef.icon; val4.skillDescriptionToken = "Special2_DESCRIPTION"; val4.skillName = "Special2_NAME"; val4.skillNameToken = "Special2_NAME"; val4.keywordTokens = new string[1] { "Special2Keyword" }; SkillFamily skillFamily = component.special.skillFamily; Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1); Variant[] variants2 = skillFamily.variants; int num = skillFamily.variants.Length - 1; val3 = new Variant { skillDef = val4 }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants2[num] = val3; Loader.entityStates.Add(typeof(Special1)); Loader.entityStates.Add(typeof(Special2Charge)); Loader.skillDefs.Add(val); Loader.skillDefs.Add(val4); } internal static void CreateMaster() { //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) doppelganger = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoMonsterMaster.prefab").WaitForCompletion(), "LemurianMonsterMaster"); doppelganger.GetComponent().bodyPrefab = myCharacter; Loader.masterPrefabs.Add(doppelganger); } internal static void PassiveSetup() { //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) SkillLocator component = myCharacter.GetComponent(); component.passiveSkill.enabled = true; component.passiveSkill.skillNameToken = "PASSIVE_NAME"; component.passiveSkill.skillDescriptionToken = "PASSIVE_DESCRIPTION"; component.passiveSkill.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Mage/MageBody.prefab").WaitForCompletion().GetComponentInChildren() .passiveSkill.icon; component.passiveSkill.keywordToken = "PassiveKeyword"; } internal static void TokenSetup() { //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) string text = "The Lemurian is a hybrid that can be played as melee or ranged survivor." + Environment.NewLine + Environment.NewLine; string[] obj = new string[9] { text, "As a master of fire, the Lemurian is able to build up a Fire Buff that increases the chance to ignite enemies on hit. Every stack increases the chance by 1%. It also increases the Lemurians movementspeed with each stack. A Fire Buff stack is aquired by every enemy hit, that lasts for 15 seconds. Some abilities also gain a damage buff in different kind of ways.", Environment.NewLine, Environment.NewLine, "After clearing the first loop the Lemurian is able to transform once every loop gaining a new stronger form and it's own abilities. This form lasts for 30 seconds +1 second for every 5 character levels. You will get a Buff when you are ready to transform, which can then be done by pressing ", null, null, null, null }; KeyboardShortcut value = switchKey.Value; obj[5] = ((object)(KeyboardShortcut)(ref value)).ToString(); obj[6] = "."; obj[7] = Environment.NewLine; obj[8] = Environment.NewLine; text = string.Concat(obj); IsBUDefined = Chainloader.PluginInfos.ContainsKey("com.KingEnderBrine.ScrollableLobbyUI"); if (IsBUDefined) { text = text + "Primary" + Environment.NewLine; text = text + "Fireball: (0,45s base duration)" + Environment.NewLine; text = text + "Shoot a fireball that deals 175% damage." + Environment.NewLine; text = text + "- Projectile speed scales with Fire Buff stacks (base speed = 125, every stack increases it by 1, so 125 stacks double the speed)" + Environment.NewLine + Environment.NewLine; text = text + "Fire Roar: (0.75s base duration)" + Environment.NewLine; text = text + "Fire 3 explosions in front of you, dealing 150% damage each. Gain Armor boost while using." + Environment.NewLine; text = text + "- Explosions are cast at 2m - 4m - 6m fixed distance with a 2.5m base blast radius, that increases with each explosion" + Environment.NewLine; text = text + "- Grants Fire Buff stacks on second explosion, when hitting enemies." + Environment.NewLine; text = text + "- With good positioning you can hit one enemy up to three times" + Environment.NewLine + Environment.NewLine; text = text + "Laser: (5 ticks/s)" + Environment.NewLine; text = text + "Fire a laser that deals 75% damage each tick." + Environment.NewLine; text = text + "- Scaled to not grant a Fire Buff stack on every hit. (base every 0,5s / attack speed)" + Environment.NewLine; text = text + "- Has small aim support (configurable) and explodes on impact within a 3.5m radius." + Environment.NewLine + Environment.NewLine + Environment.NewLine; text = text + "Secondary" + Environment.NewLine; text = text + "Fireballs: (0,3s base duration - 5s cooldown)" + Environment.NewLine; text = text + "Shoot 5 Fire Balls that deal 5x 300% damage." + Environment.NewLine; text = text + "- Projectiles spread horizontally and have a 2.5m blast radius" + Environment.NewLine + Environment.NewLine; text = text + "Flameburst: (0,5s base duration - 5s cooldown)" + Environment.NewLine; text = text + "Rapidly shoot 5 Fire Balls that deal 5x 200% damage." + Environment.NewLine; text = text + "- Projectiles have no spread and a 4m blast radius" + Environment.NewLine + Environment.NewLine; text = text + "Exploding Fire Ball: (0,5s base duration - 3s cooldown)" + Environment.NewLine; text = text + "Fire a fire ball that explodes on hit, dealing 500% damage within a 10m radius." + Environment.NewLine; text = text + "- Projectile is affected by gravity" + Environment.NewLine + Environment.NewLine + Environment.NewLine; text = text + "Utility" + Environment.NewLine; text = text + "Fiery Leap: (... - 5s cooldown)" + Environment.NewLine; text = text + "Leap to the enemy and and burn the ground on impact. The impact deals 500% damage and pulls enemies into the burning zone and slows them down." + Environment.NewLine; text = text + "- Has a 12,5m impact blast radius" + Environment.NewLine; text = text + "- Every tick of the flame does 50% damage for 15 Ticks in 3s" + Environment.NewLine + Environment.NewLine; text = text + "Detonate: (... - 7,5s cooldown)" + Environment.NewLine; text = text + "Cast an explosion that deals 1250% damage in a 1m - 10m radius." + Environment.NewLine; text = text + "- 75m maximum distance" + Environment.NewLine; text = text + "- Radius begins with 1m and grows to 10m in 2s. Attackspeed reduces this duration" + Environment.NewLine + Environment.NewLine + Environment.NewLine; text = text + "Special" + Environment.NewLine; text = text + "Flamebreath: (2,5s base duration - 7.5s cooldown)" + Environment.NewLine; text = text + "Fire a flamebreath that deals 50% damage per tick for 2,5 seconds up to 25m." + Environment.NewLine; text = text + "- You get slowed down while firing, but also gain an armor boost and more charactermass to better withstand enemy attacks" + Environment.NewLine; text = text + "- Every Fire Buff stack increases the tick count. Every tick increases the ignite percentage by 1%." + Environment.NewLine + Environment.NewLine; text = text + "Explosion: (2s base charge duration - 8s cooldown)" + Environment.NewLine; text = text + "Explode and deal 2500% damage in a 20m radius. " + Environment.NewLine; text = text + "- Damage and radius increase (1% damage and 0.1m radius) for every Fire Buff stack." + Environment.NewLine; text = text + "- You get slowed down while charging up, but also gain an armor boost and more charactermass to better withstand enemy attacks." + Environment.NewLine; } LanguageAPI.Add("Lemurian_Description", text); } } public class Primary1 : BaseState { public static GameObject effectPrefab; public static float damageCoefficient = 1.75f; public static float force = 1f; public static string attackString; private float duration; public GameObject projectilePrefab; public bool hasfired; public GameObject chargeVfxInstance; public override void OnEnter() { //IL_0045: 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_005a: 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_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_0069: 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_00f2: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration = 0.45f / base.attackSpeedStat; DamageType damageType = (DamageType)(Util.CheckRoll((float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), ((EntityState)this).characterBody.master) ? 128 : 0); Lemurian.PrimProjectile.GetComponent().damageType = new DamageTypeCombo { damageType = damageType, damageSource = (DamageSource)1 }; ((BaseState)this).AddRecoil(-0.25f, -0.25f, 0f, 0f); ((EntityState)this).GetModelAnimator(); Transform modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { ChildLocator component = ((Component)modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { Transform val = component.FindChild("MuzzleMouth"); if (Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)LemPrefabs.LemFireCharge)) { chargeVfxInstance = Object.Instantiate(LemPrefabs.LemFireCharge, val.position, val.rotation); chargeVfxInstance.transform.parent = val; } } } ((EntityState)this).PlayAnimation("Gesture", Animator.StringToHash("ChargeFireball"), Animator.StringToHash("ChargeFireball.playbackRate"), duration); Util.PlayAttackSpeedSound(ChargeFireball.attackString, ((EntityState)this).gameObject, base.attackSpeedStat); } public override void OnExit() { if (Object.op_Implicit((Object)(object)chargeVfxInstance)) { EntityState.Destroy((Object)(object)chargeVfxInstance); } ((EntityState)this).PlayAnimation("Gesture", "FireFireball", "FireFireball.playbackRate", duration, 0f); ((EntityState)this).OnExit(); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge >= duration && ((EntityState)this).isAuthority) { FireBullet(); ((EntityState)this).outer.SetNextStateToMain(); } } public void FireBullet() { //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_0025: 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_0032: 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_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_0049: 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_014f: 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_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_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_00b7: 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_00bd: Unknown result type (might be due to invalid IL or missing references) Ray aimRay = ((BaseState)this).GetAimRay(); Util.PlayAttackSpeedSound(FireFireball.attackString, ((EntityState)this).gameObject, base.attackSpeedStat); GameObject gameObject = ((EntityState)this).gameObject; Ray val = aimRay; LayerIndex val2 = LayerIndex.world; int num = LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask); val2 = LayerIndex.entityPrecise; RaycastHit val3 = default(RaycastHit); if (Util.CharacterRaycast(gameObject, val, ref val3, 1000f, LayerMask.op_Implicit(num | LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask)), (QueryTriggerInteraction)1)) { Vector3 val4 = ((RaycastHit)(ref val3)).point - ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position; ProjectileManager.instance.FireProjectile(Lemurian.PrimProjectile, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, Util.QuaternionSafeLookRotation(val4), ((EntityState)this).gameObject, base.damageStat * damageCoefficient, force, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, 125f + (float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), (DamageTypeCombo?)null); ((EntityState)this).outer.SetNextStateToMain(); } else { ProjectileManager.instance.FireProjectile(Lemurian.PrimProjectile, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), ((EntityState)this).gameObject, base.damageStat * damageCoefficient, force, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, 125f + (float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), (DamageTypeCombo?)null); ((EntityState)this).outer.SetNextStateToMain(); } } 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 class Primary2 : BaseState { private float duration; private Transform muzzleTransform; public GameObject muzzleflashEffectPrefab; private float stopwatch; private bool hasFiredBomb; private string muzzleString; public float explodamage; public Vector3 position; public float radius; public bool hasFiredBomb2; public GameObject chargeVfxInstance; public bool fired; public override void OnEnter() { //IL_009f: 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) ((BaseState)this).OnEnter(); stopwatch = 0f; duration = 0.75f / base.attackSpeedStat; muzzleString = "MuzzleMouth"; ((EntityState)this).characterBody.SetAimTimer(duration); fired = false; Transform modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { ChildLocator component = ((Component)modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { Transform val = component.FindChild("MuzzleMouth"); if (Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)LemPrefabs.LemFireCharge)) { chargeVfxInstance = Object.Instantiate(LemPrefabs.LemFireCharge, val.position, val.rotation); chargeVfxInstance.transform.parent = val; } } } Util.PlaySound(FireFireball.attackString, ((EntityState)this).gameObject); Util.PlayAttackSpeedSound(ChargeFireball.attackString, ((EntityState)this).gameObject, base.attackSpeedStat); ((EntityState)this).PlayAnimation("Gesture", Animator.StringToHash("ChargeFireball"), Animator.StringToHash("ChargeFireball.playbackRate"), duration); } public override void Update() { ((EntityState)this).Update(); } public override void OnExit() { if (Object.op_Implicit((Object)(object)chargeVfxInstance)) { EntityState.Destroy((Object)(object)chargeVfxInstance); } if (!fired) { ((EntityState)this).PlayAnimation("Gesture", "FireFireball", "FireFireball.playbackRate", duration, 0f); } ((EntityState)this).OnExit(); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); ((EntityState)this).characterBody.AddTimedBuff(Buffs.ArmorBuff, 0.1f); stopwatch += Time.fixedDeltaTime; if (!hasFiredBomb && stopwatch >= duration * 0.6f) { ((EntityState)this).PlayAnimation("Gesture", "FireFireball", "FireFireball.playbackRate", duration, 0f); fired = true; FireNovaBomb(); } if (hasFiredBomb && !hasFiredBomb2 && stopwatch >= duration * 0.8f) { FireNovaBomb2(); } if (hasFiredBomb2 && stopwatch >= duration) { FireNovaBomb3(); ((EntityState)this).outer.SetNextStateToMain(); } if (((EntityState)this).isAuthority && ((ButtonState)(ref ((EntityState)this).inputBank.skill1)).justReleased && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } 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; } private void FireNovaBomb() { //IL_0033: 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_0057: 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_0066: 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_0074: 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_00ac: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Expected O, but got Unknown //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_00d9: Unknown result type (might be due to invalid IL or missing references) hasFiredBomb = true; DamageType damageType = (DamageType)(Util.CheckRoll((float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), ((EntityState)this).characterBody.master) ? 128 : 0); if (((EntityState)this).isAuthority) { Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 origin = ((Ray)(ref aimRay)).origin + 2f * ((Ray)(ref aimRay)).direction; explodamage = 1.5f; position = origin; radius = 2.5f * (1f + (float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff) / 250f); EffectManager.SpawnEffect(LemPrefabs.LemPrim2Explo, new EffectData { origin = origin, scale = 2.5f }, true); if (Detonate(radius, 1f, position, damageType).hitCount >= 1 && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded) { ((BaseState)this).SmallHop(((EntityState)this).characterMotor, 3.5f); } } } private void FireNovaBomb2() { //IL_0033: 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_0057: 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_0066: 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_0074: 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_00ac: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Expected O, but got Unknown //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_00d9: Unknown result type (might be due to invalid IL or missing references) hasFiredBomb2 = true; DamageType damageType = (DamageType)(Util.CheckRoll((float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), ((EntityState)this).characterBody.master) ? 128 : 0); if (((EntityState)this).isAuthority) { Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 origin = ((Ray)(ref aimRay)).origin + 4f * ((Ray)(ref aimRay)).direction; explodamage = 1.5f; position = origin; radius = 3.25f * (1f + (float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff) / 250f); EffectManager.SpawnEffect(LemPrefabs.LemPrim2Explo, new EffectData { origin = origin, scale = 3.25f }, true); if (Detonate(radius, 1.01f, position, damageType).hitCount >= 1 && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded) { ((BaseState)this).SmallHop(((EntityState)this).characterMotor, 4f); } } } private void FireNovaBomb3() { //IL_0033: 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_0057: 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_0066: 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_0074: 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_00ac: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Expected O, but got Unknown //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_00d9: Unknown result type (might be due to invalid IL or missing references) hasFiredBomb = true; DamageType damageType = (DamageType)(Util.CheckRoll((float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), ((EntityState)this).characterBody.master) ? 128 : 0); if (((EntityState)this).isAuthority) { Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 origin = ((Ray)(ref aimRay)).origin + 6f * ((Ray)(ref aimRay)).direction; explodamage = 1.5f; position = origin; radius = 4f * (1f + (float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff) / 250f); EffectManager.SpawnEffect(LemPrefabs.LemPrim2Explo, new EffectData { origin = origin, scale = 4f }, true); if (Detonate(radius, 1f, position, damageType).hitCount >= 1 && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded) { ((BaseState)this).SmallHop(((EntityState)this).characterMotor, 4.25f); } } } protected Result Detonate(float radius, float proccoeff, Vector3 position, DamageType damageType) { //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_001e: 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_0052: 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_005d: 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_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_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_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_0080: 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_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0090: 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_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_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, baseDamage = base.damageStat * explodamage, crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), damageType = new DamageTypeCombo { damageType = damageType, damageSource = (DamageSource)1 }, falloffModel = (FalloffModel)0, procCoefficient = proccoeff, radius = radius, position = position, attackerFiltering = (AttackerFiltering)2, teamIndex = ((EntityState)this).teamComponent.teamIndex }.Fire(); } } public class Primary3 : BaseState { public GameObject effectPrefab; public GameObject hitEffectPrefab; public GameObject laserPrefab; public static string playAttackSoundString; public static string playLoopSoundString; public static string stopLoopSoundString; public static float damageCoefficient; public static float force; public float fireFrequency; public static float maxDistance = 250f; private float fireStopwatch; private float stopwatch; private Ray aimRay; private Transform modelTransform; private GameObject laserEffect; private GameObject laserEndEffect; private ChildLocator laserChildLocator; private ChildLocator laserEndChildLocator; private Transform laserEffectEnd; private Transform laserEndEffectEnd; protected Transform muzzleTransform; public float fireStopwatch2; private BullseyeSearch enemyFinder; private HurtBox foundAnyTarget; public override void OnEnter() { //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Expected O, but got Unknown //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_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_010f: 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_011b: 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_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: 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_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0207: 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) //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_02e4: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); Util.PlaySound("Play_falseson_skill4_laser_start", ((EntityState)this).gameObject); ((EntityState)this).characterBody.SetAimTimer(0.25f); CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.LemLaserPrimCh, (OverridePriority)0); FireMegaLaser val = new FireMegaLaser(); fireFrequency = 5f * base.attackSpeedStat; LaserFatherCharged val2 = new LaserFatherCharged(); damageCoefficient = 0.7f; bool value = Loader.aimAssist.Value; enemyFinder = new BullseyeSearch(); if (value) { enemyFinder.maxDistanceFilter = maxDistance; } if (!value) { enemyFinder.maxDistanceFilter = 0f; } enemyFinder.maxAngleFilter = 2.5f; enemyFinder.minDistanceFilter = 15f; enemyFinder.searchOrigin = ((Ray)(ref aimRay)).origin; enemyFinder.searchDirection = ((Ray)(ref aimRay)).direction; enemyFinder.filterByLoS = false; enemyFinder.sortMode = (SortMode)2; aimRay = ((BaseState)this).GetAimRay(); ((EntityState)this).PlayAnimation("Gesture", Animator.StringToHash("ChargeFireball"), Animator.StringToHash("ChargeFireball.playbackRate"), 1f); Ray val3 = ((BaseState)this).GetAimRay(); modelTransform = ((EntityState)this).GetModelTransform(); if (!Object.op_Implicit((Object)(object)modelTransform)) { return; } ChildLocator component = ((Component)modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { muzzleTransform = component.FindChild("MuzzleMouth"); if (Object.op_Implicit((Object)(object)muzzleTransform)) { GameObject obj = val2.laserPrefab; Vector3 position = muzzleTransform.position; Ray val4 = ((BaseState)this).GetAimRay(); laserEffect = Object.Instantiate(obj, position, Quaternion.LookRotation(((Ray)(ref val4)).direction)); GameObject obj2 = val.laserPrefab; Vector3 val5 = ((Ray)(ref val3)).origin + maxDistance * ((Ray)(ref val3)).direction; val4 = ((BaseState)this).GetAimRay(); laserEndEffect = Object.Instantiate(obj2, val5, Quaternion.LookRotation(-((Ray)(ref val4)).direction)); laserEffect.transform.parent = muzzleTransform; laserEndEffect.transform.parent = muzzleTransform; laserChildLocator = laserEffect.GetComponent(); laserEndChildLocator = laserEndEffect.GetComponent(); laserEffectEnd = laserChildLocator.FindChild("LaserEnd"); laserEndEffectEnd = laserEndChildLocator.FindChild("LaserEnd"); laserEffect.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); ((Component)laserEndEffectEnd).transform.localScale = new Vector3(0.125f, 0.125f, 0.125f); } } } public override void OnExit() { if (Object.op_Implicit((Object)(object)laserEffect)) { EntityState.Destroy((Object)(object)laserEffect); } if (Object.op_Implicit((Object)(object)laserEndEffect)) { EntityState.Destroy((Object)(object)laserEndEffect); } ((EntityState)this).PlayAnimation("Gesture", "FireFireball", "FireFireball.playbackRate", 1f, 0f); 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); ((EntityState)this).OnExit(); } public override void FixedUpdate() { //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_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_007b: 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_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_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_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_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_0142: Unknown result type (might be due to invalid IL or missing references) //IL_014d: 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_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_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_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_0192: 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_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: 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_01d7: 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_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: 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_037f: Unknown result type (might be due to invalid IL or missing references) //IL_0384: Unknown result type (might be due to invalid IL or missing references) //IL_0390: Unknown result type (might be due to invalid IL or missing references) //IL_039c: 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_03ae: Unknown result type (might be due to invalid IL or missing references) //IL_03b0: Unknown result type (might be due to invalid IL or missing references) //IL_03b5: Unknown result type (might be due to invalid IL or missing references) //IL_03c0: Unknown result type (might be due to invalid IL or missing references) //IL_03cb: Unknown result type (might be due to invalid IL or missing references) //IL_03cc: Unknown result type (might be due to invalid IL or missing references) //IL_03cd: Unknown result type (might be due to invalid IL or missing references) //IL_03d2: 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_03e0: 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_03ea: Unknown result type (might be due to invalid IL or missing references) //IL_027e: 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_0285: Unknown result type (might be due to invalid IL or missing references) //IL_0291: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_02f1: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_02f8: 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_030e: Unknown result type (might be due to invalid IL or missing references) //IL_030f: Unknown result type (might be due to invalid IL or missing references) //IL_0310: 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_0317: Unknown result type (might be due to invalid IL or missing references) //IL_031c: Unknown result type (might be due to invalid IL or missing references) //IL_0323: Unknown result type (might be due to invalid IL or missing references) //IL_0328: Unknown result type (might be due to invalid IL or missing references) //IL_032d: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); fireStopwatch += Time.fixedDeltaTime; fireStopwatch2 += Time.fixedDeltaTime; stopwatch += Time.fixedDeltaTime; aimRay = ((BaseState)this).GetAimRay(); if (stopwatch >= 0.15f) { if (((EntityState)this).isAuthority) { enemyFinder.searchOrigin = ((Ray)(ref aimRay)).origin; enemyFinder.searchDirection = ((Ray)(ref aimRay)).direction; enemyFinder.RefreshCandidates(); HurtBox val = enemyFinder.GetResults().FirstOrDefault(); foundAnyTarget = val; } Vector3 position = ((Ray)(ref aimRay)).origin; if (Object.op_Implicit((Object)(object)muzzleTransform)) { position = muzzleTransform.position; } Vector3 position2; if (Object.op_Implicit((Object)(object)foundAnyTarget)) { position2 = ((Component)foundAnyTarget).transform.position; } else { GameObject gameObject = ((EntityState)this).gameObject; Ray val2 = aimRay; float num = maxDistance; LayerIndex val3 = LayerIndex.world; int num2 = LayerMask.op_Implicit(((LayerIndex)(ref val3)).mask); val3 = LayerIndex.entityPrecise; RaycastHit val4 = default(RaycastHit); position2 = ((!Util.CharacterRaycast(gameObject, val2, ref val4, num, LayerMask.op_Implicit(num2 | LayerMask.op_Implicit(((LayerIndex)(ref val3)).mask)), (QueryTriggerInteraction)1)) ? ((Ray)(ref aimRay)).GetPoint(maxDistance) : ((RaycastHit)(ref val4)).point); } Transform transform = laserEffect.transform; Ray val5 = ((BaseState)this).GetAimRay(); transform.rotation = Quaternion.LookRotation(((Ray)(ref val5)).direction); laserEffect.transform.position = position; ((Component)laserEffectEnd).transform.position = position2; Transform transform2 = laserEndEffect.transform; val5 = ((BaseState)this).GetAimRay(); transform2.rotation = Quaternion.LookRotation(-((Ray)(ref val5)).direction); laserEndEffect.transform.position = position2; ((Component)laserEndEffectEnd).transform.position = position; if (fireStopwatch > 1f / fireFrequency) { ((EntityState)this).characterBody.SetAimTimer(0.25f); if (((EntityState)this).isAuthority) { DamageType damageType = (DamageType)(Util.CheckRoll((float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), ((EntityState)this).characterBody.master) ? 128 : 0); new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, baseDamage = base.damageStat * damageCoefficient, crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), damageType = new DamageTypeCombo { damageType = damageType, damageSource = (DamageSource)1 }, falloffModel = (FalloffModel)0, procCoefficient = 0.75f, radius = 3.5f, position = position2, attackerFiltering = (AttackerFiltering)2, teamIndex = ((EntityState)this).teamComponent.teamIndex }.Fire(); } fireStopwatch -= 1f / fireFrequency; } if (fireStopwatch2 > 1f / fireFrequency * 2.5f) { if (((EntityState)this).isAuthority) { new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, baseDamage = 0f, crit = false, falloffModel = (FalloffModel)0, procCoefficient = 1.01f, radius = 2f, position = position2, attackerFiltering = (AttackerFiltering)2, teamIndex = ((EntityState)this).teamComponent.teamIndex }.Fire(); } fireStopwatch2 -= 1f / fireFrequency * 2.5f; } } if (((EntityState)this).isAuthority && ((ButtonState)(ref ((EntityState)this).inputBank.skill1)).justReleased) { ((EntityState)this).outer.SetNextStateToMain(); } } 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 class Secondary1 : BaseState { public static GameObject muzzleflashEffectPrefab; public static int projectileCount = 5; public static float totalYawSpread = 4f; public static float baseDuration = 0.5f; public static float baseFireDuration = 0.25f; public static float damageCoefficient = 3f; public static float projectileSpeed; public static float force = 10f; public static string attackString; private float duration; private float fireDuration; private int projectilesFired; public override void OnEnter() { //IL_0061: 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) ((BaseState)this).OnEnter(); duration = baseDuration / base.attackSpeedStat; fireDuration = baseFireDuration / base.attackSpeedStat; Lemurian.SecProjectile1.GetComponent().damageType = DamageTypeCombo.op_Implicit((DamageType)(Util.CheckRoll((float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), ((EntityState)this).characterBody.master) ? 128 : 0)); ((EntityState)this).PlayAnimation("Gesture", "FireFireball", "FireFireball.playbackRate", duration, 0f); Util.PlaySound(FireMegaFireball.attackString, ((EntityState)this).gameObject); } public override void OnExit() { ((EntityState)this).OnExit(); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); string text = "MuzzleMouth"; int num = Mathf.FloorToInt(((EntityState)this).fixedAge / fireDuration * (float)projectileCount); if (projectilesFired <= num && projectilesFired < projectileCount) { if (Object.op_Implicit((Object)(object)FireMegaFireball.muzzleflashEffectPrefab)) { EffectManager.SimpleMuzzleFlash(FireMegaFireball.muzzleflashEffectPrefab, ((EntityState)this).gameObject, text, false); } if (((EntityState)this).isAuthority) { FireBullet(); } projectilesFired++; } if ((double)((EntityState)this).fixedAge >= (double)duration && ((EntityState)this).isAuthority && projectilesFired >= projectileCount) { ((EntityState)this).outer.SetNextStateToMain(); } } public void FireBullet() { //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_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: 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_0061: 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_006a: 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_0155: 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_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: 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_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_00b5: 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_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_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) Ray aimRay = ((BaseState)this).GetAimRay(); float num = FireMegaFireball.projectileSpeed; float num2 = (float)Mathf.FloorToInt((float)projectilesFired - (float)(FireMegaFireball.projectileCount - 1) / 2f) / (float)(FireMegaFireball.projectileCount - 1) * FireMegaFireball.totalYawSpread / 1.5f; GameObject gameObject = ((EntityState)this).gameObject; Ray val = aimRay; LayerIndex val2 = LayerIndex.world; int num3 = LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask); val2 = LayerIndex.entityPrecise; RaycastHit val3 = default(RaycastHit); if (Util.CharacterRaycast(gameObject, val, ref val3, 1000f, LayerMask.op_Implicit(num3 | LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask)), (QueryTriggerInteraction)1)) { Vector3 val4 = ((RaycastHit)(ref val3)).point - ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position; val4 = Util.ApplySpread(((Ray)(ref aimRay)).direction, 0f, 0f, 1f, 1f, num2, 0f); ProjectileManager.instance.FireProjectile(Lemurian.SecProjectile1, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, Util.QuaternionSafeLookRotation(val4), ((EntityState)this).gameObject, base.damageStat * damageCoefficient, force, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, num, (DamageTypeCombo?)null); } else { Vector3 val5 = Util.ApplySpread(((Ray)(ref aimRay)).direction, 0f, 0f, 1f, 1f, num2, 0f); ProjectileManager.instance.FireProjectile(Lemurian.SecProjectile1, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, Util.QuaternionSafeLookRotation(val5), ((EntityState)this).gameObject, base.damageStat * damageCoefficient, force, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, num, (DamageTypeCombo?)null); } } 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 Secondary2 : BaseState { public static float damageCoefficient = 2f; private int totalBulletsFired; private int bulletCount = 5; public float stopwatchBetweenShots; private Animator modelAnimator; private float duration; private float durationBetweenShots; public override void OnEnter() { //IL_0082: 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) ((BaseState)this).OnEnter(); duration = 0.5f; ((EntityState)this).PlayAnimation("Gesture", "FireFireball", "FireFireball.playbackRate", duration + 0.15f, 0f); durationBetweenShots = 0.5f / (float)bulletCount; Lemurian.SecProjectile2.GetComponent().damageType = DamageTypeCombo.op_Implicit((DamageType)(Util.CheckRoll((float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), ((EntityState)this).characterBody.master) ? 128 : 0)); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); stopwatchBetweenShots += Time.fixedDeltaTime; if (stopwatchBetweenShots >= durationBetweenShots && totalBulletsFired < bulletCount) { stopwatchBetweenShots -= durationBetweenShots; Util.PlaySound(DodgeState.dodgeSoundString, ((EntityState)this).gameObject); string text = "MuzzleMouth"; if (Object.op_Implicit((Object)(object)modelAnimator) && Object.op_Implicit((Object)(object)FireBarrage.effectPrefab)) { EffectManager.SimpleMuzzleFlash(FireFireball.effectPrefab, ((EntityState)this).gameObject, text, true); } ((BaseState)this).AddRecoil(-0.25f, -0.25f, -0.1f, 0.1f); if (((EntityState)this).isAuthority) { FireBullet(); } ((EntityState)this).characterBody.AddSpreadBloom(FireBarrage.spreadBloomValue); totalBulletsFired++; } if (totalBulletsFired == bulletCount && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { ((EntityState)this).OnExit(); } public void FireBullet() { //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_0025: 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_0032: 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_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_0049: 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_012e: 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_013a: 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_0088: 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_00b7: 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_00bd: Unknown result type (might be due to invalid IL or missing references) Ray aimRay = ((BaseState)this).GetAimRay(); Util.PlayAttackSpeedSound(FireFireball.attackString, ((EntityState)this).gameObject, base.attackSpeedStat); GameObject gameObject = ((EntityState)this).gameObject; Ray val = aimRay; LayerIndex val2 = LayerIndex.world; int num = LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask); val2 = LayerIndex.entityPrecise; RaycastHit val3 = default(RaycastHit); if (Util.CharacterRaycast(gameObject, val, ref val3, 1000f, LayerMask.op_Implicit(num | LayerMask.op_Implicit(((LayerIndex)(ref val2)).mask)), (QueryTriggerInteraction)1)) { Vector3 val4 = ((RaycastHit)(ref val3)).point - ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position; ProjectileManager.instance.FireProjectile(Lemurian.SecProjectile2, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, Util.QuaternionSafeLookRotation(val4), ((EntityState)this).gameObject, base.damageStat * damageCoefficient, 10f, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, 200f, (DamageTypeCombo?)null); } else { ProjectileManager.instance.FireProjectile(Lemurian.SecProjectile2, ((Component)((Component)((EntityState)this).GetModelTransform()).GetComponent().FindChild("MuzzleMouth")).transform.position, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), ((EntityState)this).gameObject, base.damageStat * damageCoefficient, 10f, Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, 200f, (DamageTypeCombo?)null); } } 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 Special1 : BaseState { public static GameObject flamethrowerEffectPrefab; public static GameObject impactEffectPrefab; public static float maxDistance; public static float radius; public static float baseEntryDuration = 0.125f; public static float baseExitDuration = 0.1f; public static float baseFlamethrowerDuration = 1f; public static float totalDamageCoefficient = 0.5f; private float tickFrequency; public static float force = 20f; public static string startAttackSoundString; public static string endAttackSoundString; public static float maxSpread; private float flamethrowerStopwatch; private float stopwatch; private float entryDuration; private float exitDuration; private float flamethrowerDuration; private bool hasBegunFlamethrower; private ChildLocator childLocator; private Transform muzzleTransform; private bool isCrit; private GameObject flamethrowerEffectInstance; public static int igniter; public override void OnEnter() { ((BaseState)this).OnEnter(); CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.LemSpecialCh, (OverridePriority)0); stopwatch = 0f; entryDuration = baseEntryDuration / base.attackSpeedStat; exitDuration = baseExitDuration / base.attackSpeedStat; flamethrowerDuration = 2.5f; tickFrequency = 20f * (1f + (float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff) / 100f); igniter = 1; ((Component)((EntityState)this).characterBody).GetComponent().mass = 1500f; Transform modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { childLocator = ((Component)modelTransform).GetComponent(); ((Behaviour)((Component)modelTransform).GetComponent()).enabled = true; } flamethrowerEffectPrefab = Object.Instantiate(LemPrefabs.FlameEffect); } public override void OnExit() { Util.PlaySound(Flamebreath.endAttackSoundString, ((EntityState)this).gameObject); if (Object.op_Implicit((Object)(object)flamethrowerEffectInstance)) { EntityState.Destroy((Object)(object)flamethrowerEffectInstance.gameObject); } ((Component)((EntityState)this).characterBody).GetComponent().mass = 150f; SkillDef skillDef = ((EntityState)this).characterBody.skillLocator.primary.skillDef; if (skillDef.skillNameToken == "Primary3_NAME") { CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.LemLaserPrimCh, (OverridePriority)0); } else { CrosshairUtils.RequestOverrideForBody(((EntityState)this).characterBody, LemPrefabs.LemChprefab, (OverridePriority)0); } ((EntityState)this).OnExit(); } public override void FixedUpdate() { //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: 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_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: 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_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) ((EntityState)this).FixedUpdate(); ((EntityState)this).characterBody.SetAimTimer(0.25f); stopwatch += Time.fixedDeltaTime; muzzleTransform = childLocator.FindChild("MuzzleMouth"); if (stopwatch >= entryDuration && stopwatch < entryDuration + flamethrowerDuration && !hasBegunFlamethrower) { hasBegunFlamethrower = true; Util.PlaySound(Flamebreath.startAttackSoundString, ((EntityState)this).gameObject); ((EntityState)this).PlayAnimation("Gesture", "FireFireball", "FireFireball.playbackRate", flamethrowerDuration, 0f); if (Object.op_Implicit((Object)(object)childLocator)) { DoFlameEffects(); } } if (stopwatch >= entryDuration + flamethrowerDuration && hasBegunFlamethrower) { hasBegunFlamethrower = false; } if (hasBegunFlamethrower) { flamethrowerStopwatch += Time.fixedDeltaTime; if (flamethrowerStopwatch > 1f / tickFrequency) { flamethrowerStopwatch -= 1f / tickFrequency; Transform transform = flamethrowerEffectInstance.transform; Ray aimRay = ((BaseState)this).GetAimRay(); transform.localRotation = Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction + new Vector3(0f, 0.1f, 0f)); flamethrowerEffectInstance.transform.position = muzzleTransform.position + ((EntityState)this).characterMotor.characterDirection.forward; FireFlame("MuzzleMouth"); } } if (stopwatch >= flamethrowerDuration + entryDuration + exitDuration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } else if (((ButtonState)(ref ((EntityState)this).inputBank.skill4)).justReleased) { ((EntityState)this).outer.SetNextStateToMain(); } } protected void FireFlame(string muzzleString) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_004c: 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_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_0068: 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_006f: 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_007d: 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_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: 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_00d3: 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_00db: 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_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_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0104: 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_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) if (NetworkServer.active) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.HeavyArmorBuff, 0.1f); BulletAttack val = new BulletAttack { owner = ((EntityState)this).gameObject, weapon = ((EntityState)this).gameObject, minSpread = 1f, maxSpread = 5f, origin = ((EntityState)this).characterBody.aimOrigin }; Ray aimRay = ((BaseState)this).GetAimRay(); val.aimVector = ((Ray)(ref aimRay)).direction; val.damage = base.damageStat * totalDamageCoefficient; val.force = 10f; val.muzzleName = muzzleString; val.hitEffectPrefab = Flamebreath.impactEffectPrefab; val.isCrit = Util.CheckRoll(base.critStat, ((EntityState)this).characterBody.master); val.radius = 1.5f; val.falloffModel = (FalloffModel)0; LayerIndex world = LayerIndex.world; val.stopperMask = ((LayerIndex)(ref world)).mask; val.procCoefficient = 0.4f; val.maxDistance = 25f; val.smartCollision = true; val.damageType = DamageTypeCombo.op_Implicit((DamageType)(Util.CheckRoll((float)igniter, ((EntityState)this).characterBody.master) ? 128 : 0)); val.Fire(); igniter++; } } protected void DoFlameEffects() { //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_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) Ray aimRay = ((BaseState)this).GetAimRay(); flamethrowerEffectInstance = Object.Instantiate(flamethrowerEffectPrefab, muzzleTransform.position, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), ((EntityState)this).transform); flamethrowerEffectInstance.GetComponent().newDuration = flamethrowerDuration; } 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 Special2Charge : BaseState { public static float baseDuration = 2f; public static GameObject chargingEffectPrefab; public static GameObject areaIndicatorPrefab; public static string chargingSoundString; private float duration; private float stopwatch; private GameObject chargeEffectInstance; public int chargeEffect; private GameObject aimSphere; public GameObject chargeInstance; private AimRequest aimRequest; public override void OnEnter() { //IL_005f: 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_0131: 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_0166: 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) ((BaseState)this).OnEnter(); stopwatch = 0f; duration = baseDuration / base.attackSpeedStat; Util.PlaySound(TeleportOutController.tpOutSoundString, ((EntityState)this).gameObject); ((EntityState)this).characterBody.AddTimedBuff(Buffs.HeavyArmorBuff, baseDuration / base.attackSpeedStat); chargeEffectInstance = Object.Instantiate(LemPrefabs.LemExploSpecial2Charge, ((EntityState)this).transform.position, ((EntityState)this).transform.rotation, ((EntityState)this).transform); aimSphere = Object.Instantiate(LemPrefabs.LemDicator); ((Component)((EntityState)this).characterBody).GetComponent().mass = 1500f; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && Loader.ExploZoom.Value) { aimRequest = ((EntityState)this).cameraTargetParams.RequestAimType((AimType)6); } Transform modelTransform = ((EntityState)this).GetModelTransform(); if (!Object.op_Implicit((Object)(object)modelTransform)) { return; } ChildLocator component = ((Component)modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { Transform val = component.FindChild("Chest"); if (Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)LemPrefabs.LemExploCharge)) { chargeInstance = Object.Instantiate(LemPrefabs.LemExploCharge, val.position, val.rotation); chargeInstance.transform.parent = val; Transform transform = chargeInstance.transform; transform.localScale *= 0.75f; } } } public override void OnExit() { ((EntityState)this).OnExit(); ((Component)((EntityState)this).characterBody).GetComponent().mass = 150f; if (Object.op_Implicit((Object)(object)chargeEffectInstance)) { EntityState.Destroy((Object)(object)chargeEffectInstance); } if (Object.op_Implicit((Object)(object)aimSphere)) { EntityState.Destroy((Object)(object)aimSphere.gameObject); } if (Object.op_Implicit((Object)(object)chargeInstance)) { EntityState.Destroy((Object)(object)chargeInstance); } AimRequest val = aimRequest; if (val != null) { val.Dispose(); } Special2Explosion nextState = new Special2Explosion(); ((EntityState)this).outer.SetNextState((EntityState)(object)nextState); } public override void FixedUpdate() { //IL_0033: 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) ((EntityState)this).FixedUpdate(); float num = ((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff) / 10; aimSphere.transform.position = ((Component)((EntityState)this).characterBody).transform.position; aimSphere.transform.localScale = new Vector3(20f + num, 20f + num, 20f + num); stopwatch += Time.deltaTime; if (stopwatch >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } 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)3; } } public class Special2Explosion : BaseState { public static float baseDuration = 10f; public static float damageCoefficient = 25f; public static float force = 0f; public override void OnEnter() { ((BaseState)this).OnEnter(); } public override void FixedUpdate() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if (((EntityState)this).isAuthority) { explodeEffects(); detonateAuthority(); } ((EntityState)this).outer.SetNextStateToMain(); } public override void OnExit() { ((EntityState)this).OnExit(); } private void explodeEffects() { //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_0012: 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_002e: Expected O, but got Unknown //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_0040: 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_0071: 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_0083: 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_009f: Expected O, but got Unknown //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_00b1: 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_00cd: Expected O, but got Unknown //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_00df: 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_00fb: Expected O, but got Unknown EffectManager.SpawnEffect(LemPrefabs.LemJumpUtil2, new EffectData { origin = ((EntityState)this).transform.position, scale = 20f }, true); EffectManager.SpawnEffect(LemPrefabs.LemExploUtil1, new EffectData { origin = ((EntityState)this).transform.position, scale = 25f + (float)(((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff) / 10) }, true); EffectManager.SpawnEffect(LemPrefabs.LemJumpUtil1, new EffectData { origin = ((EntityState)this).transform.position, scale = 15f }, true); EffectManager.SpawnEffect(LemPrefabs.LemExploSpecial2Magma, new EffectData { origin = ((EntityState)this).transform.position, scale = 20f }, true); EffectManager.SpawnEffect(LemPrefabs.LemJumpUtil1, new EffectData { origin = ((EntityState)this).transform.position, scale = 22.5f }, false); Util.PlaySound(FireLaser.attackSoundString, ((EntityState)this).gameObject); Util.PlaySound(FireLaser.attackSoundString, ((EntityState)this).gameObject); } protected Result detonateAuthority() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_0080: 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_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_00a6: 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_00b7: 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_00d9: 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_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_00ed: Unknown result type (might be due to invalid IL or missing references) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = base.damageStat * damageCoefficient * (1f + (float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff) / 100f), crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), baseForce = 0f, procCoefficient = 1f, damageType = DamageTypeCombo.op_Implicit((DamageType)128), position = ((EntityState)this).transform.position, radius = 20f + (float)(((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff) / 10), falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } } public class Utility1 : BaseCharacterMain { public static float minimumDuration; public static float blastRadius; public static float blastProcCoefficient; public float blastDamageCoefficient; public float blastForce; public static string leapSoundString; public GameObject blastImpactEffectPrefab; public GameObject blastEffectPrefab; public static float airControl; public static float aimVelocity; public static float upwardVelocity; public static float forwardVelocity; public static float minimumY; public static float minYVelocityForAnim; public static float maxYVelocityForAnim; public static float knockbackForce; public static string soundLoopStartEvent; public static string soundLoopStopEvent; public static NetworkSoundEventDef landingSound; private float previousAirControl; protected bool isCritAuthority; public GameObject chargeInstance; private bool detonateNextFrame; public override void OnEnter() { //IL_002a: 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_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_011d: 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_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0055: 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_0076: 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_0088: 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_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_00a3: 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_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_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: 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_00ea: 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_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: 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_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Expected O, but got Unknown //IL_01f2: 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_0227: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) ((BaseCharacterMain)this).OnEnter(); previousAirControl = ((EntityState)this).characterMotor.airControl; ((EntityState)this).characterMotor.airControl = airControl; Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 direction = ((Ray)(ref aimRay)).direction; if (((EntityState)this).isAuthority) { ((EntityState)this).characterBody.isSprinting = true; direction.y = Mathf.Max(direction.y, BaseLeap.minimumY); Vector3 val = ((Vector3)(ref direction)).normalized * 3f * ((BaseState)this).moveSpeedStat; Vector3 val2 = Vector3.up * 1.25f * BaseLeap.upwardVelocity; Vector3 val3 = new Vector3(direction.x, 0f, direction.z); Vector3 val4 = ((Vector3)(ref val3)).normalized * BaseLeap.forwardVelocity; ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); ((EntityState)this).characterMotor.velocity = (val + val2 + val4) / 1.25f; isCritAuthority = ((BaseState)this).RollCrit(); } CharacterBody characterBody = ((EntityState)this).characterBody; characterBody.bodyFlags = (BodyFlags)(characterBody.bodyFlags | 1); ((Behaviour)((Component)((EntityState)this).GetModelTransform()).GetComponent()).enabled = true; Util.PlaySound(BaseLeap.leapSoundString, ((EntityState)this).gameObject); ((EntityState)this).characterDirection.moveVector = direction; if (((EntityState)this).isAuthority) { ((EntityState)this).characterMotor.onMovementHit += new MovementHitDelegate(OnMovementHit); } Util.PlaySound(BaseLeap.soundLoopStartEvent, ((EntityState)this).gameObject); Transform modelTransform = ((EntityState)this).GetModelTransform(); if (!Object.op_Implicit((Object)(object)modelTransform)) { return; } ChildLocator component = ((Component)modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { Transform val5 = component.FindChild("Chest"); if (Object.op_Implicit((Object)(object)val5) && Object.op_Implicit((Object)(object)LemPrefabs.LemExploCharge)) { chargeInstance = Object.Instantiate(LemPrefabs.LemExploCharge, val5.position, val5.rotation); chargeInstance.transform.parent = val5; Transform transform = chargeInstance.transform; transform.localScale *= 0.7f; } } } public override void OnExit() { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Expected O, but got Unknown //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) Util.PlaySound(BaseLeap.soundLoopStopEvent, ((EntityState)this).gameObject); if (((EntityState)this).isAuthority) { ((EntityState)this).characterMotor.onMovementHit -= new MovementHitDelegate(OnMovementHit); } if (((EntityState)this).isAuthority && (detonateNextFrame = true)) { CharacterBody characterBody = ((EntityState)this).characterBody; characterBody.bodyFlags = (BodyFlags)(characterBody.bodyFlags & -2); ((EntityState)this).characterMotor.airControl = previousAirControl; ((EntityState)this).characterBody.isSprinting = true; int layerIndex = ((BaseCharacterMain)this).modelAnimator.GetLayerIndex("Impact"); if (layerIndex >= 0) { ((BaseCharacterMain)this).modelAnimator.SetLayerWeight(layerIndex, 2f); } } if (Object.op_Implicit((Object)(object)chargeInstance)) { EntityState.Destroy((Object)(object)chargeInstance); } ((BaseCharacterMain)this).OnExit(); } public override void FixedUpdate() { //IL_0032: 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_0093: 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) ((BaseCharacterMain)this).FixedUpdate(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).characterMotor.moveDirection = ((EntityState)this).inputBank.moveVector; if (((EntityState)this).fixedAge >= BaseLeap.minimumDuration && (detonateNextFrame || ((BaseCharacterController)((EntityState)this).characterMotor).Motor.GroundingStatus.IsStableOnGround)) { DoImpactAuthority(); DropAcidPoolAuthority(); DetonateAuthority(); ((EntityState)this).characterMotor.ApplyForce(((EntityState)this).characterMotor.moveDirection * -1200f, false, false); ((EntityState)this).outer.SetNextStateToMain(); } } } 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; } private void OnMovementHit(ref MovementHitInfo movementHitInfo) { detonateNextFrame = true; } protected virtual void DoImpactAuthority() { //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_003e: 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_005a: Expected O, but got Unknown //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)BaseLeap.landingSound)) { EffectManager.SimpleSoundEffect(BaseLeap.landingSound.index, ((EntityState)this).characterBody.footPosition, true); } EffectManager.SpawnEffect(LemPrefabs.LemJumpUtil1, new EffectData { origin = ((EntityState)this).transform.position, scale = 7.5f }, true); } protected Result DetonateAuthority() { //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_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_001e: 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_003c: 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_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_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_00a5: 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_00bb: 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_00bd: 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) //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_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: 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_00ef: 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) Vector3 footPosition = ((EntityState)this).characterBody.footPosition; return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, baseDamage = ((BaseState)this).damageStat * 5f, crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), damageType = DamageTypeCombo.op_Implicit((DamageType)(Util.CheckRoll((float)((EntityState)this).characterBody.GetBuffCount(Buffs.FireBuff), ((EntityState)this).characterBody.master) ? 128 : 0)), falloffModel = (FalloffModel)0, procCoefficient = 1.01f, radius = 12.5f, baseForce = -1750f, position = footPosition, attackerFiltering = (AttackerFiltering)2, impactEffect = EffectCatalog.FindEffectIndexFromPrefab(LemPrefabs.LemJumpUtil2), teamIndex = ((EntityState)this).teamComponent.teamIndex }.Fire(); } protected void DropAcidPoolAuthority() { //IL_0011: 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_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) ProjectileManager.instance.FireProjectile(Lemurian.UtilProjectile, ((EntityState)this).transform.position, ((Component)((EntityState)this).characterBody).transform.rotation, ((EntityState)this).gameObject, ((BaseState)this).damageStat, 0f, Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); ProjectileManager.instance.FireProjectile(Lemurian.UtilFlameDot, ((EntityState)this).transform.position, ((Component)((EntityState)this).characterBody).transform.rotation, ((EntityState)this).gameObject, 0f, 0f, false, (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } } public class Utility2 : BaseState { private float maxDistance = 75f; private float bombDamage = 12.5f; private Ray aimRay; private GameObject aimSphere; public float radius; public float stopWatch; public Vector3 cameraPivot; public bool explode; public GameObject chargeVfxInstance; private AimRequest aimRequest; public override void OnEnter() { //IL_0020: 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_0028: 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_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_0044: 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_00a7: 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) ((BaseState)this).OnEnter(); explode = false; aimSphere = Object.Instantiate(LemPrefabs.LemDicator); Ray val = ((BaseState)this).GetAimRay(); Vector3 val2 = ((Ray)(ref val)).origin + maxDistance * ((Ray)(ref val)).direction; Transform modelTransform = ((EntityState)this).GetModelTransform(); if (!Object.op_Implicit((Object)(object)modelTransform)) { return; } ChildLocator component = ((Component)modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { Transform val3 = component.FindChild("Chest"); if (Object.op_Implicit((Object)(object)val3) && Object.op_Implicit((Object)(object)LemPrefabs.LemExploCharge)) { chargeVfxInstance = Object.Instantiate(LemPrefabs.LemExploCharge, val2, val3.rotation); ((Component)chargeVfxInstance.transform.Find("MoonMesh/GlowParticles")).transform.localScale = new Vector3(5f, 5f, 5f); chargeVfxInstance.transform.parent = val3; } } } public override void Update() { ((EntityState)this).Update(); updateAreaIndicator(); } public override void OnExit() { if (((EntityState)this).isAuthority) { Util.PlaySound(FireLaser.attackSoundString, ((EntityState)this).gameObject); } EntityState.Destroy((Object)(object)aimSphere.gameObject); if (Object.op_Implicit((Object)(object)chargeVfxInstance)) { EntityState.Destroy((Object)(object)chargeVfxInstance); } AimRequest val = aimRequest; if (val != null) { val.Dispose(); } ((EntityState)this).OnExit(); } public override void FixedUpdate() { //IL_0053: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); ((EntityState)this).characterBody.SetAimTimer(0.25f); stopWatch += Time.fixedDeltaTime; if (((EntityState)this).isAuthority && ((ButtonState)(ref ((EntityState)this).inputBank.skill3)).justReleased) { explodeeffect(); detonate(); ((EntityState)this).outer.SetNextStateToMain(); } } private void updateAreaIndicator() { //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_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_00ab: 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_00bf: 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_00cf: 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_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_00f1: 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_0104: 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_025f: 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_0267: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Unknown result type (might be due to invalid IL or missing references) //IL_0288: 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_0299: Unknown result type (might be due to invalid IL or missing references) //IL_02ab: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: 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_031c: 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_012e: 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_0149: 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_015a: 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_016c: 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_017a: 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_0183: 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_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: 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_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_020a: 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_024d: Unknown result type (might be due to invalid IL or missing references) float num = ((!(base.attackSpeedStat > 4f)) ? base.attackSpeedStat : 4f); radius = Util.Remap(Mathf.Clamp01(stopWatch * 0.5f * num), 0f, 1f, 1f, 10f); if (((EntityState)this).isAuthority) { aimSphere.transform.localScale = new Vector3(radius, radius, radius); } aimRay = ((BaseState)this).GetAimRay(); ref Ray reference = ref aimRay; Ray val = ((BaseState)this).GetAimRay(); ((Ray)(ref reference)).origin = ((Ray)(ref val)).origin + 2f * Vector3.up + ((Ray)(ref aimRay)).direction; Ray val2 = ((BaseState)this).GetAimRay(); float num2 = maxDistance; LayerIndex val3 = LayerIndex.world; int num3 = LayerMask.op_Implicit(((LayerIndex)(ref val3)).mask); val3 = LayerIndex.enemyBody; RaycastHit val4 = default(RaycastHit); if (Physics.Raycast(val2, ref val4, num2, num3 | LayerMask.op_Implicit(((LayerIndex)(ref val3)).mask))) { ref Ray reference2 = ref aimRay; val = ((BaseState)this).GetAimRay(); ((Ray)(ref reference2)).direction = ((Ray)(ref val)).direction - 2f * Vector3.up / ((RaycastHit)(ref val4)).distance; Ray val5 = aimRay; float num4 = maxDistance; val3 = LayerIndex.world; int num5 = LayerMask.op_Implicit(((LayerIndex)(ref val3)).mask); val3 = LayerIndex.enemyBody; RaycastHit val6 = default(RaycastHit); if (Physics.Raycast(val5, ref val6, num4, num5 | LayerMask.op_Implicit(((LayerIndex)(ref val3)).mask))) { aimSphere.transform.position = ((RaycastHit)(ref val6)).point + Vector3.up; aimSphere.transform.up = ((RaycastHit)(ref val6)).normal; aimSphere.transform.forward = -((Ray)(ref aimRay)).direction; chargeVfxInstance.transform.position = ((RaycastHit)(ref val6)).point + Vector3.up; chargeVfxInstance.GetComponent().newDuration = 5f; chargeVfxInstance.transform.localScale = new Vector3(radius, radius, radius); return; } } Ray val7 = ((BaseState)this).GetAimRay(); Vector3 position = ((Ray)(ref val7)).origin + maxDistance * ((Ray)(ref val7)).direction + Vector3.up; aimSphere.transform.position = position; aimSphere.transform.up = Vector3.up; aimSphere.transform.forward = -((Ray)(ref aimRay)).direction; chargeVfxInstance.transform.position = position; chargeVfxInstance.GetComponent().newDuration = 5f; chargeVfxInstance.transform.localScale = new Vector3(radius, radius, radius); } protected Result detonate() { //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_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: 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_004d: 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_0058: 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_007e: 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_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: 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_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_00b3: 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) return new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = base.damageStat * bombDamage, procCoefficient = 1.01f, damageType = DamageTypeCombo.op_Implicit((DamageType)128), crit = Util.CheckRoll(((EntityState)this).characterBody.crit, ((EntityState)this).characterBody.master), position = aimSphere.transform.position, radius = radius, falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } 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 void explodeeffect() { //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_0017: 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_003a: Expected O, but got Unknown //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_0051: 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_006e: Expected O, but got Unknown //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_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Expected O, but got Unknown EffectManager.SpawnEffect(LemPrefabs.LemJumpUtil2, new EffectData { origin = aimSphere.transform.position, scale = radius + 2.5f }, true); EffectManager.SpawnEffect(LemPrefabs.LemExploUtil1, new EffectData { origin = aimSphere.transform.position, scale = radius }, true); EffectManager.SpawnEffect(LemPrefabs.LemExploSpecial2Magma, new EffectData { origin = aimSphere.transform.position, scale = radius }, true); } } public class Switch : BaseState { public float stopwatch; public bool hasfired; public override void OnEnter() { ((BaseState)this).OnEnter(); stopwatch = 0f; hasfired = false; if (((EntityState)this).characterBody.baseNameToken == "Lemurian_Survivor") { ((EntityState)this).characterBody.master.bodyPrefab = ElderLemurian.ElderLemurianPrefab; } if (((EntityState)this).characterBody.baseNameToken == "ElderLemurian_Survivor") { ((EntityState)this).characterBody.master.bodyPrefab = Lemurian.LemurianPrefab; } } public override void OnExit() { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).OnExit(); CharacterMaster master = ((EntityState)this).characterBody.master; Vector3 position = ((Component)((EntityState)this).characterBody).transform.position; Ray aimRay = ((BaseState)this).GetAimRay(); master.Respawn(position, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), false); } public override void FixedUpdate() { if (!hasfired) { detonate(); } ((EntityState)this).FixedUpdate(); stopwatch += Time.fixedDeltaTime; if (stopwatch >= 0.1f && hasfired) { ((EntityState)this).outer.SetNextStateToMain(); } } public void detonate() { //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_00c1: 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_00dd: Expected O, but got Unknown //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_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_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_003d: 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_0053: 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_0078: 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_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: 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_00a2: Unknown result type (might be due to invalid IL or missing references) if (((EntityState)this).isAuthority) { new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = 1f, baseForce = 2500f, bonusForce = new Vector3(0f, 1250f, 0f), procCoefficient = 0f, position = ((EntityState)this).transform.position, radius = 25f, falloffModel = (FalloffModel)0, attackerFiltering = (AttackerFiltering)2 }.Fire(); } hasfired = true; EffectManager.SpawnEffect(LemPrefabs.SwitchEffect, new EffectData { origin = ((EntityState)this).characterBody.corePosition, scale = 1f }, true); } } public static class LunarExploder { public static GameObject myCharacter; public static GameObject characterDisplay; public static GameObject LunarExploderPrefab; public static GameObject doppelganger; public static ConfigEntry baseHealth; public static ConfigEntry healthGrowth; public static ConfigEntry baseArmor; public static ConfigEntry baseDamage; public static ConfigEntry damageGrowth; public static ConfigEntry baseRegen; public static ConfigEntry regenGrowth; public static ConfigEntry baseJumpPower; public static GameObject LunarPrimProjectile; public static GameObject LunarDot; public static GameObject LunarNuke; public static ConfigEntry enabled; public static ConfigEntry sprintingenabled; public static bool IsBUDefined2 { get; private set; } internal static void LunarExploderSetup() { TokenSetup(); LunarExploderSurvivor(); LunarSkillSetup(); CreateMaster(); } internal static void LunarExploderSurvivor() { //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_0051: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: 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_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_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_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_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_0189: 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_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) //IL_02cb: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_0346: Unknown result type (might be due to invalid IL or missing references) //IL_034b: Unknown result type (might be due to invalid IL or missing references) //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_0381: Unknown result type (might be due to invalid IL or missing references) myCharacter = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/LunarExploder/LunarExploderBody.prefab").WaitForCompletion(), "LunarExploderSurvivor"); myCharacter.GetComponent().canBeHitStunned = false; myCharacter.GetComponent().aimOriginTransform.Translate(new Vector3(0f, 2.5f, 0f)); myCharacter.tag = "Player"; LunarExploderSkinSetup.BuildTheFuckingSkins(); characterDisplay = PrefabAPI.InstantiateClone(((Component)myCharacter.GetComponent().modelBaseTransform).gameObject, "LunarDisyplay"); characterDisplay.transform.localScale = Vector3.one * 0.75f; characterDisplay.AddComponent(); CharacterCameraParams val = ScriptableObject.CreateInstance(); ((Object)val).name = "LunarCam"; val.data.minPitch = BlendableFloat.op_Implicit(-65f); val.data.maxPitch = BlendableFloat.op_Implicit(65f); val.data.wallCushion = BlendableFloat.op_Implicit(0.1f); val.data.pivotVerticalOffset = BlendableFloat.op_Implicit(0f); val.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, 0f, -15f)); myCharacter.GetComponent().cameraParams = val; KinematicCharacterMotor component = myCharacter.GetComponent(); component.playerCharacter = true; myCharacter.GetComponent().logUnlockableDef = null; CharacterBody component2 = myCharacter.GetComponent(); component2.bodyFlags = (BodyFlags)16; component2.SetSpreadBloom(0f, false); component2.spreadBloomCurve = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .spreadBloomCurve; component2.spreadBloomDecayTime = Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoBody.prefab").WaitForCompletion().GetComponent() .spreadBloomDecayTime; ((Object)component2).name = "LunarExploder_Survivor"; component2.baseNameToken = "LunarExploder_Survivor"; component2.subtitleNameToken = "LunarExploder"; ((Component)component2).tag = "Player"; component2.baseMaxHealth = baseHealth.Value; component2.levelMaxHealth = healthGrowth.Value; component2.baseRegen = baseRegen.Value; component2.levelRegen = regenGrowth.Value; component2.baseDamage = baseDamage.Value; component2.levelDamage = damageGrowth.Value; component2.baseArmor = baseArmor.Value; component2.baseJumpPower = baseJumpPower.Value; component2.baseMoveSpeed = 9f; component2.isSprinting = false; component2.preferredPodPrefab = Addressables.LoadAssetAsync((object)"RoR2/Base/Croco/CrocoBody.prefab").WaitForCompletion().GetComponent() .preferredPodPrefab; component2.levelMoveSpeed = Addressables.LoadAssetAsync((object)"RoR2/Base/Loader/LoaderBody.prefab").WaitForCompletion().GetComponent() .levelMoveSpeed; component2.sprintingSpeedMultiplier = Addressables.LoadAssetAsync((object)"RoR2/Base/Loader/LoaderBody.prefab").WaitForCompletion().GetComponent() .sprintingSpeedMultiplier; ((Component)component2).GetComponent().mass = 500f; ((Component)component2).GetComponent().maxInteractionDistance = 5f; EntityStateMachine component3 = ((Component)myCharacter.GetComponent()).GetComponent(); component3.mainStateType = new SerializableEntityStateType(typeof(LunarExploderMain)); LunarExploderPrefab = myCharacter; SurvivorDef val2 = ScriptableObject.CreateInstance(); val2.cachedName = "LunarExploder_Survivor"; val2.descriptionToken = "Lunar_Description"; val2.primaryColor = Color.grey; val2.bodyPrefab = LunarExploderPrefab; val2.displayPrefab = characterDisplay; val2.desiredSortPosition = 22f; if (!enabled.Value) { val2.hidden = true; } Loader.entityStates.Add(typeof(LunarExploderMain)); Loader.survivorDefs.Add(val2); Loader.bodyPrefabs.Add(myCharacter); } internal static void LunarSkillSetup() { //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) //IL_008a: 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_014e: 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_0170: Expected O, but got Unknown //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0173: 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_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: 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_0226: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_02d9: Unknown result type (might be due to invalid IL or missing references) //IL_02e3: Expected O, but got Unknown //IL_02e4: Unknown result type (might be due to invalid IL or missing references) //IL_02e6: 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_0358: Unknown result type (might be due to invalid IL or missing references) //IL_0394: Unknown result type (might be due to invalid IL or missing references) //IL_0399: Unknown result type (might be due to invalid IL or missing references) //IL_0432: Unknown result type (might be due to invalid IL or missing references) //IL_044c: Unknown result type (might be due to invalid IL or missing references) //IL_0456: Expected O, but got Unknown //IL_0457: Unknown result type (might be due to invalid IL or missing references) //IL_0459: 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) //IL_04cb: Unknown result type (might be due to invalid IL or missing references) //IL_0507: Unknown result type (might be due to invalid IL or missing references) //IL_050c: Unknown result type (might be due to invalid IL or missing references) //IL_059d: Unknown result type (might be due to invalid IL or missing references) //IL_05b7: Unknown result type (might be due to invalid IL or missing references) //IL_05c1: Expected O, but got Unknown //IL_05c2: Unknown result type (might be due to invalid IL or missing references) //IL_05c4: Unknown result type (might be due to invalid IL or missing references) //IL_0648: Unknown result type (might be due to invalid IL or missing references) //IL_064d: Unknown result type (might be due to invalid IL or missing references) GenericSkill[] componentsInChildren = myCharacter.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { Object.DestroyImmediate((Object)(object)componentsInChildren[i]); } SkillLocator component = myCharacter.GetComponent(); SkillDef val = ScriptableObject.CreateInstance(); val.activationState = new SerializableEntityStateType(typeof(LunarPrimary)); val.activationStateMachineName = "Weapon"; val.baseMaxStock = 0; val.baseRechargeInterval = 0f; val.beginSkillCooldownOnSkillEnd = true; val.canceledFromSprinting = true; val.fullRestockOnAssign = true; val.interruptPriority = (InterruptPriority)0; val.isCombatSkill = true; val.mustKeyPress = false; val.rechargeStock = 1; val.requiredStock = 0; val.cancelSprintingOnActivation = true; val.stockToConsume = 0; val.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Achievements/texCarryLunarItemsIcon.png").WaitForCompletion(); val.skillDescriptionToken = "LunarPrimary_DESCRIPTION"; val.skillName = "LunarPrimary_NAME"; val.skillNameToken = "LunarPrimary_NAME"; val.keywordTokens = new string[1] { "KEYWORD_Primary" }; component.primary = myCharacter.AddComponent(); SkillFamily val2 = ScriptableObject.CreateInstance(); val2.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.primary, "_skillFamily", val2); Variant[] variants = component.primary.skillFamily.variants; Variant val3 = new Variant { skillDef = val }; ((Variant)(ref val3)).viewableNode = new Node(val.skillNameToken, false, (Node)null); variants[0] = val3; Loader.entityStates.Add(typeof(LunarPrimary)); SkillDef val4 = ScriptableObject.CreateInstance(); val4.activationState = new SerializableEntityStateType(typeof(LunarSecondary)); val4.activationStateMachineName = "Weapon"; val4.baseMaxStock = 2; val4.baseRechargeInterval = 4f; val4.beginSkillCooldownOnSkillEnd = false; val4.canceledFromSprinting = false; val4.fullRestockOnAssign = true; val4.interruptPriority = (InterruptPriority)2; val4.isCombatSkill = true; val4.mustKeyPress = true; val4.rechargeStock = 1; val4.requiredStock = 1; val4.cancelSprintingOnActivation = false; val4.stockToConsume = 1; val4.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Achievements/texMercDontTouchGroundIcon.png").WaitForCompletion(); val4.skillDescriptionToken = "LunarSecondary_DESCRIPTION"; val4.skillName = "LunarSecondary_NAME"; val4.skillNameToken = "LunarSecondary_NAME"; val4.keywordTokens = new string[2] { "KEYWORD_Secondary", "KEYWORD_Special" }; component.secondary = myCharacter.AddComponent(); SkillFamily val5 = ScriptableObject.CreateInstance(); val5.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.secondary, "_skillFamily", val5); Variant[] variants2 = component.secondary.skillFamily.variants; val3 = new Variant { skillDef = val4 }; ((Variant)(ref val3)).viewableNode = new Node(val4.skillNameToken, false, (Node)null); variants2[0] = val3; Loader.entityStates.Add(typeof(LunarSecondary)); SkillDef val6 = ScriptableObject.CreateInstance(); val6.activationState = new SerializableEntityStateType(typeof(LunarUtility)); val6.activationStateMachineName = "Weapon"; val6.baseMaxStock = 1; val6.baseRechargeInterval = 6f; val6.beginSkillCooldownOnSkillEnd = false; val6.canceledFromSprinting = false; val6.fullRestockOnAssign = true; val6.interruptPriority = (InterruptPriority)2; val6.isCombatSkill = false; val6.mustKeyPress = true; val6.rechargeStock = 1; val6.requiredStock = 1; val6.cancelSprintingOnActivation = true; val6.stockToConsume = 1; val6.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Achievements/texNeverBackDownIcon.png").WaitForCompletion(); val6.skillDescriptionToken = "LunarUtility_DESCRIPTION"; val6.skillName = "LunarUtility_NAME"; val6.skillNameToken = "LunarUtility_NAME"; val6.keywordTokens = new string[2] { "KEYWORD_Utility", "KEYWORD_Special" }; component.utility = myCharacter.AddComponent(); SkillFamily val7 = ScriptableObject.CreateInstance(); val7.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.utility, "_skillFamily", val7); Variant[] variants3 = component.utility.skillFamily.variants; val3 = new Variant { skillDef = val6 }; ((Variant)(ref val3)).viewableNode = new Node(val6.skillNameToken, false, (Node)null); variants3[0] = val3; Loader.entityStates.Add(typeof(LunarUtility)); SkillDef val8 = ScriptableObject.CreateInstance(); val8.activationState = new SerializableEntityStateType(typeof(LunarSpecial)); val8.activationStateMachineName = "Weapon"; val8.baseMaxStock = 1; val8.baseRechargeInterval = 10f; val8.beginSkillCooldownOnSkillEnd = true; val8.canceledFromSprinting = false; val8.fullRestockOnAssign = true; val8.interruptPriority = (InterruptPriority)2; val8.isCombatSkill = true; val8.mustKeyPress = true; val8.rechargeStock = 1; val8.requiredStock = 1; val8.cancelSprintingOnActivation = true; val8.stockToConsume = 1; val8.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Achievements/texCompleteMainEndingHardIcon.png").WaitForCompletion(); val8.skillDescriptionToken = "LunarSpecial_DESCRIPTION"; val8.skillName = "LunarSpecial_NAME"; val8.skillNameToken = "LunarSpecial_NAME"; val8.keywordTokens = new string[1] { "KEYWORD_Special" }; component.special = myCharacter.AddComponent(); SkillFamily val9 = ScriptableObject.CreateInstance(); val9.variants = (Variant[])(object)new Variant[1]; Reflection.SetFieldValue((object)component.special, "_skillFamily", val9); Variant[] variants4 = component.special.skillFamily.variants; val3 = new Variant { skillDef = val8 }; ((Variant)(ref val3)).viewableNode = new Node(val8.skillNameToken, false, (Node)null); variants4[0] = val3; Loader.entityStates.Add(typeof(LunarSpecial)); Loader.skillDefs.Add(val); Loader.skillDefs.Add(val4); Loader.skillDefs.Add(val6); Loader.skillDefs.Add(val8); component.passiveSkill.enabled = true; component.passiveSkill.skillNameToken = "LunarPassive_NAME"; component.passiveSkill.skillDescriptionToken = "LunarPassive_DESCRIPTION"; component.passiveSkill.icon = Addressables.LoadAssetAsync((object)"RoR2/Base/Treebot/TreebotBody.prefab").WaitForCompletion().GetComponentInChildren() .utility.skillFamily.variants[1].skillDef.icon; } internal static void CreateMaster() { //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) doppelganger = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Commando/CommandoMonsterMaster.prefab").WaitForCompletion(), "LunarExploderSurvivorMaster"); doppelganger.GetComponent().bodyPrefab = myCharacter; Loader.masterPrefabs.Add(doppelganger); } internal static void TokenSetup() { string text = "The Lunar Exploder does, what an Exploder does and explodes." + Environment.NewLine + Environment.NewLine; text = text + "Each explosion drops a puddle of Lunar goo in the size of the explosion. The lunar goo cripples enemies and deals 10 x 50% damage in 2,5s. If his damage falls below 25% he explodes in a 100m radius and cripples enemies for 10s. Every hit enemy leaves behind a puddle of lunar goo. " + Environment.NewLine + Environment.NewLine + Environment.NewLine; IsBUDefined2 = Chainloader.PluginInfos.ContainsKey("com.KingEnderBrine.ScrollableLobbyUI"); if (IsBUDefined2) { text = text + "Primary" + Environment.NewLine; text = text + "Bombs: (0,5s base duration)" + Environment.NewLine; text = text + "Spawn bombs that deal 200% damage." + Environment.NewLine; text = text + "- The explosions have a 7,5m radius" + Environment.NewLine + "Aim Indicator can be disabled in config" + Environment.NewLine + Environment.NewLine + Environment.NewLine; text = text + "Secondary" + Environment.NewLine; text = text + "Explode upwards: (... - 4s cooldown)" + Environment.NewLine; text = text + "Explode dealing 500% and push yourself upwards (stuns enemies)." + Environment.NewLine; text = text + "- Explosion is located at your feet with a 10m radius and leaves behind a puddle of lunar goo." + Environment.NewLine; text = text + "- The explosion pushes you up a little bit" + Environment.NewLine + Environment.NewLine + Environment.NewLine; text = text + "Utility" + Environment.NewLine; text = text + "Explode forward (... - 6s cooldown)" + Environment.NewLine; text = text + "Teleport to the desired position and explode dealing 750% damage. The explosion pulls nearby enemies towards you and gives you an armor boost for each enemy hit." + Environment.NewLine; text = text + "- Has 50m range and explodes in a 10m radius. Explosion nullifies enemies for 3s and leaves behind a puddle of lunar goo" + Environment.NewLine; text = text + "- Each armor boost stack gives you +15 armor" + Environment.NewLine + Environment.NewLine + Environment.NewLine; text = text + "Special" + Environment.NewLine; text = text + "Explode: (... - 10s cooldown)" + Environment.NewLine; text = text + "Let all enemies inside a 25m radius explode dealing 1500% damage." + Environment.NewLine; text = text + "- Instantly detonates and leaves behind a puddle of lunar goo" + Environment.NewLine; } LanguageAPI.Add("Lunar_Description", text); } }