Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of AerosSkills v2.5.1
AerosSkills.dll
Decompiled 2 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Collections.ObjectModel; 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 AncientScepter; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using EntityStates; using EntityStates.Bandit2; using EntityStates.Captain.Weapon; using EntityStates.Commando; using EntityStates.Commando.CommandoWeapon; using EntityStates.Croco; using EntityStates.Drone; using EntityStates.Engi.EngiWeapon; using EntityStates.FalseSon; using EntityStates.Huntress; using EntityStates.Huntress.HuntressWeapon; using EntityStates.Huntress.Weapon; using EntityStates.Loader; using EntityStates.Mage.Weapon; using EntityStates.Merc; using EntityStates.Merc.Weapon; using EntityStates.Railgunner.Backpack; using EntityStates.Railgunner.Weapon; using EntityStates.Seeker; using EntityStates.Toolbot; using HG; using KinematicCharacterController; using On.RoR2; using R2API; using R2API.Utils; using Rewired.ComponentControls.Effects; using RoR2; using RoR2.Audio; using RoR2.CharacterAI; using RoR2.Navigation; using RoR2.Networking; using RoR2.Orbs; using RoR2.Projectile; using RoR2.Skills; using RoR2.UI; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Events; using UnityEngine.Networking; using UnityEngine.Rendering; using UnityEngine.Rendering.PostProcessing; using UnityEngine.UI; [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = "")] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: CompilationRelaxations(8)] [assembly: AssemblyCompany("AerosSkills")] [assembly: AssemblyProduct("AerosSkills")] [assembly: AssemblyTitle("AerosSkills")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace AerosSkills; internal class Assets { public static AssetBundle MainAssetBundle; public static T Load<T>(string name) where T : Object { return MainAssetBundle.LoadAsset<T>(name); } public static void PopulateAssets() { Assembly executingAssembly = Assembly.GetExecutingAssembly(); if ((Object)(object)MainAssetBundle == (Object)null) { using Stream stream = executingAssembly.GetManifestResourceStream("AerosSkills.AssetBundle." + "AerosSkills".ToLower() + "assets"); MainAssetBundle = AssetBundle.LoadFromStream(stream); } using Stream stream2 = executingAssembly.GetManifestResourceStream("AerosSkills.AerosSkills.bnk"); byte[] array = new byte[stream2.Length]; stream2.Read(array, 0, array.Length); SoundBanks.Add(array); } } internal class CrosshairSwap : MonoBehaviour { private CharacterBody body; private void Awake() { body = ((Component)this).GetComponent<CharacterBody>(); } private void Start() { if (body.skillLocator.primary.skillNameToken == "AEROS__M1") { body.spreadBloomCurve = Prefabs.spreadBloomCurve; body._defaultCrosshairPrefab = Prefabs.Load<GameObject>("RoR2/Base/UI/StandardCrosshair.prefab"); } } } internal class DebugHelper : MonoBehaviour { } [DefaultExecutionOrder(100)] internal class eee : MonoBehaviour { private Tracer tracer; public float zPos = 13f; private void Start() { //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_0025: 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_0031: Unknown result type (might be due to invalid IL or missing references) tracer = ((Component)this).GetComponent<Tracer>(); Vector3 localPosition = tracer.beamObject.transform.localPosition; Vector3 val = default(Vector3); ((Vector3)(ref val))..ctor(localPosition.x, localPosition.y, localPosition.z + zPos); } } internal class ForcePos : MonoBehaviour { private void LateUpdate() { //IL_0007: 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) ((Component)this).transform.localPosition = Vector3.up * 4f; } } internal class MercHitboxScale : MonoBehaviour { private bool scaled; public void Scale() { //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_003e: 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_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) if (!scaled) { scaled = true; Transform transform = ((Component)((Component)((Component)this).GetComponent<ModelLocator>().modelTransform).GetComponent<HitBoxGroup>().hitBoxes[0]).transform; transform.localPosition += Vector3.up; transform.localScale += Vector3.up * 2f; } } } internal class MissileSearchTweak : MonoBehaviour { public float maxAngle = 75f; private MissileController missile; private void Start() { missile = ((Component)this).GetComponent<MissileController>(); missile.search.maxAngleFilter = 20f; } } internal class MultDroneBehaviour : NetworkBehaviour { public CharacterBody body; public CharacterMaster master; public MultTracker tracker; public AISkillDriver hover; public bool setMat; public GameObject owner; public CharacterBody ownerBody; private bool init; private static int kRpcRpcSetOwner; private void Awake() { master = ((Component)this).GetComponent<CharacterMaster>(); } private void Start() { } public void SetFollowState() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown if (Object.op_Implicit((Object)(object)body) && body.hasEffectiveAuthority) { Follow val = new Follow(); val.target = owner; val.occupySpace = false; EntityStateMachine component = ((Component)body).GetComponent<EntityStateMachine>(); component.SetNextState((EntityState)(object)val); } } [ClientRpc] public void RpcSetOwner(GameObject ownerObject) { owner = ownerObject; ownerBody = owner.GetComponent<CharacterBody>(); tracker = owner.GetComponent<MultTracker>(); tracker.droneMaster = master; } private void FixedUpdate() { if (!Object.op_Implicit((Object)(object)body)) { body = master.GetBody(); return; } if (!init && Object.op_Implicit((Object)(object)ownerBody)) { init = true; tracker.droneAI = ((Component)master).GetComponent<BaseAI>(); tracker.droneSkill = body.skillLocator.primary; SetFollowState(); } if (!setMat && Object.op_Implicit((Object)(object)tracker) && Object.op_Implicit((Object)(object)tracker.baseMat)) { setMat = true; ((Component)((Component)body.modelLocator.modelTransform).GetComponent<ChildLocator>().FindChild("drone")).GetComponent<Renderer>().material = tracker.baseMat; } } public void EndScan() { if (Object.op_Implicit((Object)(object)tracker)) { tracker.endScanning = true; } } private void UNetVersion() { } protected static void InvokeRpcRpcSetOwner(NetworkBehaviour obj, NetworkReader reader) { if (!NetworkClient.active) { Debug.LogError((object)"RPC RpcSetOwner called on server."); } else { ((MultDroneBehaviour)(object)obj).RpcSetOwner(reader.ReadGameObject()); } } public void CallRpcSetOwner(GameObject ownerObject) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0041: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active) { Debug.LogError((object)"RPC Function RpcSetOwner called on client."); return; } NetworkWriter val = new NetworkWriter(); val.Write((short)0); val.Write((short)2); val.WritePackedUInt32((uint)kRpcRpcSetOwner); val.Write(((Component)this).GetComponent<NetworkIdentity>().netId); val.Write(ownerObject); ((NetworkBehaviour)this).SendRPCInternal(val, 0, "RpcSetOwner"); } static MultDroneBehaviour() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown kRpcRpcSetOwner = 2031436444; NetworkBehaviour.RegisterRpcDelegate(typeof(MultDroneBehaviour), kRpcRpcSetOwner, new CmdDelegate(InvokeRpcRpcSetOwner)); NetworkCRC.RegisterBehaviour("MultDroneBehaviour", 0); } public override bool OnSerialize(NetworkWriter writer, bool forceAll) { bool result = default(bool); return result; } public override void OnDeserialize(NetworkReader reader, bool initialState) { } } internal class MultTracker : HuntressTracker { public BaseAI droneAI; public GenericSkill droneSkill; public bool enable; public bool endScanning; public CharacterMaster droneMaster; public Material baseMat; public CharacterModel model; private float stopwatch; public bool exitSkill { get; set; } public void SelectTarget() { if (Object.op_Implicit((Object)(object)base.trackingTarget) && Object.op_Implicit((Object)(object)droneAI) && Object.op_Implicit((Object)(object)droneSkill)) { droneAI.currentEnemy.gameObject = ((Component)base.trackingTarget.healthComponent).gameObject; CharacterBody body = droneMaster.GetBody(); if (Object.op_Implicit((Object)(object)body) && body.hasEffectiveAuthority) { ((Component)body).GetComponent<EntityStateMachine>().SetNextStateToMain(); droneSkill.ExecuteIfReady(); } } } public void DisableScanning() { endScanning = true; } private void Start() { //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_0052: 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_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_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_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_0088: Expected O, but got Unknown ((HuntressTracker)this).Start(); enable = base.characterBody.skillLocator.secondary.skillNameToken == "AEROS_MULT_SEC"; if (enable && NetworkServer.active) { MasterSummon val = new MasterSummon { masterPrefab = Prefabs.droneMaster, position = Utils.FindNearestNodePosition(((Component)this).transform.position, (GraphType)0), rotation = Quaternion.identity, summonerBodyObject = ((Component)this).gameObject, ignoreTeamMemberLimit = true }; CharacterMaster val2 = val.Perform(); ((Component)val2).GetComponent<MultDroneBehaviour>().CallRpcSetOwner(((Component)this).gameObject); } model = ((Component)base.characterBody.modelLocator.modelTransform).GetComponent<CharacterModel>(); AkBankManager.LoadBankAsync("char_captain", (BankCallback)null); } private void FixedUpdate() { //IL_00ad: 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_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_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_00f9: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)baseMat) && Object.op_Implicit((Object)(object)model) && model.baseRendererInfos.Length > 1) { baseMat = model.baseRendererInfos[1].defaultMaterial; } if (!enable) { base.indicator.active = false; return; } stopwatch += Time.fixedDeltaTime; if (stopwatch >= 0.1f) { stopwatch = 0f; Ray val = default(Ray); ((Ray)(ref val))..ctor(base.inputBank.aimOrigin, base.inputBank.aimDirection); base.search.filterByLoS = true; base.search.searchOrigin = ((Ray)(ref val)).origin; base.search.searchDirection = ((Ray)(ref val)).direction; base.search.sortMode = (SortMode)1; base.search.maxDistanceFilter = base.maxTrackingDistance; base.search.maxAngleFilter = base.maxTrackingAngle; base.search.RefreshCandidates(); base.search.FilterOutGameObject(((Component)this).gameObject); base.trackingTarget = base.search.GetResults().FirstOrDefault(); base.indicator.targetTransform = (Object.op_Implicit((Object)(object)base.trackingTarget) ? ((Component)base.trackingTarget).transform : null); } } private void OnDestroy() { if (Object.op_Implicit((Object)(object)droneMaster)) { droneMaster.DestroyBody(); Object.Destroy((Object)(object)((Component)droneMaster).gameObject); } } } internal class RadialBuff : MonoBehaviour { private TeamFilter teamFilter; private void OnCollisionEnter(Collision collision) { //IL_00ce: 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_001f: Expected O, but got Unknown //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_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_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_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_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0258: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_0270: Expected O, but got Unknown float value = MainPlugin.radius.Value; if (NetworkServer.active) { SphereSearch val = new SphereSearch(); val.origin = ((Component)this).transform.position; val.radius = value; val.mask = ((LayerIndex)(ref LayerIndex.entityPrecise)).mask; HurtBox[] hurtBoxes = val.RefreshCandidates().FilterCandidatesByHurtBoxTeam(TeamMask.GetEnemyTeams(teamFilter.teamIndex)).FilterCandidatesByDistinctHurtBoxEntities() .GetHurtBoxes(); HurtBox[] array = hurtBoxes; foreach (HurtBox val2 in array) { if (Object.op_Implicit((Object)(object)val2.healthComponent)) { SetStateOnHurt component = ((Component)val2.healthComponent).GetComponent<SetStateOnHurt>(); if (Object.op_Implicit((Object)(object)component)) { component.SetPain(); } } } } foreach (TeamComponent teamMember in TeamComponent.GetTeamMembers(teamFilter.teamIndex)) { if (!Object.op_Implicit((Object)(object)teamMember.body) || !(Vector3.Distance(((Component)this).transform.position, ((Component)teamMember).transform.position) <= value)) { continue; } float value2 = MainPlugin.duration.Value; if (Object.op_Implicit((Object)(object)teamMember.body.modelLocator) && Object.op_Implicit((Object)(object)teamMember.body.modelLocator.modelTransform)) { CharacterModel component2 = ((Component)teamMember.body.modelLocator.modelTransform).GetComponent<CharacterModel>(); if (Object.op_Implicit((Object)(object)component2)) { TemporaryOverlayInstance val3 = TemporaryOverlayManager.AddOverlay(((Component)component2).gameObject); val3.duration = value2; val3.animateShaderAlpha = true; val3.alphaCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); val3.alphaCurve.AddKey(0.85f, 1f); val3.destroyComponentOnEnd = true; val3.originalMaterial = Prefabs.overlay; val3.AddToCharacterModel(component2); } } if (NetworkServer.active) { teamMember.body.AddTimedBuff(Prefabs.overclock, value2); } } EffectManager.SpawnEffect(Prefabs.buffProjectileExplosion, new EffectData { origin = ((Component)this).transform.position, scale = value }, false); } private void Awake() { teamFilter = ((Component)this).GetComponent<TeamFilter>(); } } internal class RailgunnerScreenBehaviour : NetworkBehaviour, IProjectileImpactBehavior { private ProjectileController controller; public GameObject screenMesh; private static int kRpcRpcCollision; private void Awake() { controller = ((Component)this).GetComponentInParent<ProjectileController>(); } public void OnProjectileImpact(ProjectileImpactInfo impactInfo) { //IL_0001: 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) if (Object.op_Implicit((Object)(object)impactInfo.collider) && !Object.op_Implicit((Object)(object)((Component)impactInfo.collider).GetComponent<HurtBox>())) { CallRpcCollision(); } } [ClientRpc] public void RpcCollision() { screenMesh.SetActive(true); } private void FixedUpdate() { } private void UNetVersion() { } protected static void InvokeRpcRpcCollision(NetworkBehaviour obj, NetworkReader reader) { if (!NetworkClient.active) { Debug.LogError((object)"RPC RpcCollision called on server."); } else { ((RailgunnerScreenBehaviour)(object)obj).RpcCollision(); } } public void CallRpcCollision() { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0041: Unknown result type (might be due to invalid IL or missing references) if (!NetworkServer.active) { Debug.LogError((object)"RPC Function RpcCollision called on client."); return; } NetworkWriter val = new NetworkWriter(); val.Write((short)0); val.Write((short)2); val.WritePackedUInt32((uint)kRpcRpcCollision); val.Write(((Component)this).GetComponent<NetworkIdentity>().netId); ((NetworkBehaviour)this).SendRPCInternal(val, 0, "RpcCollision"); } static RailgunnerScreenBehaviour() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown kRpcRpcCollision = -1880999976; NetworkBehaviour.RegisterRpcDelegate(typeof(RailgunnerScreenBehaviour), kRpcRpcCollision, new CmdDelegate(InvokeRpcRpcCollision)); NetworkCRC.RegisterBehaviour("RailgunnerScreenBehaviour", 0); } public override bool OnSerialize(NetworkWriter writer, bool forceAll) { bool result = default(bool); return result; } public override void OnDeserialize(NetworkReader reader, bool initialState) { } } internal class RailgunnerScreenCollision : MonoBehaviour { private void OnTriggerEnter(Collider collider) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) ProjectileDamage component = ((Component)collider).GetComponent<ProjectileDamage>(); if (Object.op_Implicit((Object)(object)component)) { component.damage *= MainPlugin.railgunnerUtilityDamageMult.Value; component.damageColorIndex = (DamageColorIndex)12; } } } internal class ReplaceableSkill : MonoBehaviour { private CharacterBody body; private float stopwatch; public bool active = true; public float cooldown = 0.5f; private float rechargeStopwatch; private void Awake() { body = ((Component)this).GetComponent<CharacterBody>(); } private void FixedUpdate() { if (!active) { stopwatch += Time.fixedDeltaTime; if (stopwatch >= cooldown) { stopwatch = 0f; active = true; } } rechargeStopwatch += Time.fixedDeltaTime; } public void ClearOverride() { body.skillLocator.secondary.UnsetSkillOverride((object)((Component)this).gameObject, MainPlugin.seekerSecondary, (SkillOverridePriority)4); body.skillLocator.secondary.RechargeBaseSkill(rechargeStopwatch); rechargeStopwatch = 0f; } public void ReplaceSkill() { rechargeStopwatch = 0f; body.skillLocator.secondary.SetSkillOverride((object)((Component)this).gameObject, MainPlugin.seekerSecondary, (SkillOverridePriority)4); } } internal class SeekerGenkidamaProjectile : NetworkBehaviour { private ProjectileController controller; private ProjectileDamage projectileDamage; private ProjectileSimple simple; private Collider collider; private ProjectileImpactExplosion impact; private SkillLocator skillLocator; private CharacterBody ownerBody; private SeekerController seekerController; private EntityStateMachine weapon; public float upPos = 4f; private float damage; private int inputCount; private int tranquilityCount; private static int kCmdCmdUpdateInput; private void Awake() { controller = ((Component)this).GetComponent<ProjectileController>(); simple = ((Component)this).GetComponent<ProjectileSimple>(); projectileDamage = ((Component)this).GetComponent<ProjectileDamage>(); impact = ((Component)this).GetComponent<ProjectileImpactExplosion>(); collider = ((Component)this).GetComponent<Collider>(); } private void Start() { if (Object.op_Implicit((Object)(object)controller.owner)) { GameObject owner = controller.owner; skillLocator = owner.GetComponent<SkillLocator>(); ownerBody = owner.GetComponent<CharacterBody>(); seekerController = owner.GetComponent<SeekerController>(); weapon = Array.Find(owner.GetComponents<EntityStateMachine>(), (EntityStateMachine x) => x.customName == "Weapon"); } } private void Update() { //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_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) if (!((Behaviour)simple).enabled && Object.op_Implicit((Object)(object)controller.owner)) { ((Component)this).transform.position = controller.owner.transform.position + Vector3.up * upPos; } } [Command] private void CmdUpdateInput(int input) { inputCount = input; } private void FixedUpdate() { //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_0020: 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_005c: Unknown result type (might be due to invalid IL or missing references) ((Component)this).transform.localScale = Vector3.Lerp(((Component)this).transform.localScale, Vector3.one * (float)(inputCount + 1), 1.5f * Time.fixedDeltaTime); if (Object.op_Implicit((Object)(object)ownerBody)) { ((Component)this).transform.forward = ownerBody.inputBank.aimDirection; damage = ownerBody.damage; tranquilityCount = ownerBody.GetBuffCount(Buffs.ChakraBuff); } if (!((Behaviour)simple).enabled && Object.op_Implicit((Object)(object)seekerController) && Util.HasEffectiveAuthority(controller.owner)) { CallCmdUpdateInput(seekerController.meditationInputStep); } if ((!((Behaviour)simple).enabled && !Object.op_Implicit((Object)(object)ownerBody)) || (Object.op_Implicit((Object)(object)weapon) && !(weapon.state is Genkidama))) { ((Behaviour)simple).enabled = true; ((Behaviour)impact).enabled = true; ((ProjectileExplosion)impact).blastRadius = 5 * (inputCount + 1); collider.enabled = true; projectileDamage.damage = (MainPlugin.genkidamaBaseDamage.Value + MainPlugin.genkidamaAddDamage.Value * (float)tranquilityCount) * damage; } } private void UNetVersion() { } protected static void InvokeCmdCmdUpdateInput(NetworkBehaviour obj, NetworkReader reader) { if (!NetworkServer.active) { Debug.LogError((object)"Command CmdUpdateInput called on client."); } else { ((SeekerGenkidamaProjectile)(object)obj).CmdUpdateInput((int)reader.ReadPackedUInt32()); } } public void CallCmdUpdateInput(int input) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0058: Unknown result type (might be due to invalid IL or missing references) if (!NetworkClient.active) { Debug.LogError((object)"Command function CmdUpdateInput called on server."); return; } if (((NetworkBehaviour)this).isServer) { CmdUpdateInput(input); return; } NetworkWriter val = new NetworkWriter(); val.Write((short)0); val.Write((short)5); val.WritePackedUInt32((uint)kCmdCmdUpdateInput); val.Write(((Component)this).GetComponent<NetworkIdentity>().netId); val.WritePackedUInt32((uint)input); ((NetworkBehaviour)this).SendCommandInternal(val, 0, "CmdUpdateInput"); } static SeekerGenkidamaProjectile() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown kCmdCmdUpdateInput = -1960028162; NetworkBehaviour.RegisterCommandDelegate(typeof(SeekerGenkidamaProjectile), kCmdCmdUpdateInput, new CmdDelegate(InvokeCmdCmdUpdateInput)); NetworkCRC.RegisterBehaviour("SeekerGenkidamaProjectile", 0); } public override bool OnSerialize(NetworkWriter writer, bool forceAll) { bool result = default(bool); return result; } public override void OnDeserialize(NetworkReader reader, bool initialState) { } } internal class SimpleUpdate : MonoBehaviour { private ProjectileSimple simple; private ProjectileTargetComponent target; private void Awake() { simple = ((Component)this).GetComponent<ProjectileSimple>(); target = ((Component)this).GetComponent<ProjectileTargetComponent>(); } private void FixedUpdate() { simple.updateAfterFiring = Object.op_Implicit((Object)(object)target.target); } } [DefaultExecutionOrder(100)] internal class TurretChargeBehaviour : MonoBehaviour { private CharacterBody body; private CharacterModel model; private Material mat; public bool firing; public float stopwatch = 3f; public bool addstock; private void Awake() { model = ((Component)this).GetComponent<CharacterModel>(); } private void Start() { body = model.body; UpdateMaterial(); } public void UpdateMaterial() { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Expected O, but got Unknown //IL_00a5: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)mat)) { Object.Destroy((Object)(object)mat); } mat = new Material(model.baseRendererInfos[3].defaultMaterial); model.baseRendererInfos[3].defaultMaterial = mat; model.baseRendererInfos[3].renderer.material = mat; if (!Object.op_Implicit((Object)(object)body)) { mat.SetTextureScale("_MainTex", new Vector2(2.07f, 1f)); mat.SetFloat("_EmPower", 2f); } } private void FixedUpdate() { //IL_00f3: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)body) || !Object.op_Implicit((Object)(object)model) || !Object.op_Implicit((Object)(object)mat)) { return; } if (firing) { if (stopwatch <= 0f) { stopwatch = 3f; } stopwatch -= Time.fixedDeltaTime; } else { stopwatch = 3f; } GenericSkill primary = body.skillLocator.primary; mat.SetTextureScale("_MainTex", new Vector2(primary.CanExecute() ? 2.07f : (firing ? 2.07f : Util.Remap(Math.Min(1f, primary.rechargeStopwatch / primary.finalRechargeInterval), 0f, 1f, 0.66f, 2.07f)), 1f)); } } [DefaultExecutionOrder(100)] internal class TurretSkinBehaviour : NetworkBehaviour { private CharacterBody body; private CharacterBody ownerBody; private NetworkLoadout networkLoadout; private BodyIndex bodyIndex; private ModelSkinController skinController; private TurretChargeBehaviour chargeBehaviour; private CharacterSelectSurvivorPreviewDisplayController displayController; private CharacterModel characterModel; private Renderer renderer; public Material mat; public bool applySkin = true; public float timer = 0.06f; private float stopwatch; private void Awake() { skinController = ((Component)this).GetComponent<ModelSkinController>(); chargeBehaviour = ((Component)this).GetComponent<TurretChargeBehaviour>(); characterModel = ((Component)this).GetComponent<CharacterModel>(); renderer = characterModel.baseRendererInfos[0].renderer; mat = renderer.material; } private void Start() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Expected O, but got Unknown //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Expected O, but got Unknown body = ((Component)this).GetComponent<CharacterModel>().body; bodyIndex = BodyCatalog.FindBodyIndex("EngiBody"); if (!Object.op_Implicit((Object)(object)body)) { displayController = ((Component)this).GetComponentInParent<CharacterSelectSurvivorPreviewDisplayController>(); if (Object.op_Implicit((Object)(object)displayController)) { displayController.skinChangeResponses[0].response.AddListener((UnityAction)delegate { UpdateModel(0); }); displayController.skinChangeResponses[1].response.AddListener((UnityAction)delegate { UpdateModel(1); }); displayController.skinChangeResponses[2].response.AddListener((UnityAction)delegate { UpdateModel(2); }); } } else if (Object.op_Implicit((Object)(object)body.master) && Object.op_Implicit((Object)(object)body.master.minionOwnership) && Object.op_Implicit((Object)(object)body.master.minionOwnership.ownerMaster)) { ownerBody = body.master.minionOwnership.ownerMaster.GetBody(); if (Object.op_Implicit((Object)(object)ownerBody)) { body.skinIndex = ownerBody.skinIndex; UpdateModel((int)ownerBody.skinIndex); } } } private void FixedUpdate() { if (Object.op_Implicit((Object)(object)body)) { stopwatch += Time.fixedDeltaTime; if (applySkin && stopwatch >= timer) { applySkin = false; UpdateModel((int)body.skinIndex); } } } private void UpdateModel(int skinIndex) { if (Object.op_Implicit((Object)(object)skinController) && Object.op_Implicit((Object)(object)chargeBehaviour)) { ((Behaviour)skinController.characterModel).enabled = true; skinController.ApplySkin(skinIndex); chargeBehaviour.UpdateMaterial(); } } private void UNetVersion() { } public override bool OnSerialize(NetworkWriter writer, bool forceAll) { bool result = default(bool); return result; } public override void OnDeserialize(NetworkReader reader, bool initialState) { } } internal class TurretSpawner : NetworkBehaviour { private CharacterBody body; private static int kCmdCmdSpawn; private void Awake() { body = ((Component)this).GetComponent<CharacterBody>(); } [Command] public void CmdSpawn(Vector3 pos, Quaternion rot) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: 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_0037: 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_0054: 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_0080: Expected O, but got Unknown //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Expected O, but got Unknown //IL_00a4: Unknown result type (might be due to invalid IL or missing references) CharacterMaster val = new MasterSummon { masterPrefab = Prefabs.turretMaster, position = pos, rotation = rot, summonerBodyObject = ((Component)body).gameObject, ignoreTeamMemberLimit = true, inventoryToCopy = body.inventory, teamIndexOverride = body.teamComponent.teamIndex }.Perform(); Deployable val2 = ((Component)val).gameObject.AddComponent<Deployable>(); val2.onUndeploy = new UnityEvent(); val2.onUndeploy.AddListener(new UnityAction(val.TrueKill)); body.master.AddDeployable(val2, Prefabs.bigTurret); } private void UNetVersion() { } protected static void InvokeCmdCmdSpawn(NetworkBehaviour obj, NetworkReader reader) { //IL_001d: 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) if (!NetworkServer.active) { Debug.LogError((object)"Command CmdSpawn called on client."); } else { ((TurretSpawner)(object)obj).CmdSpawn(reader.ReadVector3(), reader.ReadQuaternion()); } } public void CallCmdSpawn(Vector3 pos, Quaternion rot) { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown //IL_005c: 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_0071: 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_0026: Unknown result type (might be due to invalid IL or missing references) if (!NetworkClient.active) { Debug.LogError((object)"Command function CmdSpawn called on server."); return; } if (((NetworkBehaviour)this).isServer) { CmdSpawn(pos, rot); return; } NetworkWriter val = new NetworkWriter(); val.Write((short)0); val.Write((short)5); val.WritePackedUInt32((uint)kCmdCmdSpawn); val.Write(((Component)this).GetComponent<NetworkIdentity>().netId); val.Write(pos); val.Write(rot); ((NetworkBehaviour)this).SendCommandInternal(val, 0, "CmdSpawn"); } static TurretSpawner() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown kCmdCmdSpawn = -274844957; NetworkBehaviour.RegisterCommandDelegate(typeof(TurretSpawner), kCmdCmdSpawn, new CmdDelegate(InvokeCmdCmdSpawn)); NetworkCRC.RegisterBehaviour("TurretSpawner", 0); } public override bool OnSerialize(NetworkWriter writer, bool forceAll) { bool result = default(bool); return result; } public override void OnDeserialize(NetworkReader reader, bool initialState) { } } internal class ViendUncorruptAlt : MonoBehaviour { private CharacterBody body; public GenericSkill secondary; public GenericSkill utility; public VoidSurvivorController controller; public bool hasAlt; public bool secondaryAlt; public bool utilityAlt; public float angle = 25f; private void Awake() { body = ((Component)this).GetComponent<CharacterBody>(); controller = ((Component)this).GetComponent<VoidSurvivorController>(); } private void Start() { secondary = body.skillLocator.secondary; utility = body.skillLocator.utility; if (secondary.skillNameToken == "AEROS_VIEND_SECONDARY") { hasAlt = true; secondaryAlt = true; } if (utility.skillNameToken == "AEROS_VIEND_UTIL") { hasAlt = true; utilityAlt = true; } } } internal class Hook { internal static void Hooks() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: 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_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007e: 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_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Expected O, but got Unknown RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(RecalculateStatsAPI_GetStatCoefficients); HealthComponent.TakeDamage += new hook_TakeDamage(HealthComponent_TakeDamage); GenericSkill.SetSkillOverride += new hook_SetSkillOverride(GenericSkill_SetSkillOverride); GenericSkill.UnsetSkillOverride += new hook_UnsetSkillOverride(GenericSkill_UnsetSkillOverride); SeekerController.CmdIncrementChakraGate += new hook_CmdIncrementChakraGate(SeekerController_CmdIncrementChakraGate); BulletAttack.Fire += new hook_Fire(BulletAttack_Fire); CharacterBody.AddTimedBuff_BuffDef_float += new hook_AddTimedBuff_BuffDef_float(CharacterBody_AddTimedBuff_BuffDef_float); DotController.InflictDot_refInflictDotInfo += new hook_InflictDot_refInflictDotInfo(DotController_InflictDot_refInflictDotInfo); CharacterBody.AddBuff_BuffIndex += new hook_AddBuff_BuffIndex(CharacterBody_AddBuff_BuffIndex); } private static void DotController_InflictDot_refInflictDotInfo(orig_InflictDot_refInflictDotInfo orig, ref InflictDotInfo inflictDotInfo) { if (Object.op_Implicit((Object)(object)inflictDotInfo.victimObject)) { CharacterBody component = inflictDotInfo.victimObject.GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)component) && component.HasBuff(Prefabs.debuffImmune)) { return; } } orig.Invoke(ref inflictDotInfo); } private static void CharacterBody_AddBuff_BuffIndex(orig_AddBuff_BuffIndex orig, CharacterBody self, BuffIndex buffType) { //IL_0001: 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) BuffDef buffDef = BuffCatalog.GetBuffDef(buffType); if (!Object.op_Implicit((Object)(object)self) || !Object.op_Implicit((Object)(object)buffDef) || !buffDef.isDebuff || !self.HasBuff(Prefabs.debuffImmune)) { orig.Invoke(self, buffType); } } private static void CharacterBody_AddTimedBuff_BuffDef_float(orig_AddTimedBuff_BuffDef_float orig, CharacterBody self, BuffDef buffDef, float duration) { if (!Object.op_Implicit((Object)(object)self) || !Object.op_Implicit((Object)(object)buffDef) || !buffDef.isDebuff || !self.HasBuff(Prefabs.debuffImmune)) { orig.Invoke(self, buffDef, duration); } } private static void BulletAttack_Fire(orig_Fire orig, BulletAttack self) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) if (Physics.Raycast(self.origin, self.aimVector, self.maxDistance, 536870912)) { self.damage *= MainPlugin.railgunnerUtilityDamageMult.Value; self.damageColorIndex = (DamageColorIndex)12; } orig.Invoke(self); } private static void SeekerController_CmdIncrementChakraGate(orig_CmdIncrementChakraGate orig, SeekerController self) { orig.Invoke(self); if (Object.op_Implicit((Object)(object)self.specialSkillSlot) && (Object)(object)self.specialSkillSlot.skillDef == (Object)(object)MainPlugin.seekerGenkidama) { self.UnlockGateEffects(self.characterBody.master.seekerChakraGate); } } private static void GenericSkill_UnsetSkillOverride(orig_UnsetSkillOverride orig, GenericSkill self, object source, SkillDef skillDef, SkillOverridePriority priority) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Invalid comparison between Unknown and I4 //IL_00ae: 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_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Expected O, but got Unknown ViendUncorruptAlt component = ((Component)self).GetComponent<ViendUncorruptAlt>(); if (Object.op_Implicit((Object)(object)component) && component.hasAlt && (int)priority == 2) { bool flag = (Object)(object)self == (Object)(object)component.secondary; if ((component.secondaryAlt && flag) || (component.utilityAlt && (Object)(object)self == (Object)(object)component.utility)) { SkillOverride val = new SkillOverride(source, flag ? MainPlugin.viendSecondaryCorrupted : MainPlugin.viendUtilCorrupted, priority); int num = self.FindSkillOverrideIndex(ref val); if (num != -1) { ArrayUtils.ArrayRemoveAtAndResize<SkillOverride>(ref self.skillOverrides, num, 1); self.PickCurrentOverride(); } return; } } orig.Invoke(self, source, skillDef, priority); } private static void GenericSkill_SetSkillOverride(orig_SetSkillOverride orig, GenericSkill self, object source, SkillDef skillDef, SkillOverridePriority priority) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Invalid comparison between Unknown and I4 //IL_00b8: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Expected O, but got Unknown ViendUncorruptAlt component = ((Component)self).GetComponent<ViendUncorruptAlt>(); if (Object.op_Implicit((Object)(object)component) && component.hasAlt && (int)priority == 2 && component.controller.corruption >= 100f) { bool flag = (Object)(object)self == (Object)(object)component.secondary; if ((component.secondaryAlt && flag) || (component.utilityAlt && (Object)(object)self == (Object)(object)component.utility)) { SkillOverride val = new SkillOverride(source, flag ? MainPlugin.viendSecondaryCorrupted : MainPlugin.viendUtilCorrupted, priority); if (self.FindSkillOverrideIndex(ref val) == -1) { ArrayUtils.ArrayAppend<SkillOverride>(ref self.skillOverrides, ref val); self.PickCurrentOverride(); } return; } } orig.Invoke(self, source, skillDef, priority); } private static void HealthComponent_TakeDamage(orig_TakeDamage orig, HealthComponent self, DamageInfo damageInfo) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_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_003a: Invalid comparison between Unknown and I4 //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0097: 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_00c6: 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_0123: 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_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0299: 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_0351: 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_03b2: Unknown result type (might be due to invalid IL or missing references) //IL_03b4: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: 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_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_0305: Unknown result type (might be due to invalid IL or missing references) //IL_0307: Unknown result type (might be due to invalid IL or missing references) //IL_030c: 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_0325: Expected O, but got Unknown //IL_043c: 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_046e: Unknown result type (might be due to invalid IL or missing references) //IL_0475: Expected O, but got Unknown //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) if (Object.op_Implicit((Object)(object)damageInfo.attacker) && damageInfo.procCoefficient > 0f && (int)DamageTypeCombo.op_Implicit(damageInfo.damageType & DamageTypeCombo.op_Implicit((DamageType)67108864)) != 67108864 && (Object)(object)MainPlugin.banditPassive != (Object)null && self.body.canReceiveBackstab) { CharacterBody component = damageInfo.attacker.GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)component) && component.bodyIndex == BodyCatalog.FindBodyIndex("Bandit2Body")) { Vector3 val = component.corePosition - damageInfo.position; if (!component.HasBuff(Prefabs.lacerationCD) && (((ProcChainMask)(ref damageInfo.procChainMask)).HasProc((ProcType)17) || (BackstabManager.IsBackstab(-val, self.body) && Object.op_Implicit((Object)(object)Array.Find(damageInfo.attacker.GetComponents<GenericSkill>(), (GenericSkill x) => (Object)(object)x.skillDef == (Object)(object)MainPlugin.banditPassive))))) { if (((Enum)component.bodyFlags).HasFlag((Enum)(object)(BodyFlags)128)) { component.bodyFlags = (BodyFlags)(component.bodyFlags & -129); component.canPerformBackstab = false; } DotController.InflictDot(((Component)self).gameObject, damageInfo.attacker, damageInfo.inflictedHurtbox, (DotIndex)6, 15f * damageInfo.procCoefficient, 1f, (uint?)2147483647u); component.AddTimedBuff(Prefabs.lacerationCD, 0.05f); } } } if (self.body.HasBuff(Prefabs.multDroneDebuff)) { damageInfo.damage *= MainPlugin.multSecondaryDamageIncrease.Value; } bool flag = Object.op_Implicit((Object)(object)self.body) && self.body.HasBuff(Prefabs.block); float damage = damageInfo.damage; float num = Math.Clamp(MainPlugin.blockAmount.Value, 0.01f, 1f); if (flag) { damageInfo.damage *= 1f - num; } orig.Invoke(self, damageInfo); if (flag) { self.AddBarrier(damage * num); } if (!Object.op_Implicit((Object)(object)damageInfo.attacker) || !(damageInfo.procCoefficient > 0f)) { return; } CharacterBody component2 = damageInfo.attacker.GetComponent<CharacterBody>(); if (!Object.op_Implicit((Object)(object)component2)) { return; } if (DamageAPI.HasModdedDamageType(damageInfo, Prefabs.crocoSecondaryDamage)) { int num2 = Utils.DebuffCount(self.body); if (num2 > 0) { DamageInfo val2 = new DamageInfo { position = self.body.corePosition, attacker = ((Component)component2).gameObject, damage = component2.damage * MainPlugin.crocoSecondaryAddDamage.Value * (float)num2, damageColorIndex = (DamageColorIndex)5, procCoefficient = 0f, crit = damageInfo.crit }; self.body.healthComponent.TakeDamage(val2); } } if (DamageAPI.HasModdedDamageType(damageInfo, Prefabs.flameSwordHit)) { InflictDotInfo val3 = default(InflictDotInfo); val3.attackerObject = damageInfo.attacker; val3.victimObject = ((Component)self).gameObject; val3.totalDamage = 5.875f * MainPlugin.mageFlameSwordBurnDuration.Value; val3.damageMultiplier = 1f; val3.dotIndex = (DotIndex)1; val3.maxStacksFromAttacker = 2147483647u; InflictDotInfo val4 = val3; StrengthenBurnUtils.CheckDotForUpgrade(component2.inventory, ref val4); DotController.InflictDot(ref val4); } if ((Object)(object)MainPlugin.seekerPassive != (Object)null && Object.op_Implicit((Object)(object)component2) && Object.op_Implicit((Object)(object)((Component)component2).GetComponent<SeekerController>()) && Object.op_Implicit((Object)(object)Array.Find(((Component)component2).GetComponents<GenericSkill>(), (GenericSkill x) => (Object)(object)x.skillDef == (Object)(object)MainPlugin.seekerPassive))) { Utils.ProcSeekerPassive(self.body, component2); } if (DamageAPI.HasModdedDamageType(damageInfo, Prefabs.seekerPrimaryDamage)) { Utils.ProcSeekerPassive(self.body, component2); } if (DamageAPI.HasModdedDamageType(damageInfo, Prefabs.seekerSecondaryDamage)) { HealOrb val5 = new HealOrb(); ((Orb)val5).origin = damageInfo.position; ((Orb)val5).target = component2.mainHurtBox; val5.healValue = component2.healthComponent.fullHealth * (MainPlugin.seekerSecondaryHealPercentage.Value + MainPlugin.seekerSecondaryAddHealPercentage.Value * (float)component2.GetBuffCount(Buffs.ChakraBuff)); val5.overrideDuration = 0.3f; OrbManager.instance.AddOrb((Orb)(object)val5); } } private static void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args) { if (sender.HasBuff(Prefabs.latchBuff)) { args.armorAdd += 200f; } if (sender.HasBuff(Prefabs.multDroneRegenBuff)) { args.baseRegenAdd += sender.healthComponent.fullHealth * MainPlugin.multSecondaryHeal.Value; args.attackSpeedMultAdd += 0.3f; args.damageMultAdd += 0.3f; } if (sender.HasBuff(Prefabs.viendSpeedBuff)) { args.moveSpeedMultAdd += MainPlugin.viendSpeedBuff.Value; } if (sender.HasBuff(Prefabs.block)) { args.moveSpeedReductionMultAdd += MainPlugin.blockSpeedReduction.Value; } if (sender.HasBuff(Prefabs.overclock)) { args.baseRegenAdd += MainPlugin.regen.Value; args.baseAttackSpeedAdd += MainPlugin.atkspd.Value; args.baseMoveSpeedAdd += MainPlugin.movspd.Value; args.allSkills.cooldownMultAdd += 0f - MainPlugin.cooldown.Value; } if (sender.HasBuff(Prefabs.falseSonAuraBuff)) { float num = (float)sender.master.money * 0.01f; args.baseDamageAdd += num; args.armorAdd += num; } } } internal class Language { internal static void AddTranslations() { LanguageAPI.Add("AEROS_MULT_DRONE_NAME", "Ремонтный дрон", "RU"); LanguageAPI.Add("AEROS_CAP_M1", "Вулкан-повторитель", "RU"); LanguageAPI.Add("AEROS_CAP_M1_DESCRIPTION", "Выстреливает быстрой очередью из дробовика <style=cIsDamage>3</style> раза, наносящей <style=cIsDamage>3x165% урона</style>.", "RU"); LanguageAPI.Add("AEROS_CAP_M2", "Разгон", "RU"); LanguageAPI.Add("AEROS_CAP_M2_DESCRIPTION", "Выстреливает <style=cIsHealth>не наносящим урона</style> снарядом, который <style=cIsDamage>усиливает</style> ближайших союзников при попадании, давая <style=cIsHealing>+5 ОЗ/сек</style>, <style=cIsDamage>+0.6 к скорости атаки</style>, <style=cIsUtility>+5 к скорости передвижения</style> и <style=cIsUtility>50% сокращение времени перезарядки</style> на <style=cIsUtility>5 секунд</style>.", "RU"); LanguageAPI.Add("AEROS_ENGI_M1", "Искатель", "RU"); LanguageAPI.Add("AEROS_ENGI_M1_DESCRIPTION", "Зарядите до <style=cIsDamage>8</style> ракет, наносящих <style=cIsDamage>140% урона</style> каждая.", "RU"); LanguageAPI.Add("AEROS_ENGI_SPEC2", "Турель-рельсотрон TR90", "RU"); LanguageAPI.Add("AEROS_ENGI_SPEC", "Турель-рельсотрон TR90", "RU"); LanguageAPI.Add("AEROS_ENGI_SPEC_DESCRIPTION", "Устанавливает турель, которая заряжается в течение <style=cIsUtility>8 секунд</style> и выстреливает, нанося <style=cIsDamage>3000% урона</style>. Использует все ваши предметы.", "RU"); LanguageAPI.Add("AEROS_LOADER_UTIL", "Заряженный град", "RU"); LanguageAPI.Add("AEROS_LOADER_UTIL_DESCRIPTION", "Удерживайте, чтобы ринуться вперёд, нанося <style=cIsDamage>600%-2700% урона</style>, и выполните серию ударов при попадании на <style=cIsDamage>5x350% урона</style>.", "RU"); LanguageAPI.Add("AEROS_LOADER_SPEC", "Блок", "RU"); LanguageAPI.Add("AEROS_LOADER_SPEC_DESCRIPTION", "Примите боевую стойку до <style=cIsDamage>10 секунд</style>, блокируя <style=cIsDamage>50% урона</style> от всего входящего урона. Выпустите вокруг себя взрыв молнии на <style=cIsDamage>450% урона</style>, увеличивающийся в уроне и размере, в зависимости от количества вашего текущего барьера. Даёт <style=cIsDamage>неуязвимость</style> на <style=cIsUtility>0.5 секунд</style> после отпускания.", "RU"); LanguageAPI.Add("AEROS_SEEKER_PASSIVE0", "Нет пассивки.", "RU"); LanguageAPI.Add("AEROS_SEEKER_PASSIVE", "Вмешательство души", "RU"); LanguageAPI.Add("AEROS_SEEKER_PASSIVE_DESCRIPTION", "Накладывает <style=cIsDamage>вмешательство</style> при попадании. При <style=cIsUtility>3 стаках</style> заставляет врага взорваться на <style=cIsDamage>50% урона</style>.", "RU"); LanguageAPI.Add("AEROS_SEEKER_LOADOUT", "Пассивное", "RU"); LanguageAPI.Add("AEROS_SEEKER_SPEC", "Взрыв душ", "RU"); LanguageAPI.Add("AEROS_SEEKER_SPEC_DESCRIPTION", "Зарядите <style=cIsDamage>взрывающуюся</style> сферу души, <style=cIsUtility>сосредотачивая свою душу</style>, получая <style=cIsUtility>спокойствие</style>, которая наносит <style=cIsDamage>500%-1400% урона</style>.", "RU"); LanguageAPI.Add("AEROS_VIEND_SECONDARY", "『 Б?зд?а 」", "RU"); LanguageAPI.Add("AEROS_VIEND_SECONDARY_DESCRIPTION", "Выпускает дальнобойный луч, наносящий <style=cIsDamage>280% урона</style> в секунду и <style=cIsUtility>притягивающий</style> поражённых врагов.", "RU"); LanguageAPI.Add("AEROS_VIEND_SECONDARY_CORRUPT", "『 Б?зд?а 」 осквернённый", "RU"); LanguageAPI.Add("AEROS_VIEND_SECONDARY_DESCRIPTION_CORRUPT", "Выпускает мгновенный дальнобойный луч, наносящий <style=cIsDamage>420% урона</style>. Поражённые враги <style=cIsUtility>телепортируются</style> к вам.", "RU"); LanguageAPI.Add("AEROS_VIEND_UTIL", "「 По?груже?ние?? 】", "RU"); LanguageAPI.Add("AEROS_VIEND_UTIL_DESCRIPTION", "Входит в 「 по?руж?н?? 】, становясь неспособным наносить урон врагам и получать урон от них, при этом, получает <style=cIsHealth>5% урона</style> в секунду. Увеличивает урон со временем.", "RU"); LanguageAPI.Add("AEROS_VIEND_UTIL_CORRUPT", "「 По?руж?н?? 】 осквернённый", "RU"); LanguageAPI.Add("AEROS_VIEND_UTIL_DESCRIPTION_CORRUPT", "Получите <style=cIsUtility>40% скорости передвижения</style>. Входит в 「 по?руж?н?? 】, становясь неспособным наносить урон врагам и получать урон от них, при этом, получает <style=cIsHealth>5% урона</style> в секунду. Увеличивает урон со временем.", "RU"); LanguageAPI.Add("AEROS_MAGE_SEC", "Нано-клинок", "RU"); LanguageAPI.Add("AEROS_MAGE_SEC_DESCRIPTION", "<style=cIsDamage>Воспламенение</style>. Заряжает пылающий меч, наносящий <style=cIsDamage>1000%-2000% урона</style>. При максимальном заряде, выстреливает <style=cIsDamage>пробивающим</style> снарядом.", "RU"); LanguageAPI.Add("AEROS_MAGE_SPEC", "Ледяной выброс", "RU"); LanguageAPI.Add("AEROS_MAGE_SPEC_DESCRIPTION", "<style=cIsUtility>Замораживание</style>. Отбрасывает вас в направлении движения, нанося <style=cIsDamage>800% урона</style> ближайшим врагам.", "RU"); LanguageAPI.Add("AEROS_MULT_SEC", "Ремонтный дрон", "RU"); LanguageAPI.Add("AEROS_MULT_SEC_DESCRIPTION", "Получите <style=cIsDamage>уникального</style> дрона. Активируйте, чтобы выбрать цель; вражеские цели будут получать увеличенный урон на <style=cIsDamage>30%</style>. Если выбранная цель — дрон-союзник, он будет <style=cIsHealth>лечиться на 5 ОЗ/сек</style> и увеличит урон на <style=cIsDamage>30%</style> и <style=cIsDamage>скорость атаки</style>. При повторной активации - отменяет действие.", "RU"); LanguageAPI.Add("AEROS_MULT_UTIL", "Режим транспортировки, рывок", "RU"); LanguageAPI.Add("AEROS_MULT_UTIL_DESCRIPTION", "Скользите вперёд на короткое расстояние.", "RU"); LanguageAPI.Add("AEROS_COMMANDO_SPEC", "Снайпер", "RU"); LanguageAPI.Add("AEROS_COMMANDO_SPEC_DESCRIPTION", "Зарядитесь, чтобы выстрелить двумя пробивающими пулями на <style=cIsDamage>2x250%-1200% урона</style>. Выстрел, при максимальном заряде заставляет пули рикошетить в ближайших врагов.", "RU"); LanguageAPI.Add("AEROS_MERC_M1", "Световой меч", "RU"); LanguageAPI.Add("AEROS_MERC_M1_DESCRIPTION", "Режьте впереди себя, нанося <style=cIsDamage>3x110% урона</style>.", "RU"); LanguageAPI.Add("AEROS_MERC_SPEC", "Рассечение", "RU"); LanguageAPI.Add("AEROS_MERC_SPEC_DESCRIPTION", "Рывок вперёд, наносит <style=cIsDamage>200% урона</style>. Если вы попали во врага, вы можете обрушиться вниз на <style=cIsDamage>320% урона</style> и ударить по земле, нанося дополнительные <style=cIsDamage>420% урона</style>.", "RU"); } } [BepInPlugin("com.Dragonyck.AerosSkills", "AerosSkills", "2.5.1")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [NetworkCompatibility(/*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.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class MainPlugin : BaseUnityPlugin { public const string MODUID = "com.Dragonyck.AerosSkills"; public const string MODNAME = "AerosSkills"; public const string VERSION = "2.5.1"; public const string MODKEY = "AEROS_"; internal static ConfigFile captainCfg; internal static ConfigEntry<bool> enableCap; internal static ConfigEntry<bool> enableCapPrimary; internal static ConfigEntry<bool> enableCapSecondary; internal static ConfigEntry<float> burstDMG; internal static ConfigEntry<float> radius; internal static ConfigEntry<float> regen; internal static ConfigEntry<float> atkspd; internal static ConfigEntry<float> movspd; internal static ConfigEntry<float> cooldown; internal static ConfigEntry<float> duration; internal static ConfigEntry<float> CD; internal static ConfigFile engiCfg; internal static ConfigEntry<bool> enableEngi; internal static ConfigEntry<bool> enableEngiPrimary; internal static ConfigEntry<bool> enableEngiSpecial; internal static ConfigEntry<float> missileDamageCoefficient; internal static ConfigEntry<bool> missileTracking; internal static ConfigEntry<float> turretDamageCoefficient; internal static ConfigFile loaderCfg; internal static ConfigEntry<bool> enableLoader; internal static ConfigEntry<bool> enableLoaderUtility; internal static ConfigEntry<bool> enableLoaderSpecial; internal static ConfigEntry<bool> enableLoaderOldSkills; internal static ConfigEntry<float> blockDuration; internal static ConfigEntry<float> blockInvincibilityDuration; internal static ConfigEntry<float> blockSpeedReduction; internal static ConfigEntry<float> blockAmount; internal static ConfigEntry<float> blockAmountOld; internal static ConfigEntry<float> blockWaveDamage; internal static ConfigEntry<int> maxPunchCount; internal static ConfigEntry<float> punchDamageCoefficient; internal static ConfigEntry<float> punchMinDamageCoefficient; internal static ConfigEntry<float> punchMaxDamageCoefficient; internal static ConfigEntry<float> punchChargeTime; internal static ConfigEntry<float> punchVelocity; internal static ConfigEntry<float> punchSpeed; internal static ConfigEntry<float> punchComboBackForce; internal static ConfigEntry<float> punchComboUpForce; internal static ConfigEntry<float> punchComboFirstHitDamageCoefficient; internal static ConfigFile seekerCfg; internal static ConfigEntry<bool> enableSeeker; internal static ConfigEntry<bool> enableSeekerPassive; internal static ConfigEntry<bool> enableSeekerSpecial; internal static ConfigEntry<float> genkidamaBaseDamage; internal static ConfigEntry<float> genkidamaAddDamage; internal static ConfigEntry<float> passiveBaseDamage; internal static ConfigEntry<float> passiveAddDamage; internal static ConfigEntry<int> passiveMaxStacks; internal static ConfigEntry<float> seekerPrimaryDamage; internal static ConfigEntry<float> seekerPrimaryAddDamage; internal static ConfigEntry<float> seekerSecondaryDamage; internal static ConfigEntry<float> seekerSecondaryExplosionDamage; internal static ConfigEntry<float> seekerSecondaryHealPercentage; internal static ConfigEntry<float> seekerSecondaryAddHealPercentage; internal static ConfigEntry<float> seekerSecondaryCooldown; internal static ConfigFile viendCfg; internal static ConfigEntry<bool> enableViend; internal static ConfigEntry<bool> enableViendSecondary; internal static ConfigEntry<bool> enableViendUtility; internal static ConfigEntry<float> viendSpeedBuff; internal static ConfigEntry<float> viendSelfDMG; internal static ConfigEntry<float> beamFireFrequency; internal static ConfigEntry<float> beamDMG; internal static ConfigEntry<float> beamForce; internal static ConfigEntry<float> beamDMGCorrupted; internal static ConfigEntry<float> beamDuration; internal static ConfigFile mageCfg; internal static ConfigEntry<bool> enableMage; internal static ConfigEntry<bool> enableMageSecondary; internal static ConfigEntry<bool> enableMageSpecial; internal static ConfigEntry<float> mageSpecialDamage; internal static ConfigEntry<float> mageFlameSwordMinDamage; internal static ConfigEntry<float> mageFlameSwordMaxDamage; internal static ConfigEntry<float> mageFlameSwordMaxChargeTime; internal static ConfigEntry<float> mageFlameSwordBurnDuration; internal static ConfigFile multCfg; internal static ConfigEntry<bool> enableMult; internal static ConfigEntry<float> multUtilitySpeed; internal static ConfigEntry<float> multSecondaryDamage; internal static ConfigEntry<float> multSecondaryDamageIncrease; internal static ConfigEntry<float> multSecondaryHeal; internal static ConfigFile commandoCfg; internal static ConfigEntry<bool> enableCommando; internal static ConfigEntry<float> commandoSpecialChargeTime; internal static ConfigEntry<float> commandoSpecialMinDamage; internal static ConfigEntry<float> commandoSpecialMaxDamage; internal static ConfigEntry<float> commandoUtilityDamage; internal static ConfigFile mercCfg; internal static ConfigEntry<bool> enableMerc; internal static ConfigEntry<float> mercPrimaryBaseDuration; internal static ConfigEntry<float> mercPrimaryDamage; internal static ConfigEntry<float> mercSpecialDashDamage; internal static ConfigEntry<float> mercSpecialUppercutDamage; internal static ConfigEntry<float> mercSpecialSlamDamage; internal static ConfigEntry<float> mercSpecialSlamImpactDamage; internal static ConfigEntry<float> mercSpecialRecastTime; internal static ConfigFile huntressCfg; internal static ConfigEntry<bool> enableHuntress; internal static ConfigEntry<float> huntressSecondaryRadius; internal static ConfigEntry<float> huntressSecondaryDamage; internal static ConfigEntry<float> huntressSpecialDamage; internal static ConfigEntry<float> huntressSpecialRange; internal static ConfigFile railgunnerCfg; internal static ConfigEntry<bool> enableRailgunner; internal static ConfigEntry<float> railgunnerUtilityDamageMult; internal static ConfigEntry<float> railgunnerSpecialDamage; internal static ConfigEntry<float> railgunnerSpecialRadius; internal static ConfigEntry<float> railgunnerSpecialLightningRadius; internal static ConfigEntry<float> railgunnerSpecialLightningFireRate; internal static ConfigEntry<float> railgunnerSpecialLightningDamage; internal static ConfigFile falseSonCfg; internal static ConfigEntry<bool> enableFalseSon; internal static ConfigEntry<float> falseSonUtilityBarrier; internal static ConfigEntry<float> falseSonUtilityRadius; internal static ConfigEntry<float> falseSonUtilityDuration; internal static ConfigEntry<float> falseSonUtilityBuffMult; internal static ConfigEntry<float> falseSonSpecialDamage; internal static ConfigEntry<float> falseSonSpecialDuration; internal static ConfigEntry<float> falseSonSpecialFinalDuration; internal static ConfigEntry<float> falseSonSpecialFireRate; internal static ConfigEntry<float> falseSonSpecialMaxDistance; internal static ConfigFile banditCfg; internal static ConfigEntry<bool> enableBandit; internal static ConfigEntry<float> banditUtilityDamage; internal static ConfigEntry<float> banditUtilityAngle; internal static ConfigFile crocoCfg; internal static ConfigEntry<bool> enableCroco; internal static ConfigEntry<float> crocoSecondaryDamage; internal static ConfigEntry<float> crocoSecondaryAddDamage; internal static ConfigEntry<float> crocoSpecialLatchDamage; internal static ConfigEntry<float> crocoSpecialLatchTicks; internal static ConfigEntry<float> crocoSpecialLatchTickDamage; internal static ConfigEntry<float> crocoSpecialTargetDamage; internal static ConfigEntry<float> crocoSpecialExplosionDamage; internal static ConfigEntry<float> crocoSpecialDebuffDuration; internal static BepInPlugin Metadata; internal static string Location; internal static SkillDef banditPassive; internal static SkillDef engiScepter; internal static SkillDef viendSecondary; internal static SkillDef viendSecondaryCorrupted; internal static SkillDef viendUtil; internal static SkillDef viendUtilCorrupted; internal static SkillDef seekerPassive; internal static SkillDef seekerGenkidama; internal static SkillDef seekerSecondary; internal static SkillDef mercSpecial; internal static SkillDef huntressPrimaryOverride; internal static SkillDef railgunnerSpecial; internal static SkillDef railgunnerPrimaryOverride; private void Awake() { //IL_0382: Unknown result type (might be due to invalid IL or missing references) //IL_0389: Expected O, but got Unknown //IL_03c9: 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_03eb: Unknown result type (might be due to invalid IL or missing references) //IL_0406: Unknown result type (might be due to invalid IL or missing references) //IL_041a: Unknown result type (might be due to invalid IL or missing references) //IL_05e8: 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) Location = ((BaseUnityPlugin)this).Info.Location; Metadata = ((BaseUnityPlugin)this).Info.Metadata; CreateConfigs(); Language.AddTranslations(); Assets.PopulateAssets(); Prefabs.CreatePrefabs(); GameObject val = null; SkillLocator val2 = null; if (enableCap.Value) { val = Prefabs.Load<GameObject>("RoR2/Base/Captain/CaptainBody.prefab"); val2 = val.GetComponent<SkillLocator>(); val.AddComponent<CrosshairSwap>(); Prefabs.spreadBloomCurve = Prefabs.Load<GameObject>("RoR2/Base/Commando/CommandoBody.prefab").GetComponent<CharacterBody>().spreadBloomCurve; if (enableCapPrimary.Value) { CaptainPrimarySetup(val2); } if (enableCapSecondary.Value) { CaptainSecondarySetup(val2); } } if (enableEngi.Value) { val = Prefabs.Load<GameObject>("RoR2/Base/Engi/EngiBody.prefab"); val.AddComponent<TurretSpawner>(); val2 = val.GetComponent<SkillLocator>(); if (enableEngiPrimary.Value) { EngiPrimarySetup(val2); } if (enableEngiSpecial.Value) { EngiSpecialSetup(val2); } if (ModCompat.AncientScepterEnabled) { ModCompat.AddScepterSupport(); } } if (enableLoader.Value) { val = Prefabs.Load<GameObject>("RoR2/Base/Loader/LoaderBody.prefab"); val2 = val.GetComponent<SkillLocator>(); if (enableLoaderOldSkills.Value) { if (enableLoaderUtility.Value) { LoaderUtilitySetupOld(val2); } if (enableLoaderSpecial.Value) { LoaderSpecialSetupOld(val2); } } else { LoaderUtilitySetup(val2); LoaderSpecialSetup(val2); } } if (enableSeeker.Value) { val = Prefabs.Load<GameObject>("RoR2/DLC2/Seeker/SeekerBody.prefab"); val.AddComponent<ReplaceableSkill>().cooldown = seekerSecondaryCooldown.Value; val2 = val.GetComponent<SkillLocator>(); if (enableSeekerPassive.Value) { SeekerPassiveSetup(val2); } SeekerPrimarySetup(val2); if (enableSeekerSpecial.Value) { SeekerSpecialSetup(val2); } } if (enableViend.Value) { val = Prefabs.Load<GameObject>("RoR2/DLC1/VoidSurvivor/VoidSurvivorBody.prefab"); val.gameObject.AddComponent<ViendUncorruptAlt>(); val2 = val.GetComponent<SkillLocator>(); if (enableViendSecondary.Value) { ViendSecondarySetup(val2); } if (enableViendUtility.Value) { ViendUtilitySetup(val2); } } if (enableMage.Value) { val = Prefabs.Load<GameObject>("RoR2/Base/Mage/MageBody.prefab"); val2 = val.GetComponent<SkillLocator>(); if (enableMageSecondary.Value) { MageSecondarySetup(val2); } if (enableMageSpecial.Value) { MageSpecialSetup(val2); } } if (enableMult.Value) { val = Prefabs.Load<GameObject>("RoR2/Base/Toolbot/ToolbotBody.prefab"); ((HuntressTracker)val.gameObject.AddComponent<MultTracker>()).maxTrackingDistance = 50f; val2 = val.GetComponent<SkillLocator>(); Utils.NewStateMachine<Idle>(val.gameObject, "Drone"); NetworkStateMachine component = val.GetComponent<NetworkStateMachine>(); component.stateMachines = val.GetComponents<EntityStateMachine>(); MultSecondarySetup(val2); MultUtilitySetup(val2); } if (enableCommando.Value) { val = Prefabs.Load<GameObject>("RoR2/Base/Commando/CommandoBody.prefab"); val2 = val.GetComponent<SkillLocator>(); Transform modelTransform = val.GetComponent<ModelLocator>().modelTransform; ChildLocator component2 = ((Component)modelTransform).GetComponent<ChildLocator>(); GameObject val3 = new GameObject("MuzzleMuzzle"); val3.transform.parent = ((Component)component2).transform; Array.Resize(ref component2.transformPairs, component2.transformPairs.Length + 1); component2.transformPairs[component2.transformPairs.Length - 1] = new NameTransformPair { name = "MuzzleMuzzle", transform = val3.transform }; Utils.CreateHitbox("AerosDash", modelTransform, new Vector3(5f, 5f, 5f), new Vector3(0f, 1f, 0f)); CommandoUtilitySetup(val2); CommandoSpecialSetup(val2); } if (enableMerc.Value) { val = Prefabs.Load<GameObject>("RoR2/Base/Merc/MercBody.prefab"); val2 = val.GetComponent<SkillLocator>(); val.AddComponent<MercHitboxScale>(); Utils.NewStateMachine<Idle>(val.gameObject, "SkillOverride"); Utils.NewStateMachine<Idle>(val.gameObject, "Dash"); NetworkStateMachine component3 = val.GetComponent<NetworkStateMachine>(); component3.stateMachines = val.GetComponents<EntityStateMachine>(); MercPrimarySetup(val2); MercSpecialSetup(val2); } if (enableHuntress.Value) { val = Prefabs.Load<GameObject>("RoR2/Base/Huntress/HuntressBody.prefab"); val2 = val.GetComponent<SkillLocator>(); HuntressSecondarySetup(val2); HuntressSpecialSetup(val2); } if (enableRailgunner.Value) { val = Prefabs.Load<GameObject>("RoR2/DLC1/Railgunner/RailgunnerBody.prefab"); val2 = val.GetComponent<SkillLocator>(); RailgunnerUtilitySetup(val2); RailgunnerSpecialSetup(val2); } if (enableFalseSon.Value) { val = Prefabs.Load<GameObject>("RoR2/DLC2/FalseSon/FalseSonBody.prefab"); val2 = val.GetComponent<SkillLocator>(); Utils.NewStateMachine<Idle>(val.gameObject, "BuffWard"); NetworkStateMachine component4 = val.GetComponent<NetworkStateMachine>(); component4.stateMachines = val.GetComponents<EntityStateMachine>(); FalseSonUtilitySetup(val2); FalseSonSpecialSetup(val2); } if (enableBandit.Value) { val = Prefabs.Load<GameObject>("RoR2/Base/Bandit2/Bandit2Body.prefab"); val2 = val.GetComponent<SkillLocator>(); val2.passiveSkill.enabled = false; BanditPassiveSetup(val2); BanditUtilitySetup(val2); } if (enableCroco.Value) { val = Prefabs.Load<GameObject>("RoR2/Base/Croco/CrocoBody.prefab"); val2 = val.GetComponent<SkillLocator>(); Transform modelTransform2 = val.GetComponent<ModelLocator>().modelTransform; Utils.CreateHitbox("AerosSlash", modelTransform2, new Vector3(40f, 40f, 55f), new Vector3(0f, 10f, 22f)); CrocoSecondarySetup(val2); CrocoSpecialSetup(val2); } RegisterStates(); Hook.Hooks(); } private void CreateConfigs() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Expected O, but got Unknown //IL_0238: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Expected O, but got Unknown //IL_04aa: Unknown result type (might be due to invalid IL or missing references) //IL_04b4: Expected O, but got Unknown //IL_0685: Unknown result type (might be due to invalid IL or missing references) //IL_068f: Expected O, but got Unknown //IL_07c9: Unknown result type (might be due to invalid IL or missing references) //IL_07d3: Expected O, but got Unknown //IL_08cf: Unknown result type (might be due to invalid IL or missing references) //IL_08d9: Expected O, but got Unknown //IL_0980: Unknown result type (might be due to invalid IL or missing references) //IL_098a: Expected O, but got Unknown //IL_0a31: Unknown result type (might be due to invalid IL or missing references) //IL_0a3b: Expected O, but got Unknown //IL_0b3f: Unknown result type (might be due to invalid IL or missing references) //IL_0b49: Expected O, but got Unknown //IL_0bf0: Unknown result type (might be due to invalid IL or missing references) //IL_0bfa: Expected O, but got Unknown //IL_0cdf: Unknown result type (might be due to invalid IL or missing references) //IL_0ce9: Expected O, but got Unknown //IL_0e2b: Unknown result type (might be due to invalid IL or missing references) //IL_0e35: Expected O, but got Unknown //IL_0e9e: Unknown result type (might be due to invalid IL or missing references) //IL_0ea8: Expected O, but got Unknown captainCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Captain.cfg", true); enableCap = captainCfg.Bind<bool>("General", "Enable Captain Skills", true, (ConfigDescription)null); enableCapPrimary = captainCfg.Bind<bool>("General", "Enable Captain Primary Skill", true, (ConfigDescription)null); enableCapSecondary = captainCfg.Bind<bool>("General", "Enable Captain Secondary Skill", true, (ConfigDescription)null); burstDMG = captainCfg.Bind<float>("VulcanRepeater", "Damage Coefficient", 1.65f, (ConfigDescription)null); radius = captainCfg.Bind<float>("Overclock", "Explosion Radius", 12f, (ConfigDescription)null); regen = captainCfg.Bind<float>("Overclock", "Base Health Regen Add", 5f, (ConfigDescription)null); atkspd = captainCfg.Bind<float>("Overclock", "Base Attack Speed Add", 0.6f, (ConfigDescription)null); movspd = captainCfg.Bind<float>("Overclock", "Base Movement Speed Add", 5f, (ConfigDescription)null); cooldown = captainCfg.Bind<float>("Overclock", "Cooldown Reduction Mult", 0.5f, (ConfigDescription)null); duration = captainCfg.Bind<float>("Overclock", "Buff Duration", 5f, (ConfigDescription)null); CD = captainCfg.Bind<float>("Overclock", "Skill Cooldown", 8f, (ConfigDescription)null); engiCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Engineer.cfg", true); enableEngi = engiCfg.Bind<bool>("General", "Enable Engineer Skills", true, (ConfigDescription)null); enableEngiPrimary = engiCfg.Bind<bool>("General", "Enable Engineer Primary Skill", true, (ConfigDescription)null); enableEngiSpecial = engiCfg.Bind<bool>("General", "Enable Engineer Special Skill", true, (ConfigDescription)null); missileDamageCoefficient = engiCfg.Bind<float>("Missiles", "Damage Coefficient", 1.4f, (ConfigDescription)null); missileTracking = engiCfg.Bind<bool>("Seekers", "Enable Tracking", true, (ConfigDescription)null); turretDamageCoefficient = engiCfg.Bind<float>("TR90 Railgun Turret", "Damage Coefficient", 30f, (ConfigDescription)null); loaderCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Loader.cfg", true); enableLoader = loaderCfg.Bind<bool>("General", "Enable Loader Skills", true, (ConfigDescription)null); enableLoaderUtility = loaderCfg.Bind<bool>("General", "Enable Loader Utility Skill", true, (ConfigDescription)null); enableLoaderSpecial = loaderCfg.Bind<bool>("General", "Enable Loader Special Skill", true, (ConfigDescription)null); blockDuration = loaderCfg.Bind<float>("Block", "Duration", 10f, (ConfigDescription)null); blockInvincibilityDuration = loaderCfg.Bind<float>("Block", "Invincibility Duration", 0.5f, (ConfigDescription)null); blockSpeedReduction = loaderCfg.Bind<float>("Block", "Speed Reduction", 0.6f, (ConfigDescription)null); blockAmount = loaderCfg.Bind<float>("Block", "Block Coefficient", 0.5f, (ConfigDescription)null); blockAmountOld = loaderCfg.Bind<float>("Block", "Old Block Coefficient", 0.8f, (ConfigDescription)null); blockWaveDamage = loaderCfg.Bind<float>("Block", "Block Wave Damage Coefficient", 4.5f, (ConfigDescription)null); maxPunchCount = loaderCfg.Bind<int>("Gauntlet Barrage", "Max Punch Count", 5, (ConfigDescription)null); punchMinDamageCoefficient = loaderCfg.Bind<float>("Gauntlet Barrage", "Charge Min Damage Coefficient", 1.7f, (ConfigDescription)null); punchMaxDamageCoefficient = loaderCfg.Bind<float>("Gauntlet Barrage", "Charge Max Damage Coefficient", 5f, (ConfigDescription)null); punchDamageCoefficient = loaderCfg.Bind<float>("Gauntlet Barrage", "Damage Coefficient", 3.5f, (ConfigDescription)null); punchChargeTime = loaderCfg.Bind<float>("Gauntlet Barrage", "Charge Time Required Per Punch", 0.15f, (ConfigDescription)null); punchVelocity = loaderCfg.Bind<float>("Gauntlet Barrage", "Added Velocity After Charge", 5f, (ConfigDescription)null); punchSpeed = loaderCfg.Bind<float>("Gauntlet Barrage", "Swing Duration", 0.2f, (ConfigDescription)null); punchComboBackForce = loaderCfg.Bind<float>("Gauntlet Barrage", "Backwards Force", 4400f, (ConfigDescription)null); punchComboUpForce = loaderCfg.Bind<float>("Gauntlet Barrage", "Upwards Force", 2700f, (ConfigDescription)null); punchComboFirstHitDamageCoefficient = loaderCfg.Bind<float>("Gauntlet Barrage", "First Hit Damage Coefficient", 2f, (ConfigDescription)null); enableLoaderOldSkills = loaderCfg.Bind<bool>("General", "Enable Old Skills", false, (ConfigDescription)null); seekerCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Seeker.cfg", true); enableSeeker = seekerCfg.Bind<bool>("General", "Enable Seeker Skills", true, (ConfigDescription)null); enableSeekerPassive = seekerCfg.Bind<bool>("General", "Enable Seeker Old Passive Skill", false, (ConfigDescription)null); enableSeekerSpecial = seekerCfg.Bind<bool>("General", "Enable Seeker Special Skill", true, (ConfigDescription)null); genkidamaBaseDamage = seekerCfg.Bind<float>("Soul Detonation", "Base Damage", 5f, (ConfigDescription)null); genkidamaAddDamage = seekerCfg.Bind<float>("Soul Detonation", "Additional Damage Per Tranquility", 2f, (ConfigDescription)null); passiveBaseDamage = seekerCfg.Bind<float>("Soul Stack", "Base Damage", 0.5f, (ConfigDescription)null); passiveAddDamage = seekerCfg.Bind<float>("Soul Stack", "Additional Damage Per Tranquility", 0.3f, (ConfigDescription)null); passiveMaxStacks = seekerCfg.Bind<int>("Soul Stack", "Max Stacks", 3, (ConfigDescription)null); seekerPrimaryDamage = seekerCfg.Bind<float>("Primary", "Damage", 2.5f, (ConfigDescription)null); seekerPrimaryAddDamage = seekerCfg.Bind<float>("Primary", "Additional Damage Per Tranquility", 0.2f, (ConfigDescription)null); seekerSecondaryDamage = seekerCfg.Bind<float>("Secondary", "Palm Travel Damage", 4.5f, (ConfigDescription)null); seekerSecondaryExplosionDamage = seekerCfg.Bind<float>("Secondary", "Center Explosion Damage", 4f, (ConfigDescription)null); seekerSecondaryHealPercentage = seekerCfg.Bind<float>("Secondary", "Heal Max Health Percentage", 0.03f, (ConfigDescription)null); seekerSecondaryAddHealPercentage = seekerCfg.Bind<float>("Secondary", "Additional Heal Per Tranquility", 0.02f, (ConfigDescription)null); seekerSecondaryCooldown = seekerCfg.Bind<float>("Secondary", "Cooldown", 0.5f, (ConfigDescription)null); viendCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Viend.cfg", true); enableViend = viendCfg.Bind<bool>("General", "Enable Viend Skills", true, (ConfigDescription)null); enableViendSecondary = viendCfg.Bind<bool>("General", "Enable Viend Secondary Skill", true, (ConfigDescription)null); enableViendUtility = viendCfg.Bind<bool>("General", "Enable Viend Utility Skill", true, (ConfigDescription)null); viendSpeedBuff = viendCfg.Bind<float>("「 Sub?merge?? 】", "Corrupted Speed Mult", 0.4f, (ConfigDescription)null); viendSelfDMG = viendCfg.Bind<float>("「 Sub?merge?? 】", "MaxHP Self Damage Mult", 0.01f, (ConfigDescription)null); beamDuration = viendCfg.Bind<float>("『 P??luck 」", "Max Duration", 3f, (ConfigDescription)null); beamFireFrequency = viendCfg.Bind<float>("『 P??luck 」", "Fire Frequency", 0.25f, (ConfigDescription)null); beamDMG = viendCfg.Bind<float>("『 P??luck 」", "Damage", 0.7f, (ConfigDescription)null); beamForce = viendCfg.Bind<float>("『 P??luck 」", "Pull Force", -1700f, (ConfigDescription)null); beamDMGCorrupted = viendCfg.Bind<float>("『 P??luck 」 Corrupted", "Damage", 4.2f, (ConfigDescription)null); mageCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Artificer.cfg", true); enableMage = mageCfg.Bind<bool>("General", "Enable Artificer Skills", true, (ConfigDescription)null); enableMageSecondary = mageCfg.Bind<bool>("General", "Enable Artificer Secondary Skill", true, (ConfigDescription)null); enableMageSpecial = mageCfg.Bind<bool>("General", "Enable Artificer Special Skill", true, (ConfigDescription)null); mageSpecialDamage = mageCfg.Bind<float>("Frigid Outburst", "Damage Coefficient", 8f, (ConfigDescription)null); mageFlameSwordMaxChargeTime = mageCfg.Bind<float>("Conjure Nano-Blade", "Charge Time", 2f, (ConfigDescription)null); mageFlameSwordMinDamage = mageCfg.Bind<float>("Conjure Nano-Blade", "Min Damage Coefficient", 10f, (ConfigDescription)null); mageFlameSwordMaxDamage = mageCfg.Bind<float>("Conjure Nano-Blade", "Max Damage Coefficient", 20f, (ConfigDescription)null); mageFlameSwordBurnDuration = mageCfg.Bind<float>("Conjure Nano-Blade", "Burn Duration", 8f, (ConfigDescription)null); multCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\MulT.cfg", true); enableMult = multCfg.Bind<bool>("General", "Enable Mul-T Skills", true, (ConfigDescription)null); multSecondaryDamage = multCfg.Bind<float>("Secondary", "Drone Nail Damage", 0.2f, (ConfigDescription)null); multSecondaryDamageIncrease = multCfg.Bind<float>("Secondary", "Drone Target Damage Increase", 1.3f, (ConfigDescription)null); multSecondaryHeal = multCfg.Bind<float>("Secondary", "Heal Percentage Per Sec", 0.05f, (ConfigDescription)null); multUtilitySpeed = multCfg.Bind<float>("Utility", "Speed", 85f, (ConfigDescription)null); commandoCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Commando.cfg", true); enableCommando = commandoCfg.Bind<bool>("General", "Enable Commando Skills", true, (ConfigDescription)null); commandoSpecialChargeTime = commandoCfg.Bind<float>("Special", "Max Charge Time", 1.2f, (ConfigDescription)null); commandoSpecialMinDamage = commandoCfg.Bind<float>("Special", "Min Damage", 2.5f, (ConfigDescription)null); commandoSpecialMaxDamage = commandoCfg.Bind<float>("Special", "Max Damage", 12f, (ConfigDescription)null); commandoUtilityDamage = commandoCfg.Bind<float>("Utility", "Damage", 3.2f, (ConfigDescription)null); mercCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Mercenary.cfg", true); enableMerc = mercCfg.Bind<bool>("General", "Enable Mercenary Skills", true, (ConfigDescription)null); mercPrimaryBaseDuration = mercCfg.Bind<float>("Primary", "Primary Base Duration", 0.95f, (ConfigDescription)null); mercPrimaryDamage = mercCfg.Bind<float>("Primary", "Damage", 1.1f, (ConfigDescription)null); mercSpecialDashDamage = mercCfg.Bind<float>("Special", "Dash Damage", 2f, (ConfigDescription)null); mercSpecialUppercutDamage = mercCfg.Bind<float>("Special", "Uppercut Damage", 2.8f, (ConfigDescription)null); mercSpecialSlamDamage = mercCfg.Bind<float>("Special", "Slam Damage", 3.2f, (ConfigDescription)null); mercSpecialSlamImpactDamage = mercCfg.Bind<float>("Special", "Slam Impact Damage", 4.2f, (ConfigDescription)null); mercSpecialRecastTime = mercCfg.Bind<float>("Special", "Recast Time", 2f, (ConfigDescription)null); huntressCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Huntress.cfg", true); enableHuntress = huntressCfg.Bind<bool>("General", "Enable Huntress Skills", true, (ConfigDescription)null); huntressSecondaryRadius = huntressCfg.Bind<float>("Cyclone Glaive", "Radius", 20f, (ConfigDescription)null); huntressSecondaryDamage = huntressCfg.Bind<float>("Cyclone Glaive", "Damage Coefficient", 3.75f, (ConfigDescription)null); huntressSpecialDamage = huntressCfg.Bind<float>("Warp Shot", "Damage Coefficient", 11f, (ConfigDescription)null); huntressSpecialRange = huntressCfg.Bind<float>("Warp Shot", "Range", 120f, (ConfigDescription)null); railgunnerCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Railgunner.cfg", true); enableRailgunner = railgunnerCfg.Bind<bool>("General", "Enable Railgunner Skills", true, (ConfigDescription)null); railgunnerUtilityDamageMult = railgunnerCfg.Bind<float>("Augmentation Screen Device", "Damage Mult", 1.5f, (ConfigDescription)null); railgunnerSpecialDamage = railgunnerCfg.Bind<float>("Electrocharge", "Damage Coefficient", 30f, (ConfigDescription)null); railgunnerSpecialRadius = railgunnerCfg.Bind<float>("Electrocharge", "Impact Radius", 15f, (ConfigDescription)null); railgunnerSpecialLightningRadius = railgunnerCfg.Bind<float>("Electrocharge", "Lightning Radius", 15f, (ConfigDescription)null); railgunnerSpecialLightningDamage = railgunnerCfg.Bind<float>("Electrocharge", "Lightning Damage", 2f, (ConfigDescription)null); railgunnerSpecialLightningFireRate = railgunnerCfg.Bind<float>("Electrocharge", "Lightning Fire Rate", 0.25f, (ConfigDescription)null); falseSonCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\FalseSon.cfg", true); enableFalseSon = falseSonCfg.Bind<bool>("General", "Enable FalseSon Skills", true, (ConfigDescription)null); falseSonUtilityDuration = falseSonCfg.Bind<float>("Sororal Embrace", "Duration", 1.5f, (ConfigDescription)null); falseSonUtilityBarrier = falseSonCfg.Bind<float>("Sororal Embrace", "Health Percentage Barrier Per Sec", 0.2f, (ConfigDescription)null); falseSonUtilityRadius = falseSonCfg.Bind<float>("Sororal Embrace", "Radius", 8f, (ConfigDescription)null); falseSonUtilityBuffMult = falseSonCfg.Bind<float>("Sororal Embrace", "Money Multiplier", 0.01f, (ConfigDescription)null); falseSonSpecialDamage = falseSonCfg.Bind<float>("Crown of the Father", "Damage Per Sec Per Laser", 0.25f, (ConfigDescription)null); falseSonSpecialDuration = falseSonCfg.Bind<float>("Crown of the Father", "Duration", 4f, (ConfigDescription)null); falseSonSpecialFinalDuration = falseSonCfg.Bind<float>("Crown of the Father", "Final Laser Burst Duration", 3.5f, (ConfigDescription)null); falseSonSpecialFireRate = falseSonCfg.Bind<float>("Crown of the Father", "Fire Rate", 0.25f, (ConfigDescription)null); falseSonSpecialMaxDistance = falseSonCfg.Bind<float>("Crown of the Father", "Max Distance", 120f, (ConfigDescription)null); banditCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Bandit.cfg", true); enableBandit = banditCfg.Bind<bool>("General", "Enable Bandit Skills", true, (ConfigDescription)null); banditUtilityDamage = banditCfg.Bind<float>("Utility", "Damage", 2.5f, (ConfigDescription)null); banditUtilityAngle = banditCfg.Bind<float>("Utility", "Backjump Angle", 30f, (ConfigDescription)null); crocoCfg = new ConfigFile(Paths.ConfigPath + "\\AerosSkills\\Acrid.cfg", true); enableCroco = crocoCfg.Bind<bool>("General", "Enable Acrid Skills", true, (ConfigDescription)null); crocoSecondaryDamage = crocoCfg.Bind<float>("Secondary", "Damage", 4.5f, (ConfigDescription)null); crocoSecondaryAddDamage = crocoCfg.Bind<float>("Secondary", "Additional Damage Per Debuff", 0.5f, (ConfigDescription)null); crocoSpecialLatchDamage = crocoCfg.Bind<float>("Special", "Latch Damage", 4f, (ConfigDescription)null); crocoSpecialLatchTicks = crocoCfg.Bind<float>("Special", "Latch Ticks Per Second", 2f, (ConfigDescription)null); crocoSpecialLatchTickDamage = crocoCfg.Bind<float>("Special", "Latch Tick Damage Coefficient", 0.5f, (ConfigDescription)null); crocoSpecialTargetDamage = crocoCfg.Bind<float>("Special", "Target Damage", 6.5f, (ConfigDescription)null); crocoSpecialExplosionDamage = crocoCfg.Bind<float>("Special", "Explosion Damage", 2f, (ConfigDescription)null); crocoSpecialDebuffDuration = crocoCfg.Bind<float>("Special", "Debuff Duration", 8f, (ConfigDescription)null); } private void RegisterStates() { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0013: 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_0023: 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_0033: 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_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0053: 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_006b: 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_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008b: 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_009b: 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_00ab: 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_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: 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_00db: 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_00eb: 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_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_010b: 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_011b: 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_012b: 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_013b: 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_014b: 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_015b: 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_016b: 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_017b: 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_018b: 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_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) bool flag = default(bool); ContentAddition.AddEntityState<CaptainPrimary>(ref flag); ContentAddition.AddEntityState<CaptainSecondary>(ref flag); ContentAddition.AddEntityState<EngiPrimaryCharge>(ref flag); ContentAddition.AddEntityState<EngiPrimaryFire>(ref flag); ContentAddition.AddEntityState<EngiSpecial>(ref flag); ContentAddition.AddEntityState<EngiTurretPrimary>(ref flag); ContentAddition.AddEntityState<TurretSpawn>(ref flag); ContentAddition.AddEntityState<ChargePunchesOld>(ref flag); ContentAddition.AddEntityState<PunchesOld>(ref flag); ContentAddition.AddEntityState<BlockOld>(ref flag); ContentAddition.AddEntityState<SlamOld>(ref flag); ContentAddition.AddEntityState<Block>(ref flag); ContentAddition.AddEntityState<Detonate>(ref flag); ContentAddition.AddEntityState<ChargeFist>(ref flag); ContentAddition.AddEntityState<FireFist>(ref flag); ContentAddition.AddEntityState<PunchCombo>(ref flag); ContentAddition.AddEntityState<SeekerPrimary>(ref flag); ContentAddition.AddEntityState<SeekerSecondary>(ref flag); ContentAddition.AddEntityState<SeekerSecondaryFire>(ref flag); ContentAddition.AddEntityState<Genkidama>(ref flag); ContentAddition.AddEntityState<Dimension>(ref flag); ContentAddition.AddEntityState<DimensionCorrupted>(ref flag); ContentAddition.AddEntityState<Beam>(ref flag); ContentAddition.AddEntityState<BeamCorrupted>(ref flag); ContentAddition.AddEntityState<MageSpecial>(ref flag); ContentAddition.AddEntityState<FireSword>(ref flag); ContentAddition.AddEntityState<FireSwordCharge>(ref flag); ContentAddition.AddEntityState<MultSecondary>(ref flag); ContentAddition.AddEntityState<MultDronePrimary>(ref flag); ContentAddition.AddEntityState<MultUtility>(ref flag); ContentAddition.AddEntityState<CommandoUtility>(ref flag); ContentAddition.AddEntityState<CommandoSpecial>(ref flag); ContentAddition.AddEntityState<CommandoSpecialFire>(ref flag); ContentAddition.AddEntityState<MercPrimary>(ref flag); ContentAddition.AddEntityState<MercSpecial>(ref flag); Cont