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 Marian v1.2.8
MarianMod.dll
Decompiled a year ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using EntityStates; using EntityStates.Commando; using EntityStates.Commando.CommandoWeapon; using EntityStates.Engi.EngiMissilePainter; using EntityStates.Engi.EngiWeapon; using EntityStates.EngiTurret.EngiTurretWeapon; using EntityStates.GolemMonster; using HG; using HG.BlendableTypes; using KinematicCharacterController; using MarianMod.Achievements; using MarianMod.Modules; using MarianMod.Modules.Characters; using MarianMod.Modules.CustomScripts; using MarianMod.Modules.Survivors; using MarianMod.SkillStates; using MarianMod.SkillStates.BaseStates; using On.RoR2; using R2API; using R2API.Utils; using RoR2; using RoR2.Achievements; using RoR2.Audio; using RoR2.ContentManagement; using RoR2.Projectile; using RoR2.Skills; using RoR2.UI; using UnityEngine; using UnityEngine.Networking; using UnityEngine.Rendering; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = "")] [assembly: AssemblyCompany("MarianMod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("MarianMod")] [assembly: AssemblyTitle("MarianMod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: UnverifiableCode] namespace MarianMod { internal static class Log { internal static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void Debug(object data) { _logSource.LogDebug(data); } internal static void Error(object data) { _logSource.LogError(data); } internal static void Fatal(object data) { _logSource.LogFatal(data); } internal static void Info(object data) { _logSource.LogInfo(data); } internal static void Message(object data) { _logSource.LogMessage(data); } internal static void Warning(object data) { _logSource.LogWarning(data); } } [BepInDependency(/*Could not decode attribute arguments.*/)] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.uninvitedcalamity.MarianMod", "UninvitedCalamity_MarianMod", "1.2.8")] [BepInDependency(/*Could not decode attribute arguments.*/)] [R2APISubmoduleDependency(new string[] { "PrefabAPI", "LanguageAPI", "SoundAPI", "UnlockableAPI" })] public class MarianPlugin : BaseUnityPlugin { public const string MODUID = "com.uninvitedcalamity.MarianMod"; public const string MODNAME = "UninvitedCalamity_MarianMod"; public const string MODVERSION = "1.2.8"; public const string DEVELOPER_PREFIX = "UninvitedCalamity"; public static MarianPlugin instance; private int DisplaysEnabled = 1; private static ConfigFile CustomConfigFile { get; set; } public static ConfigEntry<int> MyConfigEntry { get; set; } public static ConfigEntry<int> MySecondConfigEntry { get; set; } private void Awake() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown CustomConfigFile = new ConfigFile(Paths.ConfigPath + "\\com-uninvitedCalamity-Marian.cfg", true); MyConfigEntry = CustomConfigFile.Bind<int>("ColourBlindness Section", "ColourBlindMode, default 0: set to 1 for Red-Green Blindness, 2 for Blue-Yellow Blindness", 0, "1 for Red-Green Blindness, 2 for Blue-Yellow Blindness"); MyConfigEntry = CustomConfigFile.Bind<int>("DisplaySection", "DisplayItems, default 1: Set to 1 for True, 0 for False", 1, "Set to 1 for True, 0 for False"); if (Chainloader.PluginInfos.ContainsKey("com.johnedwa.RTAutoSprintEx")) { ((Component)this).SendMessage("RT_SprintDisableMessage", (object)"MarianMod.SkillStates.PrimaryFire"); ((Component)this).SendMessage("RT_SprintDisableMessage", (object)"MarianMod.SkillStates.MarianFlare"); } instance = this; Log.Init(((BaseUnityPlugin)this).Logger); Assets.Initialize(); Config.ReadConfig(); States.RegisterStates(); Buffs.RegisterBuffs(); Projectiles.RegisterProjectiles(); Tokens.AddTokens(); ItemDisplays.PopulateDisplays(); new MyMarian().Initialize(); new ContentPacks().Initialize(); Hook(); } private void Hook() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown CharacterBody.RecalculateStats += new hook_RecalculateStats(CharacterBody_RecalculateStats); } private void CharacterBody_RecalculateStats(orig_RecalculateStats orig, CharacterBody self) { orig.Invoke(self); if (!Object.op_Implicit((Object)(object)self)) { } } } } namespace MarianMod.SkillStates { public class Roll : BaseSkillState { public static float duration = 0.5f; public static float initialSpeedCoefficient = 5f; public static float finalSpeedCoefficient = 2.5f; public static string dodgeSoundString = "MarianRoll"; public static float dodgeFOV = DodgeState.dodgeFOV; private float rollSpeed; private Vector3 forwardDirection; private Animator animator; private Vector3 previousPosition; public override void OnEnter() { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0098: 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_0069: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_013e: 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_014e: 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) ((BaseState)this).OnEnter(); animator = ((EntityState)this).GetModelAnimator(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).inputBank) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { Vector3 val = ((((EntityState)this).inputBank.moveVector == Vector3.zero) ? ((EntityState)this).characterDirection.forward : ((EntityState)this).inputBank.moveVector); forwardDirection = ((Vector3)(ref val)).normalized; } Vector3 val2 = (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection) ? ((EntityState)this).characterDirection.forward : forwardDirection); Vector3 val3 = Vector3.Cross(Vector3.up, val2); float num = Vector3.Dot(forwardDirection, val2); float num2 = Vector3.Dot(forwardDirection, val3); RecalculateRollSpeed(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity.y = 0f; ((EntityState)this).characterMotor.velocity = forwardDirection * rollSpeed; } Vector3 val4 = (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) ? ((EntityState)this).characterMotor.velocity : Vector3.zero); previousPosition = ((EntityState)this).transform.position - val4; ((EntityState)this).PlayAnimation("FullBody, Override", "Roll", "Roll.playbackRate", duration, 0f); Util.PlaySound(dodgeSoundString, ((EntityState)this).gameObject); if (NetworkServer.active) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.MissileBuff, 3f * duration); ((EntityState)this).characterBody.AddTimedBuff(Buffs.HiddenInvincibility, 0.5f * duration); } } private void RecalculateRollSpeed() { rollSpeed = ((BaseState)this).moveSpeedStat * Mathf.Lerp(initialSpeedCoefficient, finalSpeedCoefficient, ((EntityState)this).fixedAge / duration); } public override void FixedUpdate() { //IL_0025: 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_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: 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_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); RecalculateRollSpeed(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.forward = forwardDirection; } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { ((EntityState)this).cameraTargetParams.fovOverride = Mathf.Lerp(dodgeFOV, 60f, ((EntityState)this).fixedAge / duration); } Vector3 val = ((EntityState)this).transform.position - previousPosition; Vector3 normalized = ((Vector3)(ref val)).normalized; if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection) && normalized != Vector3.zero) { Vector3 val2 = normalized * rollSpeed; float num = Mathf.Max(Vector3.Dot(val2, forwardDirection), 0f); val2 = forwardDirection * num; val2.y = 0f; ((EntityState)this).characterMotor.velocity = val2; } previousPosition = ((EntityState)this).transform.position; if (((EntityState)this).isAuthority && ((EntityState)this).fixedAge >= duration) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { ((EntityState)this).cameraTargetParams.fovOverride = -1f; } ((EntityState)this).OnExit(); ((EntityState)this).characterMotor.disableAirControlUntilCollision = false; } public override void OnSerialize(NetworkWriter writer) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnSerialize(writer); writer.Write(forwardDirection); } public override void OnDeserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnDeserialize(reader); forwardDirection = reader.ReadVector3(); } } public class Shoot : BaseSkillState { public static float damageCoefficient = 4.2f; public static float procCoefficient = 1f; public static float baseDuration = 0.6f; public static float force = 800f; public static float recoil = 3f; public static float range = 256f; public static GameObject tracerEffectPrefab = LegacyResourcesAPI.Load<GameObject>("Prefabs/Effects/Tracers/TracerGoldGat"); private float duration; private float fireTime; private bool hasFired; private string muzzleString; public override void OnEnter() { ((BaseState)this).OnEnter(); duration = baseDuration / ((BaseState)this).attackSpeedStat; fireTime = 0.2f * duration; ((EntityState)this).characterBody.SetAimTimer(2f); muzzleString = "Muzzle"; ((EntityState)this).PlayAnimation("LeftArm, Override", "ShootGun", "ShootGun.playbackRate", 1.8f, 0f); } public override void OnExit() { ((EntityState)this).OnExit(); } private void Fire() { //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: 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_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_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_00d4: 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_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_011b: 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_0132: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_014a: 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_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_0173: 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_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018c: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) if (!hasFired) { hasFired = true; ((EntityState)this).characterBody.AddSpreadBloom(1.5f); EffectManager.SimpleMuzzleFlash(FirePistol2.muzzleEffectPrefab, ((EntityState)this).gameObject, muzzleString, false); Util.PlaySound("MarianShootPistol", ((EntityState)this).gameObject); if (((EntityState)this).isAuthority) { Ray aimRay = ((BaseState)this).GetAimRay(); ((BaseState)this).AddRecoil(-1f * recoil, -2f * recoil, -0.5f * recoil, 0.5f * recoil); new BulletAttack { bulletCount = 1u, aimVector = ((Ray)(ref aimRay)).direction, origin = ((Ray)(ref aimRay)).origin, damage = damageCoefficient * ((BaseState)this).damageStat, damageColorIndex = (DamageColorIndex)0, damageType = DamageTypeCombo.op_Implicit((DamageType)0), falloffModel = (FalloffModel)1, maxDistance = range, force = force, hitMask = CommonMasks.bullet, minSpread = 0f, maxSpread = 0f, isCrit = ((BaseState)this).RollCrit(), owner = ((EntityState)this).gameObject, muzzleName = muzzleString, smartCollision = false, procChainMask = default(ProcChainMask), procCoefficient = procCoefficient, radius = 0.75f, sniper = false, stopperMask = CommonMasks.bullet, weapon = null, tracerEffectPrefab = tracerEffectPrefab, spreadPitchScale = 0f, spreadYawScale = 0f, queryTriggerInteraction = (QueryTriggerInteraction)0, hitEffectPrefab = FirePistol2.hitEffectPrefab }.Fire(); } } } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge >= fireTime) { Fire(); } if (((EntityState)this).fixedAge >= duration && ((EntityState)this).isAuthority) { ((EntityState)this).outer.SetNextStateToMain(); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)2; } } public class SlashCombo : BaseMeleeAttack { public override void OnEnter() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) hitboxName = "Sword"; damageType = (DamageType)0; damageCoefficient = 2.8f; procCoefficient = 1f; pushForce = 300f; bonusForce = Vector3.zero; baseDuration = 1f; attackStartTime = 0.2f; attackEndTime = 0.4f; baseEarlyExitTime = 0.4f; hitStopDuration = 0.012f; attackRecoil = 0.5f; hitHopVelocity = 4f; swingSoundString = "MarianSwordSwing"; hitSoundString = ""; muzzleString = ((swingIndex % 2 == 0) ? "SwingLeft" : "SwingRight"); swingEffectPrefab = Assets.swordSwingEffect; hitEffectPrefab = Assets.swordHitImpactEffect; impactSound = Assets.swordHitSoundEvent.index; base.OnEnter(); } protected override void PlayAttackAnimation() { base.PlayAttackAnimation(); } protected override void PlaySwingEffect() { base.PlaySwingEffect(); } protected override void OnHitEnemyAuthority() { base.OnHitEnemyAuthority(); } protected override void SetNextState() { int num = ((swingIndex == 0) ? 1 : 0); ((EntityState)this).outer.SetNextState((EntityState)(object)new SlashCombo { swingIndex = num }); } public override void OnExit() { base.OnExit(); } } internal class EverGreen_PierceScatter : BaseSkillState { public Ray modifiedAimRay; public float duration = 0.3f; public float distanceTrack = 0f; public int tick; public List<HealthComponent> Friends = new List<HealthComponent>(); public int healCount; public float windup; private Animator animator; private Transform modelTransform; private ChildLocator locator; private float healStore; private bool hasHealed = false; private HealthComponent PreviousVictim = null; private HealthComponent CurrentVictim = null; private GenericSkill overriddenSkill; private SkillDef primaryOverride; public bool hasfired = false; private float currentCount = 0f; public override void OnEnter() { ((BaseState)this).OnEnter(); tick = 0; duration /= ((BaseState)this).attackSpeedStat; windup = duration * 0.25f; ((EntityState)this).characterBody.SetAimTimer(2f); animator = ((EntityState)this).GetModelAnimator(); modelTransform = ((EntityState)this).GetModelTransform(); locator = ((Component)modelTransform).GetComponent<ChildLocator>(); float num = 1f / windup * ((BaseState)this).attackSpeedStat; animator.SetFloat("Firerate", num); ((EntityState)this).PlayAnimation("Gesture, Override", "ShootGun", "Firerate", windup, 0f); } public void recoil() { Log.Debug(duration - windup); float num = 1f / (duration - windup) * ((BaseState)this).attackSpeedStat; animator.SetFloat("Firerate", num); ((EntityState)this).PlayAnimation("Gesture, Override", "BowFire", "Firerate", duration - windup, 0f); } public Vector3 Fire(Vector3 input, float distance, Vector3 Direction) { //IL_0003: 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_0013: 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_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0088: 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: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: 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_00c2: 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_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_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_0137: 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_0148: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_018c: 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_019c: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_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_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_020d: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Unknown result type (might be due to invalid IL or missing references) //IL_0235: Unknown result type (might be due to invalid IL or missing references) //IL_0236: 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_0252: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) modifiedAimRay = ((BaseState)this).GetAimRay(); ((Ray)(ref modifiedAimRay)).origin = input; ((Ray)(ref modifiedAimRay)).direction = Direction; Vector3 zero = Vector3.zero; Transform val = ((EntityState)this).GetModelTransform(); string text = "MuzzleLaser"; ((EntityState)this).PlayAnimation("Gesture", "FireLaser", "FireLaser.playbackRate", duration, 0f); if (Object.op_Implicit((Object)(object)FireLaser.effectPrefab)) { EffectManager.SimpleMuzzleFlash(FireLaser.effectPrefab, ((EntityState)this).gameObject, text, false); } Vector3 val2 = ((Ray)(ref modifiedAimRay)).origin + ((Ray)(ref modifiedAimRay)).direction * distance; RaycastHit val3 = default(RaycastHit); if (Physics.Raycast(modifiedAimRay, ref val3, distance, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.defaultLayer)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask))) { val2 = ((RaycastHit)(ref val3)).point; distanceTrack = distance - ((RaycastHit)(ref val3)).distance; PreviousVictim = CurrentVictim; CurrentVictim = ((Component)((RaycastHit)(ref val3)).collider).GetComponent<HealthComponent>(); } else { CurrentVictim = null; distanceTrack = distance - distance; } zero = val2; new BlastAttack { attacker = ((EntityState)this).gameObject, inflictor = ((EntityState)this).gameObject, teamIndex = TeamComponent.GetObjectTeam(((EntityState)this).gameObject), baseDamage = ((BaseState)this).damageStat * 10f * healStore, baseForce = 0.1f, position = val2, radius = 3f, falloffModel = (FalloffModel)2, bonusForce = 0.5f * ((Ray)(ref modifiedAimRay)).direction, damageType = DamageTypeCombo.op_Implicit((DamageType)1048576) }.Fire(); Vector3 origin = ((Ray)(ref modifiedAimRay)).origin; string[] obj = new string[6] { "Output = ", null, null, null, null, null }; Vector3 val4 = zero; obj[1] = ((object)(Vector3)(ref val4)).ToString(); obj[2] = " BasAimARay = "; Ray aimRay = ((BaseState)this).GetAimRay(); val4 = ((Ray)(ref aimRay)).origin; obj[3] = ((object)(Vector3)(ref val4)).ToString(); obj[4] = " Input = "; val4 = input; obj[5] = ((object)(Vector3)(ref val4)).ToString(); Log.Debug(string.Concat(obj)); return zero; } public void Fire() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_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_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_0080: 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_0088: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0107: 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_0118: 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_0121: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: 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_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_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_016d: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_0232: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_02ef: Unknown result type (might be due to invalid IL or missing references) //IL_02f7: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Expected O, but got Unknown float num = 0.2f; if (currentCount == 0f) { num = 0f; } Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 val = ((EntityState)this).gameObject.transform.position; val += ((Ray)(ref aimRay)).direction; val += new Vector3(Random.Range(0f - num, num), Random.Range(0f - num, num), Random.Range(0f - num, num)); val -= ((EntityState)this).gameObject.transform.position; val = ((Vector3)(ref val)).normalized; float distance = 40f; Log.Debug("Start-----------------------------------------"); Ray aimRay2 = ((BaseState)this).GetAimRay(); Vector3 val2 = ((Ray)(ref aimRay2)).direction; Vector3 normalized = ((Vector3)(ref val2)).normalized; aimRay2 = ((BaseState)this).GetAimRay(); Vector3 val3 = Fire(((Ray)(ref aimRay2)).origin, distance, val); val2 = val3; Log.Debug("Returned Origin = " + ((object)(Vector3)(ref val2)).ToString()); if (distanceTrack > 0f) { val3 = Fire(val3 + normalized, distanceTrack, val); val2 = val3; Log.Debug("Returned Origin = " + ((object)(Vector3)(ref val2)).ToString()); } if (distanceTrack > 0f) { val3 = Fire(val3 + normalized, distanceTrack, val); val2 = val3; Log.Debug("Returned Origin = " + ((object)(Vector3)(ref val2)).ToString()); } aimRay2 = ((BaseState)this).GetAimRay(); distance = Vector3.Distance(((Ray)(ref aimRay2)).origin, val3); modifiedAimRay = ((BaseState)this).GetAimRay(); ((Ray)(ref modifiedAimRay)).direction = val; Vector3 zero = Vector3.zero; Transform val4 = ((EntityState)this).GetModelTransform(); string text = "MuzzleLaser"; ((EntityState)this).PlayAnimation("Gesture", "FireLaser", "FireLaser.playbackRate", duration, 0f); if (Object.op_Implicit((Object)(object)FireLaser.effectPrefab)) { EffectManager.SimpleMuzzleFlash(FireLaser.effectPrefab, ((EntityState)this).gameObject, text, false); } float num2 = distance; Vector3 val5 = ((Ray)(ref modifiedAimRay)).origin + ((Ray)(ref modifiedAimRay)).direction * num2; RaycastHit val6 = default(RaycastHit); if (Physics.Raycast(modifiedAimRay, ref val6, num2, 0)) { val5 = ((RaycastHit)(ref val6)).point; distanceTrack = distance - ((RaycastHit)(ref val6)).distance; PreviousVictim = CurrentVictim; CurrentVictim = ((Component)((RaycastHit)(ref val6)).collider).GetComponent<HealthComponent>(); } else { CurrentVictim = null; distanceTrack = distance - num2; } zero = val5; if (Object.op_Implicit((Object)(object)val4)) { ChildLocator component = ((Component)val4).GetComponent<ChildLocator>(); if (Object.op_Implicit((Object)(object)component)) { int num3 = component.FindChildIndex(text); if (Object.op_Implicit((Object)(object)FireLaser.tracerEffectPrefab)) { EffectData val7 = new EffectData { origin = val5, start = ((Ray)(ref modifiedAimRay)).origin }; val7.SetChildLocatorTransformReference(((EntityState)this).gameObject, num3); EffectManager.SpawnEffect(FireLaser.tracerEffectPrefab, val7, true); EffectManager.SpawnEffect(FireLaser.hitEffectPrefab, val7, true); } } } Log.Debug("End------------------------------------------"); currentCount += 1f; } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).isAuthority && !hasfired) { if (currentCount <= 5f) { Fire(); } else if (!hasfired) { hasfired = true; Util.PlaySound(FireLaser.attackSoundString, ((EntityState)this).gameObject); } recoil(); } if (((EntityState)this).fixedAge >= duration && hasfired) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { animator.SetBool("DrawBow", false); ((EntityState)this).OnExit(); } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)3; } } internal class GrappleSwitch : BaseSkillState { public GenericSkill overriddenSkill; public SkillDef primaryOverride; public float duration = 0.3f; public float windup; private bool m1Pressed = false; private bool skill3Released = false; public static GameObject crosshairOverridePrefab; private OverrideRequest crosshairOverrideRequest; private OverrideRequest crosshairOverrideRequestSprint; private Ray BaseRay; public Transform Target; private Vector3 HitPoint = new Vector3(0f, 0f, 0f); private static Vector3 Largest = new Vector3(0.005f, 0.005f, 0.005f); private Vector3 Smallest = Largest / 3.25f; private GameObject Camera; private float Size = 0f; private const float scale = 0.25f; private Vector3 BaseScale = new Vector3(0.25f, 0.25f, 0.25f); private bool shrink = false; private Color defaultClose = Color.HSVToRGB(0.3f, 1f, 0.85f); private Color defaultFar = Color.HSVToRGB(0f, 1f, 2f); private bool outOfRange = false; private bool LowerGun = false; private bool Inbounds = false; private bool animating = false; private bool skill3released = false; private float exitDelayTimer = 0f; private float exitDelay = 0.5f; private bool pro = false; private bool EXIT = false; private bool TimerAssigned = false; private float timer = 0.3f; private float timeAtExit; private float yOffset = 0.061875f; private float xOffset = 0.075f; public void exitAnimation() { if (!Inbounds || LowerGun) { ((EntityState)this).PlayAnimation("GrappleUpperbody", "GrappleReadyV2Return"); if (((BaseSkillState)this).activatorSkillSlot.stock < ((BaseSkillState)this).activatorSkillSlot.maxStock) { ((BaseSkillState)this).activatorSkillSlot.AddOneStock(); } } else { ((EntityState)this).PlayAnimation("GrappleUpperbody", "Empty"); } } public override void OnEnter() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02de: Unknown result type (might be due to invalid IL or missing references) //IL_02e3: Unknown result type (might be due to invalid IL or missing references) //IL_02f8: Unknown result type (might be due to invalid IL or missing references) //IL_02fd: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0243: Unknown result type (might be due to invalid IL or missing references) //IL_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) ((BaseState)this).OnEnter(); ((EntityState)this).GetComponent<CharacterDataStore>().kicked = false; ((EntityState)this).GetComponent<CharacterDataStore>().exitSwitch = false; BaseScale *= ((EntityState)this).GetComponent<CharacterDataStore>().UIScale; primaryOverride = Skills.CreateSkillDef(new SkillDefInfo { skillName = "UninvitedCalamity_Marian_BODY_GRAPPLE", skillNameToken = "UninvitedCalamity_Marian_BODY_GRAPPLE", skillDescriptionToken = "UninvitedCalamity_Marian_BODY_GRAPPLE", skillIcon = Assets.mainAssetBundle.LoadAsset<Sprite>("GrappleIcon"), activationState = new SerializableEntityStateType(typeof(Marian_Grapple_simple)), activationStateMachineName = "Body", baseMaxStock = 0, baseRechargeInterval = 0.25f, beginSkillCooldownOnSkillEnd = false, canceledFromSprinting = false, forceSprintDuringState = false, fullRestockOnAssign = true, interruptPriority = (InterruptPriority)0, resetCooldownTimerOnUse = false, isCombatSkill = false, mustKeyPress = true, cancelSprintingOnActivation = false, rechargeStock = 0, requiredStock = 0, stockToConsume = 0, keywordTokens = new string[1] { "KEYWORD_AGILE" } }); SkillLocator skillLocator = ((EntityState)this).skillLocator; GenericSkill primary = skillLocator.primary; if (Object.op_Implicit((Object)(object)primary)) { TryOverrideSkill(primary); primary.onSkillChanged += TryOverrideSkill; } Camera = GameObject.Find("Main Camera(Clone)"); if (((EntityState)this).isAuthority && ((EntityState)this).characterBody.isPlayerControlled) { if ((Object)(object)Target == (Object)null && !m1Pressed) { Target = Object.Instantiate<GameObject>(Assets.GrappleSprite, Camera.transform.position, Quaternion.identity).transform; } ((Component)Target).transform.parent = Camera.transform; ((Component)Target).transform.rotation = Camera.transform.rotation; ((Component)Target).transform.localScale = BaseScale * Size; Target.localPosition = new Vector3(0f, 0f, 0.05f); } ((EntityState)this).PlayAnimation("GrappleUpperbody", "GrappleReadyV2Enter"); int colourBlindMode = ((EntityState)this).GetComponent<CharacterDataStore>().ColourBlindMode; Log.Debug("ColourBlind mode = " + colourBlindMode); switch (colourBlindMode) { case 1: defaultClose = Color.HSVToRGB(0.6f, 1f, 0.85f); defaultFar = Color.HSVToRGB(1f, 1f, 1f); break; case 2: defaultClose = Color.HSVToRGB(0.6f, 1f, 0.85f); defaultFar = Color.HSVToRGB(0.3f, 1f, 1f); break; } } public void exitdelay() { if (!pro) { exitAnimation(); pro = true; } if (exitDelayTimer >= exitDelay && Size <= 0f) { releaseGui(); ((EntityState)this).outer.SetNextStateToMain(); } exitDelayTimer += Time.fixedDeltaTime; } public override void OnExit() { if (Size >= 0f) { Inbounds = true; LowerGun = false; exitAnimation(); releaseGui(); UnAssign(); } if (!((EntityState)this).isAuthority) { ((EntityState)this).PlayAnimation("GrappleUpperbody", "GrappleReadyV2Return"); } ((EntityState)this).OnExit(); } public void releaseGui() { if ((Object)(object)Target != (Object)null) { EntityState.Destroy((Object)(object)((Component)Target).gameObject); Target = null; } } public override void FixedUpdate() { //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0238: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_0273: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_06fb: Unknown result type (might be due to invalid IL or missing references) //IL_0706: Unknown result type (might be due to invalid IL or missing references) //IL_0710: Unknown result type (might be due to invalid IL or missing references) //IL_072c: Unknown result type (might be due to invalid IL or missing references) //IL_0737: Unknown result type (might be due to invalid IL or missing references) //IL_0741: Unknown result type (might be due to invalid IL or missing references) //IL_075d: Unknown result type (might be due to invalid IL or missing references) //IL_0769: Unknown result type (might be due to invalid IL or missing references) //IL_0773: Unknown result type (might be due to invalid IL or missing references) //IL_078f: Unknown result type (might be due to invalid IL or missing references) //IL_079b: Unknown result type (might be due to invalid IL or missing references) //IL_07a5: Unknown result type (might be due to invalid IL or missing references) //IL_07c1: Unknown result type (might be due to invalid IL or missing references) //IL_07dd: Unknown result type (might be due to invalid IL or missing references) //IL_02cd: Unknown result type (might be due to invalid IL or missing references) //IL_02d4: Unknown result type (might be due to invalid IL or missing references) //IL_0518: Unknown result type (might be due to invalid IL or missing references) //IL_0523: Unknown result type (might be due to invalid IL or missing references) //IL_052a: Unknown result type (might be due to invalid IL or missing references) //IL_0546: Unknown result type (might be due to invalid IL or missing references) //IL_0551: Unknown result type (might be due to invalid IL or missing references) //IL_0558: Unknown result type (might be due to invalid IL or missing references) //IL_0574: Unknown result type (might be due to invalid IL or missing references) //IL_0580: Unknown result type (might be due to invalid IL or missing references) //IL_0587: Unknown result type (might be due to invalid IL or missing references) //IL_05a3: Unknown result type (might be due to invalid IL or missing references) //IL_05af: Unknown result type (might be due to invalid IL or missing references) //IL_05b6: Unknown result type (might be due to invalid IL or missing references) //IL_05d2: Unknown result type (might be due to invalid IL or missing references) //IL_05ee: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_0322: Unknown result type (might be due to invalid IL or missing references) //IL_0327: Unknown result type (might be due to invalid IL or missing references) //IL_0332: Unknown result type (might be due to invalid IL or missing references) //IL_0339: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_035a: Unknown result type (might be due to invalid IL or missing references) //IL_0361: Unknown result type (might be due to invalid IL or missing references) //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_0371: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_037d: Unknown result type (might be due to invalid IL or missing references) //IL_0399: Unknown result type (might be due to invalid IL or missing references) //IL_03a0: Unknown result type (might be due to invalid IL or missing references) //IL_03a5: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Unknown result type (might be due to invalid IL or missing references) //IL_03b8: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03d9: Unknown result type (might be due to invalid IL or missing references) //IL_03e0: Unknown result type (might be due to invalid IL or missing references) //IL_03e5: Unknown result type (might be due to invalid IL or missing references) //IL_03f1: Unknown result type (might be due to invalid IL or missing references) //IL_03f8: Unknown result type (might be due to invalid IL or missing references) //IL_03fd: Unknown result type (might be due to invalid IL or missing references) //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_0435: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if ((((ButtonState)(ref ((EntityState)this).inputBank.skill1)).justReleased || ((ButtonState)(ref ((EntityState)this).inputBank.jump)).justPressed) && m1Pressed) { EXIT = true; shrink = true; if (!animating) { exitAnimation(); animating = true; } } if (((ButtonState)(ref ((EntityState)this).inputBank.skill1)).justPressed) { m1Pressed = true; shrink = true; } if (((ButtonState)(ref ((EntityState)this).inputBank.skill3)).justReleased) { skill3Released = true; } if (skill3Released && ((ButtonState)(ref ((EntityState)this).inputBank.skill3)).justPressed) { EXIT = true; LowerGun = true; } if (((EntityState)this).GetComponent<CharacterDataStore>().kicked) { EXIT = true; } if (((EntityState)this).GetComponent<CharacterDataStore>().exitSwitch) { EXIT = true; LowerGun = true; } if (shrink) { Size = Mathf.Clamp(Size - Time.fixedDeltaTime * 3.3333333f, 0f, 1f); } ((EntityState)this).characterBody.SetAimTimer(2f); if (((EntityState)this).isAuthority && (Object)(object)Target != (Object)null) { ((Component)Target).transform.localScale = BaseScale * Size; } if (!shrink) { Size = Mathf.Clamp(Size + Time.deltaTime * 3.3333333f, 0f, 1f); } if (EXIT) { shrink = true; exitdelay(); if (((EntityState)this).isAuthority) { UnAssign(); } } else { if (!((EntityState)this).isAuthority) { return; } BaseRay = ((BaseState)this).GetAimRay(); ref Ray baseRay = ref BaseRay; ((Ray)(ref baseRay)).origin = ((Ray)(ref baseRay)).origin + ((Ray)(ref BaseRay)).direction * 0.5f; RaycastHit val = default(RaycastHit); if (Physics.Raycast(BaseRay, ref val, float.PositiveInfinity, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.defaultLayer)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask))) { HitPoint = ((RaycastHit)(ref val)).point; float distance = Marian_Grapple_simple.distance; if (!((Object)(object)Target != (Object)null)) { return; } float num = Vector3.Distance(((Ray)(ref BaseRay)).origin, ((RaycastHit)(ref val)).point); if (num <= Marian_Grapple_simple.distance) { float num2 = num / Marian_Grapple_simple.distance; float num3 = 1f - num2; ((Component)Target.GetChild(1)).transform.localPosition = Vector3.zero * num3 + Vector3.up * yOffset * num2; ((Component)Target.GetChild(2)).transform.localPosition = Vector3.zero * num3 + Vector3.down * yOffset * num2; ((Component)Target.GetChild(3)).transform.localPosition = Vector3.zero * num3 + Vector3.left * (0f - xOffset) * num2; ((Component)Target.GetChild(4)).transform.localPosition = Vector3.zero * num3 + Vector3.right * (0f - xOffset) * num2; ((Component)Target.GetChild(1)).transform.localScale = Vector3.zero; ((Component)Target.GetChild(2)).transform.localScale = Vector3.zero; recolourRenderer(((Component)((Component)Target).transform.GetChild(0)).gameObject, num2); recolourRenderer(((Component)((Component)Target).transform.GetChild(1)).gameObject, num2); recolourRenderer(((Component)((Component)Target).transform.GetChild(2)).gameObject, num2); recolourRenderer(((Component)((Component)Target).transform.GetChild(3)).gameObject, num2); recolourRenderer(((Component)((Component)Target).transform.GetChild(4)).gameObject, num2); if (!m1Pressed) { Inbounds = true; } return; } float num4 = num / Marian_Grapple_simple.distance; ((Component)Target.GetChild(1)).transform.localPosition = Vector3.up * yOffset * num4; ((Component)Target.GetChild(2)).transform.localPosition = Vector3.down * yOffset * num4; ((Component)Target.GetChild(3)).transform.localPosition = Vector3.left * (0f - xOffset) * num4; ((Component)Target.GetChild(4)).transform.localPosition = Vector3.right * (0f - xOffset) * num4; ((Component)Target.GetChild(1)).transform.localScale = Vector3.zero; ((Component)Target.GetChild(2)).transform.localScale = Vector3.zero; recolourRenderer(((Component)((Component)Target).transform.GetChild(0)).gameObject, 1f, outOfBounds: true); recolourRenderer(((Component)((Component)Target).transform.GetChild(1)).gameObject, 1f, outOfBounds: true); recolourRenderer(((Component)((Component)Target).transform.GetChild(2)).gameObject, 1f, outOfBounds: true); recolourRenderer(((Component)((Component)Target).transform.GetChild(3)).gameObject, 1f, outOfBounds: true); recolourRenderer(((Component)((Component)Target).transform.GetChild(4)).gameObject, 1f, outOfBounds: true); if (m1Pressed) { Inbounds = false; LowerGun = true; EXIT = true; } } else if ((Object)(object)Target != (Object)null) { ((Component)Target.GetChild(1)).transform.localPosition = Vector3.up * yOffset * 100f; ((Component)Target.GetChild(2)).transform.localPosition = Vector3.down * yOffset * 100f; ((Component)Target.GetChild(3)).transform.localPosition = Vector3.left * (0f - xOffset) * 100f; ((Component)Target.GetChild(4)).transform.localPosition = Vector3.right * (0f - xOffset) * 100f; ((Component)Target.GetChild(1)).transform.localScale = Vector3.zero; ((Component)Target.GetChild(2)).transform.localScale = Vector3.zero; recolourRenderer(((Component)((Component)Target).transform.GetChild(0)).gameObject, 1f, outOfBounds: true); recolourRenderer(((Component)((Component)Target).transform.GetChild(1)).gameObject, 1f, outOfBounds: true); recolourRenderer(((Component)((Component)Target).transform.GetChild(2)).gameObject, 1f, outOfBounds: true); recolourRenderer(((Component)((Component)Target).transform.GetChild(3)).gameObject, 1f, outOfBounds: true); recolourRenderer(((Component)((Component)Target).transform.GetChild(4)).gameObject, 1f, outOfBounds: true); outOfRange = true; if (m1Pressed) { Inbounds = false; EXIT = true; } } } } public void recolourRenderer(GameObject uiCom, float percent1, bool outOfBounds = false) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0049: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) float num = 2f; Color color = Color.Lerp(defaultClose, defaultFar, percent1); if (outOfBounds) { color = Color.Lerp(defaultClose, Color.HSVToRGB(0f, 1f, num), percent1); } SpriteRenderer component = uiCom.GetComponent<SpriteRenderer>(); ((Renderer)component).material.color = color; } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)5; } private void TryOverrideSkill(GenericSkill skill) { if (Object.op_Implicit((Object)(object)skill) && !Object.op_Implicit((Object)(object)overriddenSkill) && !skill.HasSkillOverrideOfPriority((SkillOverridePriority)4)) { overriddenSkill = skill; overriddenSkill.SetSkillOverride((object)this, primaryOverride, (SkillOverridePriority)4); overriddenSkill.stock = ((EntityState)this).skillLocator.primary.stock; } } public void UnAssign() { SkillLocator skillLocator = ((EntityState)this).skillLocator; GenericSkill val = (((Object)(object)skillLocator != (Object)null) ? skillLocator.primary : null); if (Object.op_Implicit((Object)(object)val)) { val.onSkillChanged -= TryOverrideSkill; } if (Object.op_Implicit((Object)(object)overriddenSkill)) { overriddenSkill.UnsetSkillOverride((object)this, primaryOverride, (SkillOverridePriority)4); } } } internal class IceMissile : MarianFlare { public override void OnEnter() { base.OnEnter(); } public override void OnExit() { base.OnExit(); } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) return base.GetMinimumInterruptPriority(); } public override GameObject setProj() { return Projectiles.IceMissile; } } internal class MarianFlare : BaseSkillState { private ChildLocator locator; private Transform modelTransform; private float baseDuration = 0.25f; private float coolDown = 0.8f; private float windup = 0.1f; private float scatter = 0f; private float duration; private float windUp; private float fireTime; private bool hasFired = false; private Animator animator; private bool hasReleased = false; private GameObject bombPrefab; private float missileDelay = 0.055f; public float currentCount = 0f; private BullseyeSearch search; private int missileCount = 5; private int TargetCount; private int onTarget = 0; private Transform Target; private Ray AimRayCopy; public static float DamageCoef = 2.5f; private float targetRefresh = 0.1f; private GameObject Camera; public const float Range = 150f; private float IterDelay = 0.9f; private float IterTimer = 0f; private int charge = 1; private int pingCount = 0; private GameObject Ping; private GameObject Ping2; private GameObject Ping3; private bool FinalPing = false; private bool CoolingDown = false; private int firingcount = 0; private GameObject Missile; private SpriteManager SM; private bool Refunded = false; private float counter = 0f; private float timer = 0f; public override void OnEnter() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Expected O, but got Unknown //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); search = new BullseyeSearch(); duration = baseDuration / ((BaseState)this).attackSpeedStat; windUp = windup / ((BaseState)this).attackSpeedStat; missileDelay /= ((BaseState)this).attackSpeedStat; coolDown /= ((BaseState)this).attackSpeedStat; counter = missileDelay; fireTime = 0.35f * duration; ((EntityState)this).characterBody.SetAimTimer(2f); animator = ((EntityState)this).GetModelAnimator(); modelTransform = ((EntityState)this).GetModelTransform(); locator = ((Component)modelTransform).GetComponent<ChildLocator>(); SM = ((Component)((EntityState)this).characterBody).GetComponent<SpriteManager>(); bombPrefab = Projectiles.Missile; float num = 1f / windUp * ((BaseState)this).attackSpeedStat; AimRayCopy = ((BaseState)this).GetAimRay(); GetCurrentTargetInfo(); Camera = GameObject.Find("Main Camera(Clone)"); Ping = Assets.MissileChargePing; Ping2 = Assets.MissileChargePing2; Ping3 = Assets.MissileChargePing3; Missile = setProj(); } public virtual GameObject setProj() { return Projectiles.Missile; } public void ScatterFire(Vector3 newDir) { //IL_001e: 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_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_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) float num = 0.04f; if (currentCount == 0f) { num = 0f; } newDir += new Vector3(Random.Range(0f - num, num), Random.Range(0f - num, num), Random.Range(0f - num, num)); newDir = ((Vector3)(ref newDir)).normalized; Fire(newDir); Transform val = ((EntityState)this).GetModelTransform(); } public bool upwardSearch(GameObject observing, GameObject parent, bool searching) { bool result = false; do { if ((Object)(object)observing.transform.parent == (Object)(object)parent || (Object)(object)observing == (Object)(object)parent) { result = true; searching = false; } else if ((Object)(object)observing.transform.parent != (Object)null) { observing = ((Component)observing.transform.parent).gameObject; } else { searching = false; } } while (searching); return result; } private void GetCurrentTargetInfo() { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0186: 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_0192: 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_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Unknown result type (might be due to invalid IL or missing references) //IL_030c: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_0341: Unknown result type (might be due to invalid IL or missing references) //IL_0346: Unknown result type (might be due to invalid IL or missing references) //IL_0355: Unknown result type (might be due to invalid IL or missing references) //IL_035a: Unknown result type (might be due to invalid IL or missing references) //IL_0371: Unknown result type (might be due to invalid IL or missing references) //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_038b: Unknown result type (might be due to invalid IL or missing references) //IL_039b: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < SM.Targets.Length; i++) { if ((Object)(object)SM.Targets[i] != (Object)null) { SM.Targets[i] = null; } } Ray aimRay = ((BaseState)this).GetAimRay(); search.filterByDistinctEntity = true; search.filterByLoS = true; search.minDistanceFilter = 0f; search.maxDistanceFilter = 150f; search.minAngleFilter = 0f; search.maxAngleFilter = 45f; search.viewer = ((EntityState)this).characterBody; search.searchOrigin = ((Ray)(ref aimRay)).origin; search.searchDirection = ((Ray)(ref aimRay)).direction; search.sortMode = (SortMode)2; search.teamMaskFilter = TeamMask.GetUnprotectedTeams(((BaseState)this).GetTeam()); search.RefreshCandidates(); search.FilterOutGameObject(((EntityState)this).gameObject); foreach (HurtBox result in search.GetResults()) { if (!Object.op_Implicit((Object)(object)result.healthComponent) || !result.healthComponent.alive) { continue; } if (TargetCount >= missileCount) { break; } bool flag = false; RaycastHit val = default(RaycastHit); Ray aimRay2 = ((BaseState)this).GetAimRay(); float num = Vector3.Distance(((Ray)(ref aimRay2)).origin, ((Component)result).transform.position); ((Ray)(ref aimRay2)).direction = ((Ray)(ref aimRay2)).origin - ((Component)result).transform.position; ((Ray)(ref aimRay2)).direction = -((Ray)(ref aimRay2)).direction; if (Physics.Raycast(aimRay2, ref val, num, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.defaultLayer)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask))) { GameObject gameObject = ((Component)result.healthComponent).gameObject; bool flag2 = false; GameObject gameObject2 = ((Component)((RaycastHit)(ref val)).collider).gameObject; bool flag3 = true; HurtBox component; if (Object.op_Implicit((Object)(object)(component = ((Component)((RaycastHit)(ref val)).collider).GetComponent<HurtBox>())) && (Object)(object)component.healthComponent == (Object)(object)result.healthComponent) { flag2 = true; flag3 = false; } do { if ((Object)(object)gameObject2.transform.parent == (Object)(object)gameObject || (Object)(object)gameObject2 == (Object)(object)gameObject) { flag2 = true; flag3 = false; } else if ((Object)(object)gameObject2.transform.parent != (Object)null) { gameObject2 = ((Component)gameObject2.transform.parent).gameObject; } else { flag3 = false; } } while (flag3); flag = !flag2; } ((Ray)(ref aimRay2)).origin = locator.FindChild("MissilePoint").position; num = Vector3.Distance(((Ray)(ref aimRay2)).origin, ((Component)result).transform.position); ((Ray)(ref aimRay2)).direction = ((Ray)(ref aimRay2)).origin - ((Component)result).transform.position; ((Ray)(ref aimRay2)).direction = -((Ray)(ref aimRay2)).direction; if (flag && Physics.Raycast(aimRay2, ref val, num, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.defaultLayer)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask))) { GameObject gameObject3 = ((Component)result.healthComponent).gameObject; bool flag4 = false; GameObject gameObject4 = ((Component)((RaycastHit)(ref val)).collider).gameObject; bool flag5 = true; HurtBox component2; if (Object.op_Implicit((Object)(object)(component2 = ((Component)((RaycastHit)(ref val)).collider).GetComponent<HurtBox>())) && (Object)(object)component2.healthComponent == (Object)(object)result.healthComponent) { flag4 = true; flag5 = false; } do { if ((Object)(object)gameObject4.transform.parent == (Object)(object)gameObject3 || (Object)(object)gameObject4 == (Object)(object)gameObject3) { flag4 = true; flag5 = false; } else if ((Object)(object)gameObject4.transform.parent != (Object)null) { gameObject4 = ((Component)gameObject4.transform.parent).gameObject; } else { flag5 = false; } } while (flag5); flag = !flag4; } if (!flag) { SM.Targets[TargetCount] = ((Component)result).transform; TargetCount++; } } } public Vector3 setPostion(Transform TargetObject, Vector3 FarPosition) { //IL_0015: 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_003f: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: 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_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_008d: 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_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_0148: 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_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_0158: 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) if ((Object)(object)Camera != (Object)null) { float num = Vector3.Distance(FarPosition, Camera.transform.position); float num2 = 0.1f / num; Vector3 position = Camera.transform.position * (1f - num2) + FarPosition * num2; Vector3 val = Camera.transform.position - FarPosition; Vector3 normalized = ((Vector3)(ref val)).normalized; Vector3 val2 = new Vector3(0.002f, 0.002f, 0.002f) * ((EntityState)this).GetComponent<CharacterDataStore>().UIScale; Vector3 val3 = new Vector3(0.001f, 0.001f, 0.001f) * ((EntityState)this).GetComponent<CharacterDataStore>().UIScale; float num3 = num / 150f; if ((Object)(object)TargetObject != (Object)null) { SpriteRenderer component = ((Component)TargetObject.GetChild(0)).gameObject.GetComponent<SpriteRenderer>(); ((Renderer)component).material.color = Color.HSVToRGB(0.3f, 1f, 1f); TargetObject.position = position; TargetObject.LookAt(Camera.transform.position); Vector3 val4 = val2 * (1f - num3); Vector3 val5 = val3 * num3; TargetObject.localScale = val4 + val5; } } else { Log.Debug("Camera is Null"); } return Vector3.zero; } public override void Update() { ((EntityState)this).Update(); } public void Fire(Vector3 newDir) { //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: 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) ((EntityState)this).PlayAnimation("Gesture, Override", "ShootGun", "Firerate", windup, 0f); if ((Object)(object)SM.Targets[onTarget] != (Object)null) { Target = SM.Targets[onTarget]; onTarget++; } if (onTarget >= TargetCount) { onTarget = 0; } if ((Object)(object)Target != (Object)null) { MissileUtils.FireMissile(locator.FindChild("FirePoint").position, ((EntityState)this).characterBody, default(ProcChainMask), ((Component)Target).gameObject, ((BaseState)this).damageStat * DamageCoef, ((BaseState)this).RollCrit(), Missile, (DamageColorIndex)0, newDir, 0f, false); string text = "FirePoint"; if (Object.op_Implicit((Object)(object)FireGrenades.effectPrefab)) { EffectManager.SimpleMuzzleFlash(FireGrenades.effectPrefab, ((EntityState)this).gameObject, text, true); } currentCount += 1f; } else if (!Refunded) { Refunded = true; if (((BaseSkillState)this).activatorSkillSlot.stock < ((BaseSkillState)this).activatorSkillSlot.maxStock) { ((BaseSkillState)this).activatorSkillSlot.AddOneStock(); } EffectManager.SimpleMuzzleFlash(FireGauss.effectPrefab, ((EntityState)this).gameObject, "MissilePoint", true); } } public override void FixedUpdate() { //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_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_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_04ca: Unknown result type (might be due to invalid IL or missing references) //IL_04d4: Unknown result type (might be due to invalid IL or missing references) //IL_04d9: Unknown result type (might be due to invalid IL or missing references) //IL_04e3: Unknown result type (might be due to invalid IL or missing references) //IL_04e8: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_03ec: Unknown result type (might be due to invalid IL or missing references) //IL_0405: Unknown result type (might be due to invalid IL or missing references) //IL_0483: Unknown result type (might be due to invalid IL or missing references) //IL_049c: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_045a: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); ((EntityState)this).characterBody.SetAimTimer(2f); if (!((EntityState)this).inputBank.skill2.down && !hasReleased) { hasReleased = true; } if (!((EntityState)this).isAuthority) { return; } if (((EntityState)this).fixedAge >= windup && hasReleased && !CoolingDown) { Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 val = ((EntityState)this).gameObject.transform.position; val += ((Ray)(ref aimRay)).direction; scatter = 0f; val += new Vector3(Random.Range(0f - scatter, scatter), Random.Range(0f - scatter, scatter), Random.Range(0f - scatter, scatter)); val -= ((EntityState)this).gameObject.transform.position; val = ((Vector3)(ref val)).normalized; if (counter >= missileDelay && !Refunded) { if (currentCount < (float)missileCount) { ScatterFire(val); ProjectileManager.instance.FireProjectile(Projectiles.AddMissiles, locator.FindChild("FirePoint").position, Util.QuaternionSafeLookRotation(Vector3.zero), ((EntityState)this).gameObject, (float)missileCount - currentCount, 0f, false, (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } if (!Refunded) { counter = 0f; hasFired = true; } } counter += Time.fixedDeltaTime; } if (!CoolingDown && currentCount < (float)missileCount && !Refunded) { duration = ((EntityState)this).fixedAge + coolDown; } if (!CoolingDown) { if (currentCount >= (float)missileCount) { CoolingDown = true; } if (!hasReleased) { if (((EntityState)this).fixedAge >= windup) { if (IterTimer >= IterDelay / ((BaseState)this).attackSpeedStat && TargetCount >= 1) { if (charge < 3) { pingCount = 0; if (((EntityState)this).isAuthority && !CoolingDown) { missileCount = Mathf.Clamp(missileCount + 3, 5, SM.Targets.Length); } } IterTimer = 0f; charge++; } else if (TargetCount <= 0) { missileCount = 5; charge = 1; pingCount = 0; IterTimer = 0f; FinalPing = false; } IterTimer += Time.fixedDeltaTime; } if (pingCount < charge && TargetCount > 0 && !FinalPing) { pingCount = charge; if (charge == 3) { FinalPing = true; EffectManager.SimpleEffect(Ping3, ((Component)locator.FindChild("MissilePoint")).transform.position, new Quaternion(0f, 0f, 0f, 0f), true); } else if (charge == 2) { EffectManager.SimpleEffect(Ping2, ((Component)locator.FindChild("MissilePoint")).transform.position, new Quaternion(0f, 0f, 0f, 0f), true); } else { EffectManager.SimpleEffect(Ping, ((Component)locator.FindChild("MissilePoint")).transform.position, new Quaternion(0f, 0f, 0f, 0f), true); } } } } firingcount = (int)((float)missileCount - currentCount); ProjectileManager.instance.FireProjectile(Projectiles.AddMissiles, Vector3.down * 100f, Util.QuaternionSafeLookRotation(Vector3.down * 100f), ((EntityState)this).gameObject, (float)firingcount, 0f, false, (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); if (((EntityState)this).fixedAge >= duration) { ((EntityState)this).outer.SetNextStateToMain(); return; } if (timer >= targetRefresh && !hasReleased) { TargetCount = 0; GetCurrentTargetInfo(); timer = 0f; } timer += Time.fixedDeltaTime; } 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 override void OnExit() { for (int i = 0; i < SM.Targets.Length; i++) { if ((Object)(object)SM.Targets[i] != (Object)null) { SM.Targets[i] = null; } } if (((EntityState)this).isAuthority && !hasFired && ((BaseSkillState)this).activatorSkillSlot.stock < ((BaseSkillState)this).activatorSkillSlot.maxStock) { ((BaseSkillState)this).activatorSkillSlot.AddOneStock(); } ((EntityState)this).characterBody.ClearTimedBuffs(Buffs.MissileBuff); ((EntityState)this).OnExit(); } } internal class MarianIceBomb : BaseSkillState { private ChildLocator locator; private Transform modelTransform; private float baseDuration = 0.25f; private float windup = 0.2f; private float scatter = 0f; private float duration; private float windUp; private bool hasFired; private Animator animator; private bool hasReleased = false; private GameObject Icebomb; public float currentCount = 0f; private float base_desired_speed = 10f; private float max_multiplier = 500f; public static float DamageCoef = 0.1f; public float damage_mult = 1f; private bool released = false; public override void OnEnter() { ((BaseState)this).OnEnter(); duration = baseDuration; windUp = windup; ((EntityState)this).characterBody.SetAimTimer(2f); animator = ((EntityState)this).GetModelAnimator(); modelTransform = ((EntityState)this).GetModelTransform(); locator = ((Component)modelTransform).GetComponent<ChildLocator>(); Icebomb = setPrefab(); float num = 1f / windUp * ((BaseState)this).attackSpeedStat; damage_mult = setMult(); } public virtual float setMult() { return 1f; } public virtual GameObject setPrefab() { return Projectiles.IceBomb; } public void ScatterFire(Vector3 newDir) { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) float num = 0.08f; if (currentCount == 0f) { num = 0f; } currentCount += 1f; newDir += new Vector3(Random.Range(0f - num, num), Random.Range(0f - num, num), Random.Range(0f - num, num)); newDir = ((Vector3)(ref newDir)).normalized; Fire(newDir); Transform val = ((EntityState)this).GetModelTransform(); } public void Fire(Vector3 newDir) { //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_0023: Unknown result type (might be due to invalid IL or missing references) try { ProjectileManager.instance.FireProjectile(Icebomb, locator.FindChild("FirePoint").position, Util.QuaternionSafeLookRotation(newDir), ((EntityState)this).gameObject, DamageCoef * ((BaseState)this).damageStat * damage_mult, 0f, ((BaseState)this).RollCrit(), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } catch (NullReferenceException data) { Log.Debug(data); } } public void StartFire() { //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_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_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: 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_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010b: 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_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) if (!hasFired) { hasReleased = true; hasFired = true; base_desired_speed *= Mathf.Clamp(((EntityState)this).fixedAge / windup, 0f, max_multiplier); Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 val = ((EntityState)this).gameObject.transform.position; val.y += 0.1f; val += ((Ray)(ref aimRay)).direction; scatter = 0f; val += new Vector3(Random.Range(0f - scatter, scatter), Random.Range(0f - scatter, scatter), Random.Range(0f - scatter, scatter)); val -= ((EntityState)this).gameObject.transform.position; val = ((Vector3)(ref val)).normalized; if (!((EntityState)this).characterMotor.isGrounded) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.velocity += -val * Mathf.Clamp(((EntityState)this).fixedAge / windup, 0f, max_multiplier); } ScatterFire(val); } } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge >= windUp && !hasFired) { ((EntityState)this).PlayAnimation("Gesture, Override", "ThrowBomb"); if (!((EntityState)this).isAuthority) { hasFired = true; } } if (((EntityState)this).isAuthority) { if (!hasFired && ((EntityState)this).fixedAge >= windup) { StartFire(); } if (((EntityState)this).fixedAge >= duration && hasFired) { ((EntityState)this).outer.SetNextStateToMain(); } } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)3; } public override void OnExit() { ((EntityState)this).OnExit(); } } internal class Marian_Grapple : BaseSkillState { private Vector3 targetOffset; private Transform targetPoint; private Ray BaseRay; private ChildLocator locator; private Transform modelTransform; private float initialBoost = 0.1f; private float interpolateBoost = 1f; private float maxVelocity = 25f; private float distance; private float minDistance = 1f; private float delay = 0.25f; private bool lunge = false; private Vector3 GrapplePos; private Transform grapple; private Vector3 preVel = new Vector3(0f, 0f, 0f); private float duration = 0.25f; private Vector3 hitPoint; public override void OnEnter() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: 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_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_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_0142: 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_0153: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); distance = float.PositiveInfinity; BaseRay = ((BaseState)this).GetAimRay(); float num = 500f; ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); modelTransform = ((EntityState)this).GetModelTransform(); locator = ((Component)modelTransform).GetComponent<ChildLocator>(); ref Ray baseRay = ref BaseRay; ((Ray)(ref baseRay)).origin = ((Ray)(ref baseRay)).origin + ((Ray)(ref BaseRay)).direction * 0.5f; Vector3 zero = Vector3.zero; grapple = ((Component)locator.FindChild("LeftGrapple")).transform; GrapplePos = grapple.localPosition; RaycastHit val = default(RaycastHit); if (Physics.Raycast(BaseRay, ref val, num, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.defaultLayer)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask))) { zero = ((RaycastHit)(ref val)).point; Log.Debug(((Object)((RaycastHit)(ref val)).collider).name); targetPoint = ((Component)((RaycastHit)(ref val)).collider).transform; targetOffset = targetPoint.InverseTransformPoint(((RaycastHit)(ref val)).point); hitPoint = ((RaycastHit)(ref val)).point; EffectManager.SimpleEffect(FireLaser.hitEffectPrefab, ((RaycastHit)(ref val)).point, new Quaternion(0f, 0f, 0f, 0f), true); grapple.position = hitPoint; } else { ((EntityState)this).outer.SetNextStateToMain(); } Log.Debug("Grapple start"); } public override void OnExit() { Log.Debug("Grapple Exit"); ((EntityState)this).OnExit(); } public void swingGrapple() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0053: 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_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0090: 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_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0492: Unknown result type (might be due to invalid IL or missing references) //IL_0497: Unknown result type (might be due to invalid IL or missing references) //IL_01cf: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Unknown result type (might be due to invalid IL or