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 SkillsFromtheDeepEndRevived v2.0.1
Skillsfromthedeepend.dll
Decompiled a day agousing System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.Reflection; using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using EntityStates; using EntityStates.Commando.CommandoWeapon; using EntityStates.QuestVolatileBattery; using HG.Reflection; using Microsoft.CodeAnalysis; using On.RoR2; using R2API; using RoR2; using RoR2.ContentManagement; using RoR2.Skills; using UnityEngine; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: OptIn] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("Skillsfromthedeepend")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+287f0011a579475b13e786c95f9475ab37bec8ac")] [assembly: AssemblyProduct("Skillsfromthedeepend")] [assembly: AssemblyTitle("Skillsfromthedeepend")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace Skillsfromthedeepend { [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("Phreel.SkillsFromTheDeepEndRevived", "SkillsFromTheDeepEndRevived", "2.0.1")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Deepend : BaseUnityPlugin { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_RestockSteplike <>9__8_0; internal void <OOOOOYEAHBROTHERRRRR>b__8_0(orig_RestockSteplike orig, GenericSkill self) { //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Expected O, but got Unknown //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: 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_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Expected O, but got Unknown //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: 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) int stock = self.stock; orig.Invoke(self); if (self.stock <= stock || !((Object)(object)self.skillDef == (Object)(object)DetsDef) || !Object.op_Implicit((Object)(object)self.characterBody) || !self.characterBody.hasEffectiveAuthority) { return; } EmbeddedDetsTracker component = ((Component)self).GetComponent<EmbeddedDetsTracker>(); if (!Object.op_Implicit((Object)(object)component) || !Object.op_Implicit((Object)(object)self.characterBody) || !Object.op_Implicit((Object)(object)self.characterBody.master)) { return; } for (int i = 0; i < component.victims.Count; i++) { HealthComponent val = component.victims[i]; if (Object.op_Implicit((Object)(object)val)) { GameObject gameObject = ((Component)val).gameObject; EffectManager.SpawnEffect(Dets, new EffectData { origin = gameObject.transform.position, scale = 4f }, true); BlastAttack val2 = new BlastAttack { radius = 5f, procCoefficient = 0.2f, position = ((Component)component.victims[i]).transform.position, attacker = ((Component)self).gameObject, crit = Util.CheckRoll(self.characterBody.crit, self.characterBody.master), baseDamage = self.characterBody.damage * 2f, falloffModel = (FalloffModel)2, damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)131072), (DamageTypeExtended)0, (DamageSource)1), baseForce = 0f }; val2.teamIndex = TeamComponent.GetObjectTeam(val2.attacker); val2.attackerFiltering = (AttackerFiltering)2; val2.Fire(); } } component.victims = new List<HealthComponent>(); } } public const string PluginGUID = "Phreel.SkillsFromTheDeepEndRevived"; public const string PluginAuthor = "Phreel"; public const string PluginName = "SkillsFromTheDeepEndRevived"; public const string PluginVersion = "2.0.1"; public static ModdedDamageType acridBuffHandler = DamageAPI.ReserveDamageType(); public static BuffDef Agony; public static BuffDef Tactics; public static NetworkSoundEventDef AgonySound; public static GameObject effect; public static GameObject pew; public static GameObject Dets; public CrocoDamageTypeController AcridComponent; public DamageType MiseryC; public static SteppedSkillDef DetsDef; public static SkillDef FusilladeDef; public static SkillDef SalvoDef; public static SkillDef EngieExplode; public static SkillDef EngieJump; public static SkillDef OUAGGG; public static SkillDef Powermdoe; public static SkillDef Dill; public static SkillDef Insane; public AssetBundle assetBundle; public GameObject Effect = LegacyResourcesAPI.Load<GameObject>("prefabs/effects/impacteffects/CrocoLeapExplosion"); public static Sprite CreateSpriteBadWay(byte[] resourceBytes) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Expected O, but got Unknown //IL_0049: 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) if (resourceBytes == null) { throw new ArgumentNullException("resourceBytes"); } Texture2D val = new Texture2D(128, 128, (TextureFormat)4, false); ImageConversion.LoadImage(val, resourceBytes, false); return Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0f, 0f)); } private static void CharacterAltSkill(GenericSkill genericSkill, SkillDef skillDef, string name, string description) { //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Expected O, but got Unknown //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) SkillFamily skillFamily = genericSkill.skillFamily; int num = skillFamily.variants.Length; string text = ((Object)((Component)genericSkill).gameObject).name.ToUpper(); string text2 = genericSkill.skillName.ToUpper(); skillDef.skillName = text + "_" + text2 + "_DEEPENDALT" + num + "_NAME"; skillDef.skillNameToken = text + "_" + text2 + "_DEEPENDALT" + num + "_NAME"; skillDef.skillDescriptionToken = text + "_" + text2 + "_DEEPENDALT" + num + "_DESCRIPTION"; LanguageAPI.Add(skillDef.skillNameToken, name); LanguageAPI.Add(skillDef.skillDescriptionToken, description); bool flag = default(bool); ContentAddition.AddEntityState(((SerializableEntityStateType)(ref skillDef.activationState)).stateType, ref flag); ContentAddition.AddSkillDef(skillDef); Array.Resize(ref skillFamily.variants, num + 1); Variant[] variants = skillFamily.variants; int num2 = skillFamily.variants.Length - 1; Variant val = new Variant { skillDef = skillDef }; ((Variant)(ref val)).viewableNode = new Node(skillDef.skillNameToken, false, (Node)null); variants[num2] = val; } public void Fusillade() { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) GameObject val = LegacyResourcesAPI.Load<GameObject>("prefabs/characterbodies/HuntressBody"); FusilladeDef = ScriptableObject.CreateInstance<SkillDef>(); FusilladeDef.activationState = new SerializableEntityStateType(typeof(NoAim)); FusilladeDef.interruptPriority = (InterruptPriority)0; FusilladeDef.activationStateMachineName = "Weapon"; FusilladeDef.baseRechargeInterval = 0f; FusilladeDef.cancelSprintingOnActivation = false; FusilladeDef.canceledFromSprinting = false; FusilladeDef.isCombatSkill = true; FusilladeDef.keywordTokens = new string[1] { "KEYWORD_AGILE" }; FusilladeDef.icon = assetBundle.LoadAsset<Sprite>("fusilladeIcon.png"); CharacterAltSkill(val.GetComponent<SkillLocator>().primary, FusilladeDef, "Fusillade", "Shoot a modified arrow from your bow that does <style=cIsDamage>375% damage</style> and has <style=cDeath>NO AUTOAIM</style>. <style=cKeywordName>Pierces.</style>"); } public void Untitled() { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) GameObject val = LegacyResourcesAPI.Load<GameObject>("prefabs/characterbodies/EngiBody"); EngieExplode = ScriptableObject.CreateInstance<SkillDef>(); EngieExplode.activationState = new SerializableEntityStateType(typeof(EngiDisrupt)); EngieExplode.interruptPriority = (InterruptPriority)0; EngieExplode.activationStateMachineName = "Weapon"; EngieExplode.baseRechargeInterval = 30f; EngieExplode.cancelSprintingOnActivation = true; EngieExplode.canceledFromSprinting = false; EngieExplode.isCombatSkill = true; EngieExplode.icon = assetBundle.LoadAsset<Sprite>("juryIcon.png"); CharacterAltSkill(val.GetComponent<SkillLocator>().utility, EngieExplode, "Jury-rigged Turrets", "Weaponize your crappy turrets with this one simple trick! On activation, explodes all currently alive turrets for <style=cIsDamage>250% of their</style> <style=cDeath>Max HP</style> in a large radius. Refunds turrets on use, but has a long cooldown"); } public void OOOOOYEAHBROTHERRRRR() { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Expected O, but got Unknown GameObject val = LegacyResourcesAPI.Load<GameObject>("prefabs/characterbodies/CommandoBody"); DetsDef = ScriptableObject.CreateInstance<SteppedSkillDef>(); ((SkillDef)DetsDef).activationState = new SerializableEntityStateType(typeof(Embeddeddets)); ((SkillDef)DetsDef).interruptPriority = (InterruptPriority)1; ((SkillDef)DetsDef).activationStateMachineName = "Weapon"; ((SkillDef)DetsDef).canceledFromSprinting = true; ((SkillDef)DetsDef).cancelSprintingOnActivation = true; ((SkillDef)DetsDef).isCombatSkill = true; ((SkillDef)DetsDef).baseRechargeInterval = 2f; ((SkillDef)DetsDef).baseMaxStock = 10; ((SkillDef)DetsDef).stockToConsume = 1; ((SkillDef)DetsDef).dontAllowPastMaxStocks = true; ((SkillDef)DetsDef).requiredStock = 1; ((SkillDef)DetsDef).rechargeStock = 10; ((SkillDef)DetsDef).resetCooldownTimerOnUse = true; DetsDef.stepCount = 2; ((SkillDef)DetsDef).icon = assetBundle.LoadAsset<Sprite>("detsIcon.png"); CharacterAltSkill(val.GetComponent<SkillLocator>().primary, (SkillDef)(object)DetsDef, "Embedded Detonators", "Fire <style=cDeath>10 bullets</style>, which Embed into enemies and do <style=cIsDamage>75% damage</style> on impact, before having to reload, causing all bullets in enemies to explode for <style=cIsDamage>200% damage</style>."); Dets = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load<GameObject>("prefabs/effects/omnieffect/OmniExplosionVFX"), "CommandoExplode", false); EffectComponent component = Dets.GetComponent<EffectComponent>(); component.soundName = "Play_captain_shift_impact"; component.applyScale = true; ContentAddition.AddEffect(Dets); val.AddComponent<EmbeddedDetsTracker>(); object obj = <>c.<>9__8_0; if (obj == null) { hook_RestockSteplike val2 = delegate(orig_RestockSteplike orig, GenericSkill self) { //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Expected O, but got Unknown //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: 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_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Expected O, but got Unknown //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: 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) int stock = self.stock; orig.Invoke(self); if (self.stock > stock && (Object)(object)self.skillDef == (Object)(object)DetsDef && Object.op_Implicit((Object)(object)self.characterBody) && self.characterBody.hasEffectiveAuthority) { EmbeddedDetsTracker component2 = ((Component)self).GetComponent<EmbeddedDetsTracker>(); if (Object.op_Implicit((Object)(object)component2) && Object.op_Implicit((Object)(object)self.characterBody) && Object.op_Implicit((Object)(object)self.characterBody.master)) { for (int i = 0; i < component2.victims.Count; i++) { HealthComponent val3 = component2.victims[i]; if (Object.op_Implicit((Object)(object)val3)) { GameObject gameObject = ((Component)val3).gameObject; EffectManager.SpawnEffect(Dets, new EffectData { origin = gameObject.transform.position, scale = 4f }, true); BlastAttack val4 = new BlastAttack { radius = 5f, procCoefficient = 0.2f, position = ((Component)component2.victims[i]).transform.position, attacker = ((Component)self).gameObject, crit = Util.CheckRoll(self.characterBody.crit, self.characterBody.master), baseDamage = self.characterBody.damage * 2f, falloffModel = (FalloffModel)2, damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)131072), (DamageTypeExtended)0, (DamageSource)1), baseForce = 0f }; val4.teamIndex = TeamComponent.GetObjectTeam(val4.attacker); val4.attackerFiltering = (AttackerFiltering)2; val4.Fire(); } } component2.victims = new List<HealthComponent>(); } } }; <>c.<>9__8_0 = val2; obj = (object)val2; } GenericSkill.RestockSteplike += (hook_RestockSteplike)obj; } public void Thej() { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) GameObject val = LegacyResourcesAPI.Load<GameObject>("prefabs/characterbodies/EngiBody"); EngieJump = ScriptableObject.CreateInstance<SkillDef>(); EngieJump.activationState = new SerializableEntityStateType(typeof(Engiburst)); EngieJump.interruptPriority = (InterruptPriority)0; EngieJump.activationStateMachineName = "Weapon"; EngieJump.baseRechargeInterval = 10f; EngieJump.cancelSprintingOnActivation = true; EngieJump.canceledFromSprinting = false; EngieJump.isCombatSkill = true; EngieJump.icon = assetBundle.LoadAsset<Sprite>("unstableIcon.png"); CharacterAltSkill(val.GetComponent<SkillLocator>().utility, EngieJump, "Unstable Turrets", "Trade the exploding blast of Jury rigged turrets for an extremely powerful blast that will send you flying. <style=cDeath>Has no damage</style>"); } public void Splitshot() { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) GameObject val = LegacyResourcesAPI.Load<GameObject>("prefabs/characterbodies/HuntressBody"); SalvoDef = ScriptableObject.CreateInstance<SkillDef>(); SalvoDef.activationState = new SerializableEntityStateType(typeof(Splitter)); SalvoDef.interruptPriority = (InterruptPriority)0; SalvoDef.activationStateMachineName = "Weapon"; SalvoDef.baseRechargeInterval = 0f; SalvoDef.cancelSprintingOnActivation = false; SalvoDef.canceledFromSprinting = false; SalvoDef.isCombatSkill = true; SalvoDef.keywordTokens = new string[1] { "KEYWORD_AGILE" }; SalvoDef.icon = assetBundle.LoadAsset<Sprite>("salvoIcon.png"); CharacterAltSkill(val.GetComponent<SkillLocator>().primary, SalvoDef, "Salvo", "Shoot a volley of 3 close range arrows with high, uncontrollable spread for <style=cIsDamage>200%x3 damage</style>. Critical strikes cause the arrows to split in two"); } public void Death() { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: 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_00ac: Expected O, but got Unknown //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Expected O, but got Unknown //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) Agony = ScriptableObject.CreateInstance<BuffDef>(); Agony.isDebuff = true; Agony.canStack = false; Agony.iconSprite = assetBundle.LoadAsset<Sprite>("agonyBuff"); Agony.buffColor = Color32.op_Implicit(new Color32((byte)147, (byte)112, (byte)219, (byte)225)); ContentAddition.AddBuffDef(Agony); AgonySound = ScriptableObject.CreateInstance<NetworkSoundEventDef>(); AgonySound.eventName = "Play_acrid_shift_land"; ContentAddition.AddNetworkSoundEventDef(AgonySound); AcridComponent = ((Component)this).GetComponent<CrocoDamageTypeController>(); GlobalEventManager.OnHitEnemy += new hook_OnHitEnemy(GlobalEventManager_OnHitEnemy); GlobalEventManager.OnCharacterDeath += new hook_OnCharacterDeath(GlobalEventManager_OnCharacterDeath); GameObject val = LegacyResourcesAPI.Load<GameObject>("prefabs/characterbodies/crocobody"); OUAGGG = ScriptableObject.CreateInstance<SkillDef>(); OUAGGG.activationState = new SerializableEntityStateType(typeof(Misery)); OUAGGG.interruptPriority = (InterruptPriority)1; OUAGGG.activationStateMachineName = "Weapon"; OUAGGG.baseRechargeInterval = 10f; OUAGGG.cancelSprintingOnActivation = false; OUAGGG.canceledFromSprinting = true; OUAGGG.isCombatSkill = true; OUAGGG.icon = assetBundle.LoadAsset<Sprite>("agonyIcon.png"); OUAGGG.keywordTokens = new string[3] { "KEYWORD_POISON", "KEYWORD_TORMENTED", "KEYWORD_RAPID_REGEN" }; CharacterAltSkill(val.GetComponent<SkillLocator>().special, OUAGGG, "Scourge", "<style=cIsHealing>Poisonous.</style> <style=cDeath>Tormenting.</style> Release a large explosion of bile from yourself, doing <style=cIsDamage>200% damage</style>."); } private void GlobalEventManager_OnCharacterDeath(orig_OnCharacterDeath orig, GlobalEventManager self, DamageReport damageReport) { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Expected O, but got Unknown //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Expected O, but got Unknown //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, damageReport); CharacterBody victimBody = damageReport.victimBody; CharacterBody attackerBody = damageReport.attackerBody; float num = 15f; if (NetworkServer.active && Object.op_Implicit((Object)(object)victimBody) && Object.op_Implicit((Object)(object)attackerBody) && victimBody.HasBuff(Agony)) { Vector3 corePosition = victimBody.corePosition; EffectManager.SimpleSoundEffect(AgonySound.index, corePosition, true); EffectManager.SpawnEffect(Misery.Effect, new EffectData { scale = num, origin = corePosition }, true); BlastAttack val = new BlastAttack { radius = num, position = victimBody.transform.position, baseDamage = attackerBody.damage * 1.5f, procCoefficient = 0.5f, attacker = ((Component)attackerBody).gameObject, crit = Util.CheckRoll(attackerBody.crit, attackerBody.master), falloffModel = (FalloffModel)0, baseForce = 500f, attackerFiltering = (AttackerFiltering)2, damageColorIndex = (DamageColorIndex)5, damageType = DamageTypeCombo.GenericSpecial }; DamageAPI.AddModdedDamageType(val, acridBuffHandler); val.Fire(); attackerBody.AddTimedBuff(Buffs.CrocoRegen, 0.5f); } } private void GlobalEventManager_OnHitEnemy(orig_OnHitEnemy orig, GlobalEventManager self, DamageInfo damageInfo, GameObject victim) { //IL_0039: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, damageInfo, victim); if (damageInfo.procCoefficient != 0f && !damageInfo.rejected && NetworkServer.active && DamageAPI.HasModdedDamageType(damageInfo, acridBuffHandler)) { CharacterBody val = (Object.op_Implicit((Object)(object)victim) ? victim.GetComponent<CharacterBody>() : null); if (Object.op_Implicit((Object)(object)val)) { val.AddTimedBuff(Agony, 20f); } } } public void LanguageHandler() { LanguageAPI.Add("KEYWORD_TORMENTED", "<style=cKeywordName>Tormented</style> <style=cSub>Mark an enemy, causing them to explode for <style=cIsDamage>150% damage</style> in a 15 meter radius on death. Also applies <style=cIsHealing>Regenerative</style></style>"); } public void Huntresscriteffect() { pew = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load<GameObject>("prefabs/effects/tracers/tracerhuntresssnipe"), "huntercrit", false); GameObject gameObject = ((Component)pew.transform.Find("BeamObject")).gameObject; GameObject val = LegacyResourcesAPI.Load<GameObject>("prefabs/effects/orbeffects/FlurryArrowCritOrbEffect"); Material material = ((Renderer)((Component)val.transform.Find("TrailParent/Trail")).GetComponent<TrailRenderer>()).material; Material[] array = (Material[])(object)new Material[2] { default(Material), material }; RendererSetMaterialsExtension.SetSharedMaterials((Renderer)(object)gameObject.GetComponent<ParticleSystemRenderer>(), array, 2); ContentAddition.AddEffect(pew); } public void Engieeffect() { effect = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load<GameObject>("prefabs/effects/omnieffect/OmniExplosionVFXEngiTurretDeath"), "engiedetonate", false); EffectComponent component = effect.GetComponent<EffectComponent>(); component.applyScale = true; ContentAddition.AddEffect(effect); } public void LoadAssets() { assetBundle = AssetBundle.LoadFromFile(Assembly.GetExecutingAssembly().Location.Replace("Skillsfromthedeepend.dll", "sftde")); } public void Awake() { LoadAssets(); Untitled(); Fusillade(); OOOOOYEAHBROTHERRRRR(); Thej(); Engieeffect(); Splitshot(); Huntresscriteffect(); Death(); LanguageHandler(); } } public class Embeddeddets : BaseSkillState, IStepSetter { public static GameObject muzzleEffectPrefab; public static GameObject hitEffectPrefab; public static GameObject tracerEffectPrefab; public static float damageCoefficient = 0.75f; public static float force; public static float baseDuration = 0.2f; public static string firePistolSoundString; public static float recoilAmplitude = 1f; public static float spreadBloomValue = 0.3f; public static float commandoBoostBuffCoefficient = 0.4f; private int pistol; private Ray aimRay; private float duration; void IStepSetter.SetStep(int i) { pistol = i; } private void FireBullet(string targetMuzzle) { //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0087: 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_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Expected O, but got Unknown //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Expected O, but got Unknown Util.PlaySound(firePistolSoundString, ((EntityState)this).gameObject); if (Object.op_Implicit((Object)(object)muzzleEffectPrefab)) { EffectManager.SimpleMuzzleFlash(muzzleEffectPrefab, ((EntityState)this).gameObject, targetMuzzle, false); } ((BaseState)this).AddRecoil(-0.4f * recoilAmplitude, -0.8f * recoilAmplitude, -0.3f * recoilAmplitude, 0.3f * recoilAmplitude); if (((EntityState)this).isAuthority) { BulletAttack val = new BulletAttack { owner = ((EntityState)this).gameObject, weapon = ((EntityState)this).gameObject, origin = ((Ray)(ref aimRay)).origin, aimVector = ((Ray)(ref aimRay)).direction, minSpread = 0f, maxSpread = ((EntityState)this).characterBody.spreadBloomAngle, damage = damageCoefficient * ((BaseState)this).damageStat, force = force, tracerEffectPrefab = FirePistol2.tracerEffectPrefab, muzzleName = targetMuzzle, hitEffectPrefab = FirePistol2.hitEffectPrefab, isCrit = Util.CheckRoll(((BaseState)this).critStat, ((EntityState)this).characterBody.master), radius = 0.1f, smartCollision = true, damageType = DamageTypeCombo.GenericPrimary }; val.hitCallback = (HitCallback)delegate(BulletAttack bulletAttack, ref BulletHit info) { //IL_0049: Unknown result type (might be due to invalid IL or missing references) bool result = BulletAttack.defaultHitCallback.Invoke(bulletAttack, ref info); if (((EntityState)this).isAuthority) { HealthComponent val2 = (Object.op_Implicit((Object)(object)info.hitHurtBox) ? info.hitHurtBox.healthComponent : null); if (Object.op_Implicit((Object)(object)val2) && val2.alive && FriendlyFireManager.ShouldDirectHitProceed(val2, ((BaseState)this).GetTeam())) { EmbeddedDetsTracker component = ((EntityState)this).GetComponent<EmbeddedDetsTracker>(); if (Object.op_Implicit((Object)(object)component)) { component.victims.Add(val2); } } } return result; }; val.Fire(); } ((EntityState)this).characterBody.AddSpreadBloom(spreadBloomValue); } public override void OnEnter() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration = baseDuration / ((BaseState)this).attackSpeedStat; aimRay = ((BaseState)this).GetAimRay(); ((BaseState)this).StartAimMode(aimRay, 3f, false); if (pistol % 2 == 0) { ((EntityState)this).PlayAnimation("Gesture Additive, Left", "FirePistol, Left"); FireBullet("MuzzleLeft"); } else { ((EntityState)this).PlayAnimation("Gesture Additive, Right", "FirePistol, Right"); FireBullet("MuzzleRight"); } } public override void FixedUpdate() { //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Expected O, but got Unknown ((EntityState)this).FixedUpdate(); if (!(((EntityState)this).fixedAge < duration) && ((EntityState)this).isAuthority) { if (((BaseSkillState)this).activatorSkillSlot.stock < ((BaseSkillState)this).activatorSkillSlot.maxStock) { ((EntityState)this).outer.SetNextState((EntityState)new ReloadPistols()); } else { ((EntityState)this).outer.SetNextStateToMain(); } } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)2; } } public class EmbeddedDetsTracker : MonoBehaviour { public List<HealthComponent> victims = new List<HealthComponent>(); } public class EngiDisrupt : BaseState { public static GameObject explode = Deepend.effect; public GameObject effectPrefab; public static float baseDuration = 2f; private float duration; public static float damageCoefficient = 2.5f; public override void OnEnter() { //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0091: 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_0099: Invalid comparison between Unknown and I4 //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Expected O, but got Unknown //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_018d: 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_0199: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration = baseDuration / base.attackSpeedStat; CharacterBody characterBody = ((EntityState)this).characterBody; if (Object.op_Implicit((Object)(object)characterBody) && ((EntityState)this).isAuthority) { RefundTurrets(characterBody.master, ((EntityState)this).skillLocator); } if (!Object.op_Implicit((Object)(object)characterBody) || !NetworkServer.active) { return; } CharacterMaster master = characterBody.master; if (!Object.op_Implicit((Object)(object)master)) { return; } for (int i = 0; i < master.deployablesList.Count; i++) { DeployableInfo val = master.deployablesList[i]; if ((int)val.slot != 1) { continue; } CharacterMaster component = ((Component)val.deployable).gameObject.GetComponent<CharacterMaster>(); if (Object.op_Implicit((Object)(object)component)) { if (Object.op_Implicit((Object)(object)component.GetBody())) { Vector3 corePosition = component.GetBody().corePosition; EffectManager.SpawnEffect(explode, new EffectData { origin = corePosition, scale = CountDown.explosionRadius }, true); new BlastAttack { position = corePosition + Random.onUnitSphere, radius = CountDown.explosionRadius, falloffModel = (FalloffModel)0, attacker = ((EntityState)this).gameObject, baseDamage = component.GetBody().healthComponent.fullCombinedHealth * damageCoefficient, baseForce = 5000f, bonusForce = Vector3.zero, attackerFiltering = (AttackerFiltering)2, crit = ((BaseState)this).RollCrit(), procChainMask = default(ProcChainMask), procCoefficient = 1f, teamIndex = ((EntityState)this).teamComponent.teamIndex, damageType = DamageTypeCombo.GenericUtility }.Fire(); } component.TrueKill(); } } } public override void OnExit() { ((EntityState)this).OnExit(); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } public static void RefundTurrets(CharacterMaster owner, SkillLocator skillLocator) { if (!Object.op_Implicit((Object)(object)owner) || !Object.op_Implicit((Object)(object)skillLocator) || !Object.op_Implicit((Object)(object)skillLocator.special)) { return; } foreach (CharacterMaster readOnlyInstances in CharacterMaster.readOnlyInstancesList) { if (Object.op_Implicit((Object)(object)readOnlyInstances.minionOwnership) && (Object)(object)readOnlyInstances.minionOwnership.ownerMaster == (Object)(object)owner && Object.op_Implicit((Object)(object)((Component)readOnlyInstances).GetComponent<Deployable>())) { skillLocator.special.ApplyAmmoPack(); } } } } public class NoAim : BaseSkillState { public static GameObject hunter = Deepend.pew; public static GameObject muzzleEffectPrefab = LegacyResourcesAPI.Load<GameObject>("prefabs/effects/muzzleflashes/MuzzleflashHuntress"); public static GameObject hitEffectPrefab = LegacyResourcesAPI.Load<GameObject>("prefabs/effects/omnieffect/OmniImpactVFXBrotherLunarShardExplosion"); public static float damageCoefficient = 3.75f; public static float force = 650f; public static float baseDuration = 0.55f; public static string firePistolSoundString = "Play_huntress_m1_shoot"; public static float recoilAmplitude = 50f; public static float spreadBloomValue = 0.5f; private Ray aimRay; private float duration; private void FireBullet(string targetMuzzle) { //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0087: 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_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) Util.PlaySound(firePistolSoundString, ((EntityState)this).gameObject); if (Object.op_Implicit((Object)(object)muzzleEffectPrefab)) { EffectManager.SimpleMuzzleFlash(muzzleEffectPrefab, ((EntityState)this).gameObject, targetMuzzle, false); } ((BaseState)this).AddRecoil(-0.4f * recoilAmplitude, -0.8f * recoilAmplitude, -0.3f * recoilAmplitude, 0.3f * recoilAmplitude); if (((EntityState)this).isAuthority) { new BulletAttack { owner = ((EntityState)this).gameObject, weapon = ((EntityState)this).gameObject, origin = ((Ray)(ref aimRay)).origin, aimVector = ((Ray)(ref aimRay)).direction, minSpread = 0f, maxSpread = ((EntityState)this).characterBody.spreadBloomAngle, damage = damageCoefficient * ((BaseState)this).damageStat, force = force, tracerEffectPrefab = LegacyResourcesAPI.Load<GameObject>("prefabs/effects/tracers/tracerhuntresssnipe"), muzzleName = targetMuzzle, hitEffectPrefab = hitEffectPrefab, isCrit = Util.CheckRoll(((BaseState)this).critStat, ((EntityState)this).characterBody.master), radius = 0.2f, smartCollision = true, damageType = DamageTypeCombo.GenericPrimary, falloffModel = (FalloffModel)0, stopperMask = ((LayerIndex)(ref LayerIndex.world)).mask }.Fire(); } ((EntityState)this).characterBody.AddSpreadBloom(spreadBloomValue); } public override void OnEnter() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration = baseDuration / ((BaseState)this).attackSpeedStat; aimRay = ((BaseState)this).GetAimRay(); ((BaseState)this).StartAimMode(aimRay, 3f, false); ((EntityState)this).PlayCrossfade("Gesture, Override", "FireSeekingShot", "FireSeekingShot.playbackRate", duration, duration * 0.2f / ((BaseState)this).attackSpeedStat); ((EntityState)this).PlayCrossfade("Gesture, Additive", "FireSeekingShot", "FireSeekingShot.playbackRate", duration, duration * 0.2f / ((BaseState)this).attackSpeedStat); FireBullet("Muzzle"); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (!(((EntityState)this).fixedAge < duration) && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } } internal static class Log { internal static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void LogDebug(object data) { _logSource.LogDebug(data); } internal static void LogError(object data) { _logSource.LogError(data); } internal static void LogFatal(object data) { _logSource.LogFatal(data); } internal static void LogInfo(object data) { _logSource.LogInfo(data); } internal static void LogMessage(object data) { _logSource.LogMessage(data); } internal static void LogWarning(object data) { _logSource.LogWarning(data); } } internal class Misery : BaseSkillState { public static float Duration = 0.3f; public CrocoDamageTypeController AcridComponent; public Vector3 CorePosition; public static GameObject Effect = Resources.Load<GameObject>("prefabs/effects/impacteffects/CrocoLeapExplosion"); public static float Radius = 20f; public static float DamageCoefficent = 2f; public static float NormalForce = 1000f; public override void OnEnter() { //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) ((BaseState)this).OnEnter(); CharacterBody characterBody = ((EntityState)this).characterBody; AcridComponent = ((EntityState)this).GetComponent<CrocoDamageTypeController>(); CorePosition = characterBody.corePosition; AcridCryAboutit(); } public void AcridCryAboutit() { //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Expected O, but got Unknown //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: 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_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Expected O, but got Unknown //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) Util.PlaySound("Play_acrid_shift_land", ((EntityState)this).gameObject); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { DamageType val = (DamageType)(Object.op_Implicit((Object)(object)AcridComponent) ? ((int)DamageTypeCombo.op_Implicit(AcridComponent.GetDamageType())) : 0); EffectManager.SpawnEffect(Effect, new EffectData { scale = Radius, origin = CorePosition }, true); BlastAttack val2 = new BlastAttack { position = CorePosition, radius = Radius, falloffModel = (FalloffModel)0, attacker = ((EntityState)this).gameObject, baseDamage = DamageCoefficent * ((EntityState)this).characterBody.damage, baseForce = NormalForce, bonusForce = Vector3.zero, attackerFiltering = (AttackerFiltering)2, crit = ((BaseState)this).RollCrit(), procChainMask = default(ProcChainMask), procCoefficient = 1f, teamIndex = ((EntityState)this).teamComponent.teamIndex, damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit(val), (DamageTypeExtended)0, (DamageSource)8), damageColorIndex = (DamageColorIndex)4 }; DamageAPI.AddModdedDamageType(val2, Deepend.acridBuffHandler); val2.Fire(); } } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).isAuthority && ((EntityState)this).fixedAge >= Duration) { ((EntityState)this).outer.SetNextStateToMain(); } } } public class Splitter : BaseSkillState { public static GameObject tracerEffectPrefab; public static GameObject muzzleEffectPrefab = LegacyResourcesAPI.Load<GameObject>("prefabs/effects/muzzleflashes/MuzzleflashHuntress"); public static GameObject hitEffectPrefab = LegacyResourcesAPI.Load<GameObject>("prefabs/effects/omnieffect/OmniImpactVFXBrotherLunarShardExplosion"); public static float damageCoefficient = 2f; public static float force = 650f; public static float baseDuration = 0.9f; public static string firePistolSoundString = "Play_huntress_m1_shoot"; public static float recoilAmplitude = 6f; public static float spreadBloomValue = 0.5f; private Ray aimRay; private float duration; public uint Bulletcount; public bool IsCrit; private void FireBullet(string targetMuzzle) { //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_013c: 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_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Unknown result type (might be due to invalid IL or missing references) Util.PlaySound(firePistolSoundString, ((EntityState)this).gameObject); if (Object.op_Implicit((Object)(object)muzzleEffectPrefab)) { EffectManager.SimpleMuzzleFlash(muzzleEffectPrefab, ((EntityState)this).gameObject, targetMuzzle, false); } ((BaseState)this).AddRecoil(-0.4f * recoilAmplitude, -0.8f * recoilAmplitude, -0.3f * recoilAmplitude, 0.3f * recoilAmplitude); if (((EntityState)this).isAuthority) { IsCrit = Util.CheckRoll(((BaseState)this).critStat, ((EntityState)this).characterBody.master); if (IsCrit) { Bulletcount = 6u; tracerEffectPrefab = Deepend.pew; } else { Bulletcount = 3u; tracerEffectPrefab = LegacyResourcesAPI.Load<GameObject>("prefabs/effects/tracers/tracerhuntresssnipe"); } new BulletAttack { owner = ((EntityState)this).gameObject, weapon = ((EntityState)this).gameObject, origin = ((Ray)(ref aimRay)).origin, aimVector = ((Ray)(ref aimRay)).direction, minSpread = 3f, maxSpread = 3f, damage = damageCoefficient * ((BaseState)this).damageStat, force = force, muzzleName = targetMuzzle, hitEffectPrefab = hitEffectPrefab, radius = 0.2f, smartCollision = true, damageType = DamageTypeCombo.GenericPrimary, falloffModel = (FalloffModel)1, bulletCount = Bulletcount, isCrit = IsCrit, spreadPitchScale = 0f, spreadYawScale = 2f, tracerEffectPrefab = tracerEffectPrefab }.Fire(); } } public override void OnEnter() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration = baseDuration / ((BaseState)this).attackSpeedStat; aimRay = ((BaseState)this).GetAimRay(); ((BaseState)this).StartAimMode(aimRay, 3f, false); ((EntityState)this).PlayCrossfade("Gesture, Override", "FireSeekingShot", "FireSeekingShot.playbackRate", duration, duration * 0.2f / ((BaseState)this).attackSpeedStat); ((EntityState)this).PlayCrossfade("Gesture, Additive", "FireSeekingShot", "FireSeekingShot.playbackRate", duration, duration * 0.2f / ((BaseState)this).attackSpeedStat); FireBullet("Muzzle"); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); ((EntityState)this).characterBody.SetSpreadBloom(0f, true); if (!(((EntityState)this).fixedAge < duration) && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } } public class Engiburst : BaseState { public static GameObject explode = Deepend.effect; public GameObject effectPrefab; public static float baseDuration = 2f; private float duration; public static float damageCoefficient = 2.5f; public override void OnEnter() { //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0091: 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_0099: Invalid comparison between Unknown and I4 //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Expected O, but got Unknown //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration = EngiDisrupt.baseDuration / base.attackSpeedStat; CharacterBody characterBody = ((EntityState)this).characterBody; if (Object.op_Implicit((Object)(object)characterBody) && ((EntityState)this).isAuthority) { EngiDisrupt.RefundTurrets(characterBody.master, ((EntityState)this).skillLocator); } if (!Object.op_Implicit((Object)(object)characterBody) || !NetworkServer.active) { return; } CharacterMaster master = characterBody.master; if (!Object.op_Implicit((Object)(object)master)) { return; } for (int i = 0; i < master.deployablesList.Count; i++) { DeployableInfo val = master.deployablesList[i]; if ((int)val.slot != 1) { continue; } CharacterMaster component = ((Component)val.deployable).gameObject.GetComponent<CharacterMaster>(); if (Object.op_Implicit((Object)(object)component)) { if (Object.op_Implicit((Object)(object)component.GetBody())) { Vector3 corePosition = component.GetBody().corePosition; EffectManager.SpawnEffect(explode, new EffectData { origin = corePosition, scale = CountDown.explosionRadius }, true); characterBody.AddTimedBuff(Buffs.ArmorBoost, 5f); new BlastAttack { position = corePosition + Random.onUnitSphere, radius = CountDown.explosionRadius, falloffModel = (FalloffModel)0, attacker = ((EntityState)this).gameObject, baseDamage = 0f, baseForce = 8000f, bonusForce = Vector3.up * 5f, crit = ((BaseState)this).RollCrit(), attackerFiltering = (AttackerFiltering)1, procChainMask = default(ProcChainMask), procCoefficient = 0f, teamIndex = ((EntityState)this).teamComponent.teamIndex, damageType = DamageTypeCombo.GenericUtility }.Fire(); } component.TrueKill(); } } } public override void OnExit() { ((EntityState)this).OnExit(); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } } internal class SFTDEContentProvider : IContentPackProvider { [CompilerGenerated] private static class <>O { public static CollectContentPackProvidersDelegate <0>__AddCustomContent; } public static ContentPack contentPack = new ContentPack(); public string identifier => "SFTDE"; public static void AddCustomContent(AddContentPackProviderDelegate addContentPackProvider) { addContentPackProvider.Invoke((IContentPackProvider)(object)new SFTDEContentProvider()); } public IEnumerator FinalizeAsync(FinalizeAsyncArgs args) { args.ReportProgress(1f); yield break; } public IEnumerator GenerateContentPackAsync(GetContentPackAsyncArgs args) { ContentPack.Copy(contentPack, args.output); args.ReportProgress(1f); yield break; } public IEnumerator LoadStaticContentAsync(LoadStaticContentAsyncArgs args) { args.ReportProgress(1f); yield break; } public static void SFTDEContent() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown object obj = <>O.<0>__AddCustomContent; if (obj == null) { CollectContentPackProvidersDelegate val = AddCustomContent; <>O.<0>__AddCustomContent = val; obj = (object)val; } ContentManager.collectContentPackProviders += (CollectContentPackProvidersDelegate)obj; contentPack.skillDefs.Add((SkillDef[])(object)new SkillDef[6] { Deepend.FusilladeDef, Deepend.SalvoDef, Deepend.EngieExplode, Deepend.EngieJump, (SkillDef)Deepend.DetsDef, Deepend.OUAGGG }); } } internal class TWITTER { } } namespace Skillsfromthedeepend.Properties { [GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] [DebuggerNonUserCode] [CompilerGenerated] internal class Resources { private static ResourceManager resourceMan; private static CultureInfo resourceCulture; [EditorBrowsable(EditorBrowsableState.Advanced)] internal static ResourceManager ResourceManager { get { if (resourceMan == null) { ResourceManager resourceManager = new ResourceManager("Skillsfromthedeepend.Properties.Resources", typeof(Resources).Assembly); resourceMan = resourceManager; } return resourceMan; } } [EditorBrowsable(EditorBrowsableState.Advanced)] internal static CultureInfo Culture { get { return resourceCulture; } set { resourceCulture = value; } } internal static byte[] EmDet { get { object obj = ResourceManager.GetObject("EmDet", resourceCulture); return (byte[])obj; } } internal static byte[] Fusillade128_2 { get { object obj = ResourceManager.GetObject("Fusillade128_2", resourceCulture); return (byte[])obj; } } internal static byte[] Greener { get { object obj = ResourceManager.GetObject("Greener", resourceCulture); return (byte[])obj; } } internal static byte[] image { get { object obj = ResourceManager.GetObject("image", resourceCulture); return (byte[])obj; } } internal static byte[] Volley { get { object obj = ResourceManager.GetObject("Volley", resourceCulture); return (byte[])obj; } } internal Resources() { } } }