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 MithrixTheAccursed Reupload v2.9.8
MithrixTheAccursed.dll
Decompiled 2 years ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Threading.Tasks; using BepInEx; using BepInEx.Configuration; using EntityStates; using EntityStates.BrotherHaunt; using EntityStates.BrotherMonster; using EntityStates.BrotherMonster.Weapon; using EntityStates.Huntress; using EntityStates.LunarExploderMonster.Weapon; using EntityStates.LunarGolem; using EntityStates.Missions.BrotherEncounter; using KinematicCharacterController; using On.EntityStates; using On.EntityStates.BrotherMonster; using On.EntityStates.BrotherMonster.Weapon; using On.EntityStates.Missions.BrotherEncounter; using On.RoR2; using R2API; using RiskOfOptions; using RiskOfOptions.OptionConfigs; using RiskOfOptions.Options; using RoR2; using RoR2.Projectile; using RoR2.Skills; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")] [assembly: AssemblyCompany("MithrixTheAccursed")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("MithrixTheAccursed")] [assembly: AssemblyTitle("MithrixTheAccursed")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace MithrixTheAccursed; [BepInPlugin("com.Nuxlar.MithrixTheAccursed", "MithrixTheAccursed", "2.9.8")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class MithrixTheAccursed : BaseUnityPlugin { [CompilerGenerated] private static class <>O { public static hook_OnEnter <0>__CleanupPillar; public static hook_OnEnter <1>__FistSlamOnEnter; public static hook_FixedUpdate <2>__FistSlamFixedUpdate; public static hook_OnEnter <3>__SpellChannelEnterStateOnEnter; public static hook_OnEnter <4>__SpellChannelStateOnEnter; public static hook_OnEnter <5>__SpellChannelExitStateOnEnter; public static hook_OnEnter <6>__StaggerEnterOnEnter; public static hook_OnEnter <7>__StaggerExitOnEnter; public static hook_OnEnter <8>__StaggerLoopOnEnter; } private bool hasfired; private int phaseCounter = 0; private float elapsed = 0f; private GameObject Mithrix = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Brother/BrotherBody.prefab").WaitForCompletion(); private GameObject MithrixHurt = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Brother/BrotherHurtBody.prefab").WaitForCompletion(); private GameObject BrotherHaunt = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/BrotherHaunt/BrotherHauntBody.prefab").WaitForCompletion(); private SpawnCard MithrixCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Base/Brother/cscBrother.asset").WaitForCompletion(); private SpawnCard MithrixGlassCard = Addressables.LoadAssetAsync<SpawnCard>((object)"RoR2/Junk/BrotherGlass/cscBrotherGlass.asset").WaitForCompletion(); private static GameObject exploderProjectile = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/LunarExploder/LunarExploderShardProjectile.prefab").WaitForCompletion(); private static GameObject golemProjectile = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/LunarGolem/LunarGolemTwinShotProjectile.prefab").WaitForCompletion(); public void Awake() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Expected O, but got Unknown //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Expected O, but got Unknown //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Expected O, but got Unknown //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Expected O, but got Unknown //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Expected O, but got Unknown //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Expected O, but got Unknown //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Expected O, but got Unknown //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Expected O, but got Unknown //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Expected O, but got Unknown //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Expected O, but got Unknown //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Expected O, but got Unknown //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Expected O, but got Unknown //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Expected O, but got Unknown //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Expected O, but got Unknown //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Expected O, but got Unknown //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Expected O, but got Unknown //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Expected O, but got Unknown //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Expected O, but got Unknown //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Expected O, but got Unknown //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Expected O, but got Unknown //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Expected O, but got Unknown //IL_01ec: 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_01f7: Expected O, but got Unknown //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_022a: Expected O, but got Unknown //IL_0240: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_024b: Expected O, but got Unknown //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0266: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Expected O, but got Unknown //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_02a4: Expected O, but got Unknown //IL_0282: Unknown result type (might be due to invalid IL or missing references) //IL_0287: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Expected O, but got Unknown ModConfig.InitConfig(((BaseUnityPlugin)this).Config); AddContent(); Run.Start += new hook_Start(OnRunStart); CharacterMaster.OnBodyStart += new hook_OnBodyStart(CharacterMasterOnBodyStart); BrotherEncounterPhaseBaseState.OnEnter += new hook_OnEnter(BrotherEncounterPhaseBaseStateOnEnter); Phase1.OnEnter += new hook_OnEnter(Phase1OnEnter); Phase2.OnEnter += new hook_OnEnter(Phase2OnEnter); Phase3.OnEnter += new hook_OnEnter(Phase3OnEnter); Phase4.OnEnter += new hook_OnEnter(Phase4OnEnter); FrozenState.OnEnter += new hook_OnEnter(FrozenStateOnEnter); CharacterBody.AddTimedBuff_BuffDef_float += new hook_AddTimedBuff_BuffDef_float(AddTimedBuff_BuffDef_float); SkyLeapDeathState.OnEnter += new hook_OnEnter(SkyLeapDeathStateOnEnter); SlideIntroState.OnEnter += new hook_OnEnter(SlideIntroStateOnEnter); SprintBash.OnEnter += new hook_OnEnter(SprintBashOnEnter); WeaponSlam.OnEnter += new hook_OnEnter(WeaponSlamOnEnter); object obj = <>O.<0>__CleanupPillar; if (obj == null) { hook_OnEnter val = CleanupPillar; <>O.<0>__CleanupPillar = val; obj = (object)val; } WeaponSlam.OnEnter += (hook_OnEnter)obj; WeaponSlam.FixedUpdate += new hook_FixedUpdate(WeaponSlamFixedUpdate); FireLunarShards.OnEnter += new hook_OnEnter(FireLunarShardsOnEnter); UltEnterState.OnEnter += new hook_OnEnter(UltEnterStateOnEnter); UltExitState.OnEnter += new hook_OnEnter(UltExitStateOnEnter); UltChannelState.FireWave += new hook_FireWave(UltChannelStateFireWave); object obj2 = <>O.<1>__FistSlamOnEnter; if (obj2 == null) { hook_OnEnter val2 = FistSlamOnEnter; <>O.<1>__FistSlamOnEnter = val2; obj2 = (object)val2; } FistSlam.OnEnter += (hook_OnEnter)obj2; object obj3 = <>O.<2>__FistSlamFixedUpdate; if (obj3 == null) { hook_FixedUpdate val3 = FistSlamFixedUpdate; <>O.<2>__FistSlamFixedUpdate = val3; obj3 = (object)val3; } FistSlam.FixedUpdate += (hook_FixedUpdate)obj3; object obj4 = <>O.<3>__SpellChannelEnterStateOnEnter; if (obj4 == null) { hook_OnEnter val4 = SpellChannelEnterStateOnEnter; <>O.<3>__SpellChannelEnterStateOnEnter = val4; obj4 = (object)val4; } SpellChannelEnterState.OnEnter += (hook_OnEnter)obj4; object obj5 = <>O.<4>__SpellChannelStateOnEnter; if (obj5 == null) { hook_OnEnter val5 = SpellChannelStateOnEnter; <>O.<4>__SpellChannelStateOnEnter = val5; obj5 = (object)val5; } SpellChannelState.OnEnter += (hook_OnEnter)obj5; SpellChannelState.OnExit += new hook_OnExit(SpellChannelStateOnExit); object obj6 = <>O.<5>__SpellChannelExitStateOnEnter; if (obj6 == null) { hook_OnEnter val6 = SpellChannelExitStateOnEnter; <>O.<5>__SpellChannelExitStateOnEnter = val6; obj6 = (object)val6; } SpellChannelExitState.OnEnter += (hook_OnEnter)obj6; object obj7 = <>O.<6>__StaggerEnterOnEnter; if (obj7 == null) { hook_OnEnter val7 = StaggerEnterOnEnter; <>O.<6>__StaggerEnterOnEnter = val7; obj7 = (object)val7; } StaggerEnter.OnEnter += (hook_OnEnter)obj7; object obj8 = <>O.<7>__StaggerExitOnEnter; if (obj8 == null) { hook_OnEnter val8 = StaggerExitOnEnter; <>O.<7>__StaggerExitOnEnter = val8; obj8 = (object)val8; } StaggerExit.OnEnter += (hook_OnEnter)obj8; object obj9 = <>O.<8>__StaggerLoopOnEnter; if (obj9 == null) { hook_OnEnter val9 = StaggerLoopOnEnter; <>O.<8>__StaggerLoopOnEnter = val9; obj9 = (object)val9; } StaggerLoop.OnEnter += (hook_OnEnter)obj9; TrueDeathState.OnEnter += new hook_OnEnter(TrueDeathStateOnEnter); } private void AdjustBaseStats() { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Adjusting Phase 1 Stats"); int count = PlayerCharacterMasterController.instances.Count; float num; float num2; if (Run.instance.loopClearCount == 1) { num = ModConfig.phase1BaseHPScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase1PlayerHPScaling.Value * (float)count; num2 = ModConfig.phase1BaseMobilityScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase1PlayerMobilityScaling.Value * (float)count; } else { num = ModConfig.phase1LoopHPScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase1PlayerHPScaling.Value * (float)count; num2 = ModConfig.phase1LoopMobilityScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase1PlayerMobilityScaling.Value * (float)count; } CharacterBody component = Mithrix.GetComponent<CharacterBody>(); CharacterDirection component2 = Mithrix.GetComponent<CharacterDirection>(); CharacterMotor component3 = Mithrix.GetComponent<CharacterMotor>(); ((Object)component).name = "MithrixBody"; component3.mass = ModConfig.mass.Value; component3.airControl = ModConfig.aircontrol.Value; component.baseMaxHealth = ModConfig.basehealth.Value + ModConfig.basehealth.Value * num; component.levelMaxHealth = ModConfig.levelhealth.Value + ModConfig.levelhealth.Value * num; component.baseDamage = ModConfig.basedamage.Value; component.levelDamage = ModConfig.leveldamage.Value; component.baseAttackSpeed = ModConfig.baseattackspeed.Value; component.baseMoveSpeed = ModConfig.basespeed.Value + ModConfig.basespeed.Value * num2; component.baseAcceleration = ModConfig.acceleration.Value + ModConfig.acceleration.Value * num2; component.baseJumpPower = ModConfig.jumpingpower.Value + ModConfig.jumpingpower.Value * num2; component2.turnSpeed = ModConfig.turningspeed.Value + ModConfig.turningspeed.Value * num2; component.baseArmor = ModConfig.basearmor.Value; ProjectileSteerTowardTarget component4 = FireLunarShards.projectilePrefab.GetComponent<ProjectileSteerTowardTarget>(); component4.rotationSpeed = ModConfig.ShardHoming.Value; ProjectileDirectionalTargetFinder component5 = FireLunarShards.projectilePrefab.GetComponent<ProjectileDirectionalTargetFinder>(); component5.lookRange = ModConfig.ShardRange.Value; component5.lookCone = ModConfig.ShardCone.Value; component5.allowTargetLoss = true; WeaponSlam.duration = 3.5f / ModConfig.baseattackspeed.Value; HoldSkyLeap.duration = ModConfig.JumpPause.Value; ExitSkyLeap.waveProjectileCount = ModConfig.JumpWaveCount.Value; ExitSkyLeap.recastChance = ModConfig.JumpRecast.Value; UltChannelState.waveProjectileCount = ModConfig.UltimateWaves.Value; UltChannelState.maxDuration = ModConfig.UltimateDuration.Value; UltChannelState.totalWaves = ModConfig.UltimateCount.Value; } private void AdjustBaseSkills() { //IL_010d: 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) SkillLocator component = Mithrix.GetComponent<SkillLocator>(); SkillFamily skillFamily = component.primary.skillFamily; SkillDef skillDef = skillFamily.variants[0].skillDef; skillDef.baseRechargeInterval = ModConfig.PrimCD.Value; skillDef.baseMaxStock = ModConfig.PrimStocks.Value; SkillFamily skillFamily2 = component.secondary.skillFamily; SkillDef skillDef2 = skillFamily2.variants[0].skillDef; skillDef2.baseRechargeInterval = ModConfig.SecCD.Value; skillDef2.baseMaxStock = ModConfig.SecStocks.Value; SkillFamily skillFamily3 = component.utility.skillFamily; SkillDef skillDef3 = skillFamily3.variants[0].skillDef; skillDef3.baseRechargeInterval = ModConfig.UtilCD.Value; skillDef3.baseMaxStock = ModConfig.UtilStocks.Value; SkillFamily skillFamily4 = component.special.skillFamily; SkillDef skillDef4 = skillFamily4.variants[0].skillDef; skillDef4.baseRechargeInterval = ModConfig.SpecialCD.Value; skillDef4.activationState = new SerializableEntityStateType(typeof(EnterCrushingLeap)); } private void AdjustPhase2Stats() { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Adjusting Phase 2 Stats"); int count = PlayerCharacterMasterController.instances.Count; float num; float num2; if (Run.instance.loopClearCount == 1) { num = ModConfig.phase2BaseHPScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase2PlayerHPScaling.Value * (float)count; num2 = ModConfig.phase2BaseMobilityScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase2PlayerMobilityScaling.Value * (float)count; } else { num = ModConfig.phase2LoopHPScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase2PlayerHPScaling.Value * (float)count; num2 = ModConfig.phase2LoopMobilityScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase2PlayerMobilityScaling.Value * (float)count; } CharacterBody component = Mithrix.GetComponent<CharacterBody>(); CharacterDirection component2 = Mithrix.GetComponent<CharacterDirection>(); component.baseMaxHealth = (ModConfig.basehealth.Value + ModConfig.basehealth.Value * num) * 5f; component.levelMaxHealth = (ModConfig.levelhealth.Value + ModConfig.levelhealth.Value * num) * 5f; component.baseMoveSpeed = ModConfig.basespeed.Value + ModConfig.basespeed.Value * num2; component.baseAcceleration = ModConfig.acceleration.Value + ModConfig.acceleration.Value * num2; component.baseJumpPower = ModConfig.jumpingpower.Value + ModConfig.jumpingpower.Value * num2; component2.turnSpeed = ModConfig.turningspeed.Value + ModConfig.turningspeed.Value * num2; WeaponSlam.duration = 3.5f / ModConfig.baseattackspeed.Value; } private void AdjustPhase3Stats() { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Adjusting Phase 3 Stats"); int count = PlayerCharacterMasterController.instances.Count; float num; float num2; if (Run.instance.loopClearCount == 1) { num = ModConfig.phase3BaseHPScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase3PlayerHPScaling.Value * (float)count; num2 = ModConfig.phase3BaseMobilityScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase3PlayerMobilityScaling.Value * (float)count; } else { num = ModConfig.phase3LoopHPScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase3PlayerHPScaling.Value * (float)count; num2 = ModConfig.phase3LoopMobilityScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase3PlayerMobilityScaling.Value * (float)count; } CharacterBody component = Mithrix.GetComponent<CharacterBody>(); CharacterDirection component2 = Mithrix.GetComponent<CharacterDirection>(); component.baseMaxHealth = ModConfig.basehealth.Value + ModConfig.basehealth.Value * num; component.levelMaxHealth = ModConfig.levelhealth.Value + ModConfig.levelhealth.Value * num; component.baseMoveSpeed = ModConfig.basespeed.Value + ModConfig.basespeed.Value * num2; component.baseAcceleration = ModConfig.acceleration.Value + ModConfig.acceleration.Value * num2; component.baseJumpPower = ModConfig.jumpingpower.Value + ModConfig.jumpingpower.Value * num2; component2.turnSpeed = ModConfig.turningspeed.Value + ModConfig.turningspeed.Value * num2; WeaponSlam.duration = 3.5f / ModConfig.baseattackspeed.Value; } private void AdjustPhase4Stats() { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Adjusting Phase 4 Stats"); int count = PlayerCharacterMasterController.instances.Count; float num = ((Run.instance.loopClearCount != 1) ? (ModConfig.phase4LoopHPScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase4PlayerHPScaling.Value * (float)count) : (ModConfig.phase4BaseHPScaling.Value * (float)Run.instance.loopClearCount + ModConfig.phase4PlayerHPScaling.Value * (float)count)); CharacterBody component = MithrixHurt.GetComponent<CharacterBody>(); component.baseMaxHealth = ModConfig.basehealth.Value + 400f + ModConfig.basehealth.Value * num; component.levelMaxHealth = ModConfig.levelhealth.Value + 120f + ModConfig.levelhealth.Value * num; component.baseArmor = ModConfig.basearmor.Value; SkillLocator component2 = MithrixHurt.GetComponent<SkillLocator>(); SkillFamily skillFamily = component2.primary.skillFamily; SkillDef skillDef = skillFamily.variants[0].skillDef; skillDef.baseRechargeInterval = ModConfig.SuperShardCD.Value; skillDef.baseMaxStock = ModConfig.SuperShardCount.Value; } private void OnRunStart(orig_Start orig, Run self) { ((BaseUnityPlugin)this).Logger.LogMessage((object)"Accursing the King of Nothing"); AdjustBaseSkills(); AdjustBaseStats(); orig.Invoke(self); } private void AddContent() { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) bool flag = default(bool); ContentAddition.AddEntityState<EnterCrushingLeap>(ref flag); ContentAddition.AddEntityState<AimCrushingLeap>(ref flag); ContentAddition.AddEntityState<ExitCrushingLeap>(ref flag); } private void FrozenStateOnEnter(orig_OnEnter orig, FrozenState self) { if ((!(((Object)((EntityState)self).characterBody).name == "MithrixBody(Clone)") && !(((Object)((EntityState)self).characterBody).name == "BrotherHurtBody(Clone)")) || (Run.instance.loopClearCount < 2 && !ModConfig.debuffResistance.Value)) { orig.Invoke(self); } } private void AddTimedBuff_BuffDef_float(orig_AddTimedBuff_BuffDef_float orig, CharacterBody self, BuffDef buffDef, float duration) { if ((!(((Object)self).name == "MithrixBody(Clone)") && !(((Object)self).name == "BrotherHurtBody(Clone)")) || !((Object)(object)buffDef == (Object)(object)Buffs.Nullified) || (Run.instance.loopClearCount < 2 && !ModConfig.debuffResistance.Value)) { orig.Invoke(self, buffDef, duration); } } private void CharacterMasterOnBodyStart(orig_OnBodyStart orig, CharacterMaster self, CharacterBody body) { orig.Invoke(self, body); if (Object.op_Implicit((Object)(object)PhaseCounter.instance) && (PhaseCounter.instance.phase == 2 || PhaseCounter.instance.phase == 3) && (((Object)body).name == "LunarGolemBody(Clone)" || ((Object)body).name == "LunarExploderBody(Clone)" || ((Object)body).name == "LunarWispBody(Clone)")) { body.healthComponent.Suicide((GameObject)null, (GameObject)null, (DamageType)0); } if (((Object)body).name == "MithrixBody(Clone)" && phaseCounter != 0) { self.inventory.GiveEquipmentString(((Object)Equipment.Cleanse).name); self.inventory.GiveItemString(((Object)Items.AutoCastEquipment).name); } if (((Object)self).name == "BrotherHurtMaster(Clone)") { body.AddBuff(Buffs.Immune); Task.Delay(3000).ContinueWith(delegate { body.RemoveBuff(Buffs.Immune); }); } } private void BrotherEncounterPhaseBaseStateOnEnter(orig_OnEnter orig, BrotherEncounterPhaseBaseState self) { //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_025d: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) phaseCounter++; ((BrotherEncounterBaseState)self).childLocator = ((EntityState)self).GetComponent<ChildLocator>(); Transform val = ((BrotherEncounterBaseState)self).childLocator.FindChild("ArenaWalls"); Transform val2 = ((BrotherEncounterBaseState)self).childLocator.FindChild("ArenaNodes"); if (Object.op_Implicit((Object)(object)val)) { ((Component)val).gameObject.SetActive(((BrotherEncounterBaseState)self).shouldEnableArenaWalls); } if (!Object.op_Implicit((Object)(object)val2)) { return; } ((Component)val2).gameObject.SetActive(((BrotherEncounterBaseState)self).shouldEnableArenaNodes); if (Object.op_Implicit((Object)(object)PhaseCounter.instance)) { phaseCounter = PhaseCounter.instance.phase; PhaseCounter.instance.GoToNextPhase(); } if (Object.op_Implicit((Object)(object)((BrotherEncounterBaseState)self).childLocator)) { self.phaseControllerObject = ((Component)((BrotherEncounterBaseState)self).childLocator.FindChild(self.phaseControllerChildString)).gameObject; if (Object.op_Implicit((Object)(object)self.phaseControllerObject)) { self.phaseScriptedCombatEncounter = self.phaseControllerObject.GetComponent<ScriptedCombatEncounter>(); self.phaseBossGroup = self.phaseControllerObject.GetComponent<BossGroup>(); self.phaseControllerSubObjectContainer = ((Component)self.phaseControllerObject.transform.Find("PhaseObjects")).gameObject; self.phaseControllerSubObjectContainer.SetActive(true); } GameObject gameObject = ((Component)((BrotherEncounterBaseState)self).childLocator.FindChild("AllPhases")).gameObject; if (Object.op_Implicit((Object)(object)gameObject)) { gameObject.SetActive(true); } } self.healthBarShowTime = FixedTimeStamp.now + self.healthBarShowDelay; if (Object.op_Implicit((Object)(object)DirectorCore.instance)) { CombatDirector[] components = ((Component)DirectorCore.instance).GetComponents<CombatDirector>(); for (int i = 0; i < components.Length; i++) { Behaviour val3 = (Behaviour)(object)components[i]; val3.enabled = false; } } if (NetworkServer.active && !((Object)(object)self.phaseScriptedCombatEncounter == (Object)null)) { if (phaseCounter == 1) { Mithrix.transform.position = new Vector3(-88.5f, 491.5f, -0.3f); Mithrix.transform.rotation = Quaternion.identity; Transform transform = Mithrix.transform; SpawnInfo val4 = default(SpawnInfo); val4.explicitSpawnPosition = transform; val4.spawnCard = MithrixCard; SpawnInfo val5 = val4; self.phaseScriptedCombatEncounter.spawns = (SpawnInfo[])(object)new SpawnInfo[1] { val5 }; } self.phaseScriptedCombatEncounter.combatSquad.onMemberAddedServer += self.OnMemberAddedServer; } } private void SkyLeapDeathStateOnEnter(orig_OnEnter orig, SkyLeapDeathState self) { if (((Object)((EntityState)self).characterBody).name == "BrotherGlassBody(Clone)") { ((GenericCharacterDeath)self).DestroyModel(); if (NetworkServer.active) { ((GenericCharacterDeath)self).DestroyBodyAsapServer(); } } else { orig.Invoke(self); } } private void Phase1OnEnter(orig_OnEnter orig, Phase1 self) { AdjustBaseStats(); orig.Invoke(self); } private void Phase2OnEnter(orig_OnEnter orig, Phase2 self) { ((BrotherEncounterBaseState)self).KillAllMonsters(); AdjustPhase2Stats(); orig.Invoke(self); } private void Phase3OnEnter(orig_OnEnter orig, Phase3 self) { ((BrotherEncounterBaseState)self).KillAllMonsters(); AdjustPhase3Stats(); orig.Invoke(self); } private void Phase4OnEnter(orig_OnEnter orig, Phase4 self) { AdjustPhase4Stats(); orig.Invoke(self); } private void SlideIntroStateOnEnter(orig_OnEnter orig, SlideIntroState self) { //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_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Expected O, but got Unknown //IL_003b: 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_007e: Expected O, but got Unknown //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010d: 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_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0153: 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_015a: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) Ray aimRay = ((BaseState)self).GetAimRay(); if (((EntityState)self).isAuthority) { if (((Object)((EntityState)self).characterBody).name == "MithrixBody(Clone)") { DirectorPlacementRule val = new DirectorPlacementRule(); val.placementMode = (PlacementMode)1; val.minDistance = 3f; val.maxDistance = 20f; val.spawnOnTarget = ((EntityState)self).gameObject.transform; Xoroshiro128Plus rng = RoR2Application.rng; DirectorSpawnRequest val2 = new DirectorSpawnRequest(MithrixGlassCard, val, rng); val2.summonerBodyObject = ((EntityState)self).gameObject; val2.onSpawnedServer = (Action<SpawnResult>)Delegate.Combine(val2.onSpawnedServer, (Action<SpawnResult>)delegate(SpawnResult spawnResult) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) spawnResult.spawnedInstance.GetComponent<Inventory>().GiveItem(Items.HealthDecay, 1); }); DirectorCore.instance.TrySpawnObject(val2); } if (ModConfig.DashProjectileCount.Value > 0) { int num = 360 / ModConfig.DashProjectileCount.Value; Vector3 val3 = Vector3.ProjectOnPlane(((EntityState)self).inputBank.aimDirection, Vector3.up); for (int i = 0; i < ModConfig.DashProjectileCount.Value; i++) { Util.PlaySound(((GenericProjectileBaseState)new FireExploderShards()).attackSoundString, ((EntityState)self).gameObject); Vector3 val4 = Quaternion.AngleAxis((float)(num * i), Vector3.forward) * val3; ProjectileManager.instance.FireProjectile(exploderProjectile, ((Ray)(ref aimRay)).origin, Quaternion.LookRotation(val4), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * FistSlam.waveProjectileDamageCoefficient / 10f, 0f, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); ProjectileManager.instance.FireProjectile(golemProjectile, ((Ray)(ref aimRay)).origin, Quaternion.LookRotation(val4), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * FistSlam.waveProjectileDamageCoefficient / 4f, 0f, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } } } orig.Invoke(self); } private void SprintBashOnEnter(orig_OnEnter orig, SprintBash self) { //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_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_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_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_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_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Unknown result type (might be due to invalid IL or missing references) //IL_0222: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_022e: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Unknown result type (might be due to invalid IL or missing references) //IL_0292: Unknown result type (might be due to invalid IL or missing references) //IL_0297: Unknown result type (might be due to invalid IL or missing references) //IL_0299: Unknown result type (might be due to invalid IL or missing references) //IL_029e: Unknown result type (might be due to invalid IL or missing references) if (((EntityState)self).isAuthority) { Util.PlaySound(FireTwinShots.attackSoundString, ((EntityState)self).gameObject); Ray aimRay = ((BaseState)self).GetAimRay(); Util.PlaySound(FireLunarShards.fireSound, ((EntityState)self).gameObject); for (int i = 0; i < ModConfig.SuperShardWeight.Value; i++) { ProjectileManager.instance.FireProjectile(FireLunarShards.projectilePrefab, ((Ray)(ref aimRay)).origin, Quaternion.LookRotation(((Ray)(ref aimRay)).direction), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * 0.1f / 12f, 0f, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } if (Object.op_Implicit((Object)(object)PhaseCounter.instance)) { Vector3 val = Vector3.ProjectOnPlane(((EntityState)self).inputBank.aimDirection, Vector3.up); Vector3 footPosition = ((EntityState)self).characterBody.footPosition; if (PhaseCounter.instance.phase != 1) { Vector3 val2 = Quaternion.AngleAxis(0f, Vector3.up) * val; ProjectileManager.instance.FireProjectile(WeaponSlam.waveProjectilePrefab, footPosition, Util.QuaternionSafeLookRotation(val2), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * WeaponSlam.waveProjectileDamageCoefficient, WeaponSlam.waveProjectileForce, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } if (PhaseCounter.instance.phase == 3 && ((Object)((EntityState)self).characterBody).name != "BrotherGlassBody(Clone)") { ProjectileManager.instance.FireProjectile(FireRandomProjectiles.projectilePrefab, footPosition, Util.QuaternionSafeLookRotation(Quaternion.AngleAxis(-30f, Vector3.up) * val), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * FireRandomProjectiles.damageCoefficient, UltChannelState.waveProjectileForce, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); ProjectileManager.instance.FireProjectile(FireRandomProjectiles.projectilePrefab, footPosition, Util.QuaternionSafeLookRotation(Quaternion.AngleAxis(0f, Vector3.up) * val), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * FireRandomProjectiles.damageCoefficient, UltChannelState.waveProjectileForce, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); ProjectileManager.instance.FireProjectile(FireRandomProjectiles.projectilePrefab, footPosition, Util.QuaternionSafeLookRotation(Quaternion.AngleAxis(30f, Vector3.up) * val), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * FireRandomProjectiles.damageCoefficient, UltChannelState.waveProjectileForce, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } } } orig.Invoke(self); } private void WeaponSlamOnEnter(orig_OnEnter orig, WeaponSlam self) { //IL_001c: 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) GameObject pillarProjectilePrefab = WeaponSlam.pillarProjectilePrefab; pillarProjectilePrefab.transform.localScale = new Vector3(3f, 3f, 3f); pillarProjectilePrefab.GetComponent<ProjectileController>().ghostPrefab.transform.localScale = new Vector3(3f, 3f, 3f); hasfired = false; orig.Invoke(self); } private void WeaponSlamFixedUpdate(orig_FixedUpdate orig, WeaponSlam self) { //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0138: 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_013c: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_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_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_0296: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02a9: Unknown result type (might be due to invalid IL or missing references) //IL_02ab: Unknown result type (might be due to invalid IL or missing references) if (((EntityState)self).isAuthority && self.hasDoneBlastAttack) { ((BaseUnityPlugin)this).Logger.LogDebug((object)"blast attack done"); if (Object.op_Implicit((Object)(object)self.modelTransform) && !hasfired) { hasfired = true; ((BaseUnityPlugin)this).Logger.LogDebug((object)"modeltransformed"); if (Object.op_Implicit((Object)(object)PhaseCounter.instance)) { int value = ModConfig.SlamOrbProjectileCount.Value; int value2 = ModConfig.SlamShardCount.Value; int num = ((PhaseCounter.instance.phase == 2) ? 8 : 10); float num2 = 360f / (float)value; float num3 = 360f / (float)value2; float num4 = 360f / (float)num; Vector3 val = Vector3.ProjectOnPlane(((EntityState)self).inputBank.aimDirection, Vector3.up); Vector3 val2 = Vector3.ProjectOnPlane(((EntityState)self).inputBank.aimDirection, Vector3.forward); Transform val3 = ((BaseState)self).FindModelChild(WeaponSlam.muzzleString); Vector3 position = val3.position; for (int i = 0; i < value; i++) { Vector3 val4 = Quaternion.AngleAxis(num2 * (float)i, Vector3.up) * val; ProjectileManager.instance.FireProjectile(FistSlam.waveProjectilePrefab, position, Util.QuaternionSafeLookRotation(val4), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * FistSlam.waveProjectileDamageCoefficient, FistSlam.waveProjectileForce, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } for (int j = 0; j < value2; j++) { Ray aimRay = ((BaseState)self).GetAimRay(); for (int k = 0; k < ModConfig.SuperShardWeight.Value; k++) { Vector3 val5 = Quaternion.AngleAxis(num3 * (float)k, Vector3.up) * val; ProjectileManager.instance.FireProjectile(FireLunarShards.projectilePrefab, ((Ray)(ref aimRay)).origin, Quaternion.LookRotation(val5), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * 0.1f / 12f, 0f, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } } if (PhaseCounter.instance.phase != 1) { for (int l = 0; l < num; l++) { Vector3 val6 = Quaternion.AngleAxis(num4 * (float)l, Vector3.up) * val; ProjectileManager.instance.FireProjectile(FireRandomProjectiles.projectilePrefab, position, Util.QuaternionSafeLookRotation(val6), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * FireRandomProjectiles.damageCoefficient, UltChannelState.waveProjectileForce, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } } } } } orig.Invoke(self); } private void FireLunarShardsOnEnter(orig_OnEnter orig, FireLunarShards self) { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_0063: 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_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0258: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_0275: Unknown result type (might be due to invalid IL or missing references) //IL_027a: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_024a: 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_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_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_0316: Unknown result type (might be due to invalid IL or missing references) //IL_036c: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Unknown result type (might be due to invalid IL or missing references) //IL_0380: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Unknown result type (might be due to invalid IL or missing references) if (self is FireLunarShardsHurt) { self.duration = FireLunarShards.baseDuration / ((BaseState)self).attackSpeedStat; if (((EntityState)self).isAuthority) { Ray aimRay = ((BaseState)self).GetAimRay(); Transform val = ((BaseState)self).FindModelChild(FireLunarShards.muzzleString); if (Object.op_Implicit((Object)(object)val)) { ((Ray)(ref aimRay)).origin = val.position; } ((Ray)(ref aimRay)).direction = Util.ApplySpread(((Ray)(ref aimRay)).direction, 0f, self.maxSpread, self.spreadYawScale, self.spreadPitchScale, 0f, 0f); for (int i = 0; i < 12; i++) { int num = (int)Util.PlaySound(FireLunarShards.fireSound, ((EntityState)self).gameObject); ProjectileManager.instance.FireProjectile(new FireProjectileInfo { position = ((Ray)(ref aimRay)).origin, rotation = Quaternion.LookRotation(((Ray)(ref aimRay)).direction), crit = ((EntityState)self).characterBody.RollCrit(), damage = ((EntityState)self).characterBody.damage * self.damageCoefficient, damageColorIndex = (DamageColorIndex)0, owner = ((EntityState)self).gameObject, procChainMask = default(ProcChainMask), force = 0f, useFuseOverride = false, useSpeedOverride = false, target = null, projectilePrefab = FireLunarShards.projectilePrefab }); } } ((EntityState)self).PlayAnimation("Gesture, Additive", "FireLunarShards"); ((EntityState)self).PlayAnimation("Gesture, Override", "FireLunarShards"); ((BaseState)self).AddRecoil(-0.4f * FireLunarShards.recoilAmplitude, -0.8f * FireLunarShards.recoilAmplitude, -0.3f * FireLunarShards.recoilAmplitude, 0.3f * FireLunarShards.recoilAmplitude); ((EntityState)self).characterBody.AddSpreadBloom(FireLunarShards.spreadBloomValue); EffectManager.SimpleMuzzleFlash(FireLunarShards.muzzleFlashEffectPrefab, ((EntityState)self).gameObject, FireLunarShards.muzzleString, false); return; } if (!(self is FireLunarShardsHurt) && ((EntityState)self).isAuthority) { Ray aimRay2 = ((BaseState)self).GetAimRay(); Transform val2 = ((BaseState)self).FindModelChild(FireLunarShards.muzzleString); if (Object.op_Implicit((Object)(object)val2)) { ((Ray)(ref aimRay2)).origin = val2.position; } FireProjectileInfo val3 = default(FireProjectileInfo); val3.position = ((Ray)(ref aimRay2)).origin; val3.rotation = Quaternion.LookRotation(((Ray)(ref aimRay2)).direction); val3.crit = ((EntityState)self).characterBody.RollCrit(); val3.damage = ((EntityState)self).characterBody.damage * self.damageCoefficient; val3.damageColorIndex = (DamageColorIndex)0; val3.owner = ((EntityState)self).gameObject; val3.procChainMask = default(ProcChainMask); val3.force = 0f; val3.useFuseOverride = false; val3.useSpeedOverride = false; val3.target = null; val3.projectilePrefab = FireLunarShards.projectilePrefab; for (int j = 0; j < ModConfig.LunarShardAdd.Value; j++) { ProjectileManager.instance.FireProjectile(val3); ((Ray)(ref aimRay2)).direction = Util.ApplySpread(((Ray)(ref aimRay2)).direction, 0f, self.maxSpread * (1f + 0.45f * (float)j), self.spreadYawScale * (1f + 0.45f * (float)j), self.spreadPitchScale * (1f + 0.45f * (float)j), 0f, 0f); val3.rotation = Quaternion.LookRotation(((Ray)(ref aimRay2)).direction); } } orig.Invoke(self); } private void UltEnterStateOnEnter(orig_OnEnter orig, UltEnterState self) { //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) orig.Invoke(self); if (Object.op_Implicit((Object)(object)PhaseCounter.instance) && PhaseCounter.instance.phase == 3) { ((EntityState)self).characterBody.AddBuff(Buffs.Immune); ProjectileManager.instance.FireProjectile(WeaponSlam.pillarProjectilePrefab, ((EntityState)self).characterBody.footPosition, Quaternion.identity, ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * WeaponSlam.pillarDamageCoefficient, 0f, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } } private void UltExitStateOnEnter(orig_OnEnter orig, UltExitState self) { if (Object.op_Implicit((Object)(object)PhaseCounter.instance) && PhaseCounter.instance.phase == 3) { ((EntityState)self).characterBody.RemoveBuff(Buffs.Immune); } orig.Invoke(self); } private void UltChannelStateFireWave(orig_FireWave orig, UltChannelState self) { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: 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_00dc: 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_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)PhaseCounter.instance) && PhaseCounter.instance.phase == 3) { UltChannelState.waveProjectileCount = 0; int count = PlayerCharacterMasterController.instances.Count; int num = ModConfig.UltimateWaves.Value + 2; float num2 = 360f / (float)num; Vector3 val = Vector3.ProjectOnPlane(Random.onUnitSphere, Vector3.up); Vector3 normalized = ((Vector3)(ref val)).normalized; GameObject val2 = UltChannelState.waveProjectileLeftPrefab; if ((double)Random.value <= 0.5) { val2 = UltChannelState.waveProjectileRightPrefab; } Random random = new Random(); int index = random.Next(0, count - 1); PlayerCharacterMasterController val3 = PlayerCharacterMasterController.instances[index]; Vector3 val4 = new Vector3(val3.body.footPosition.x, ((EntityState)self).characterBody.footPosition.y, val3.body.footPosition.z) + new Vector3(Random.Range(-50f, 50f), 0f, Random.Range(-50f, 50f)); for (int i = 0; i < num; i++) { Vector3 val5 = Quaternion.AngleAxis(num2 * (float)i, Vector3.up) * normalized; ProjectileManager.instance.FireProjectile(val2, val4, Util.QuaternionSafeLookRotation(val5), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * UltChannelState.waveProjectileDamageCoefficient, UltChannelState.waveProjectileForce, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } } orig.Invoke(self); } private static void FistSlamOnEnter(orig_OnEnter orig, FistSlam self) { FistSlam.waveProjectileDamageCoefficient = 2.3f; FistSlam.healthCostFraction = 0f; FistSlam.waveProjectileCount = 20; FistSlam.baseDuration = 3.5f; orig.Invoke(self); } private static void FistSlamFixedUpdate(orig_FixedUpdate orig, FistSlam self) { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0066: 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_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_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_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_0119: 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_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_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) if (Object.op_Implicit((Object)(object)self.modelAnimator) && (double)self.modelAnimator.GetFloat("fist.hitBoxActive") > 0.5 && !self.hasAttacked && ((EntityState)self).isAuthority) { Ray aimRay = ((BaseState)self).GetAimRay(); float num = 360f / (float)FistSlam.waveProjectileCount; Vector3 val = Vector3.ProjectOnPlane(((EntityState)self).inputBank.aimDirection, Vector3.up); Vector3 footPosition = ((EntityState)self).characterBody.footPosition; Vector3 corePosition = ((EntityState)self).characterBody.corePosition; for (int i = 0; i < FistSlam.waveProjectileCount; i++) { Vector3 val2 = Quaternion.AngleAxis(num * (float)i, Vector3.up) * val; ProjectileManager.instance.FireProjectile(golemProjectile, corePosition, Util.QuaternionSafeLookRotation(val2), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * FistSlam.waveProjectileDamageCoefficient / 4f, 0f, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); ProjectileManager.instance.FireProjectile(exploderProjectile, corePosition, Util.QuaternionSafeLookRotation(val2), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * FistSlam.waveProjectileDamageCoefficient / 10f, 0f, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); ProjectileManager.instance.FireProjectile(FireLunarShards.projectilePrefab, ((Ray)(ref aimRay)).origin, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), ((EntityState)self).gameObject, ((EntityState)self).characterBody.damage * 0.1f / 12f, 0f, Util.CheckRoll(((EntityState)self).characterBody.crit, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f); } } orig.Invoke(self); } private static void SpellChannelEnterStateOnEnter(orig_OnEnter orig, SpellChannelEnterState self) { SpellChannelEnterState.duration = 3f; orig.Invoke(self); } private static void SpellChannelStateOnEnter(orig_OnEnter orig, SpellChannelState self) { SpellChannelState.stealInterval = 0.1f; SpellChannelState.delayBeforeBeginningSteal = 0f; SpellChannelState.maxDuration = 15f; orig.Invoke(self); } private void SpellChannelStateOnExit(orig_OnExit orig, SpellChannelState self) { orig.Invoke(self); GameObject val = Object.Instantiate<GameObject>(BrotherHaunt); val.GetComponent<TeamComponent>().teamIndex = (TeamIndex)2; NetworkServer.Spawn(val); } private static void SpellChannelExitStateOnEnter(orig_OnEnter orig, SpellChannelExitState self) { SpellChannelExitState.lendInterval = 0.04f; SpellChannelExitState.duration = 2.5f; orig.Invoke(self); } private static void StaggerEnterOnEnter(orig_OnEnter orig, StaggerEnter self) { ((StaggerBaseState)self).duration = 0f; orig.Invoke(self); } private static void StaggerExitOnEnter(orig_OnEnter orig, StaggerExit self) { ((StaggerBaseState)self).duration = 0f; orig.Invoke(self); } private static void StaggerLoopOnEnter(orig_OnEnter orig, StaggerLoop self) { ((StaggerBaseState)self).duration = 0f; orig.Invoke(self); } private void TrueDeathStateOnEnter(orig_OnEnter orig, TrueDeathState self) { TrueDeathState.dissolveDuration = 3f; GameObject.Find("BrotherHauntBody(Clone)").GetComponent<HealthComponent>().Suicide((GameObject)null, (GameObject)null, (DamageType)0); orig.Invoke(self); } private static void CleanupPillar(orig_OnEnter orig, WeaponSlam self) { //IL_001c: 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) GameObject pillarProjectilePrefab = WeaponSlam.pillarProjectilePrefab; pillarProjectilePrefab.transform.localScale = new Vector3(1f, 1f, 1f); pillarProjectilePrefab.GetComponent<ProjectileController>().ghostPrefab.transform.localScale = new Vector3(1f, 1f, 1f); orig.Invoke(self); } } internal class ModConfig { public static ConfigEntry<bool> debuffResistance; public static ConfigEntry<float> phase1BaseHPScaling; public static ConfigEntry<float> phase2BaseHPScaling; public static ConfigEntry<float> phase3BaseHPScaling; public static ConfigEntry<float> phase4BaseHPScaling; public static ConfigEntry<float> phase1BaseMobilityScaling; public static ConfigEntry<float> phase2BaseMobilityScaling; public static ConfigEntry<float> phase3BaseMobilityScaling; public static ConfigEntry<float> phase1LoopHPScaling; public static ConfigEntry<float> phase2LoopHPScaling; public static ConfigEntry<float> phase3LoopHPScaling; public static ConfigEntry<float> phase4LoopHPScaling; public static ConfigEntry<float> phase1LoopMobilityScaling; public static ConfigEntry<float> phase2LoopMobilityScaling; public static ConfigEntry<float> phase3LoopMobilityScaling; public static ConfigEntry<float> phase1PlayerHPScaling; public static ConfigEntry<float> phase1PlayerMobilityScaling; public static ConfigEntry<float> phase2PlayerHPScaling; public static ConfigEntry<float> phase2PlayerMobilityScaling; public static ConfigEntry<float> phase3PlayerHPScaling; public static ConfigEntry<float> phase3PlayerMobilityScaling; public static ConfigEntry<float> phase4PlayerHPScaling; public static ConfigEntry<float> basehealth; public static ConfigEntry<float> levelhealth; public static ConfigEntry<float> basedamage; public static ConfigEntry<float> leveldamage; public static ConfigEntry<float> basearmor; public static ConfigEntry<float> baseattackspeed; public static ConfigEntry<float> basespeed; public static ConfigEntry<float> mass; public static ConfigEntry<float> turningspeed; public static ConfigEntry<float> jumpingpower; public static ConfigEntry<float> acceleration; public static ConfigEntry<float> aircontrol; public static ConfigEntry<int> PrimStocks; public static ConfigEntry<int> SecStocks; public static ConfigEntry<int> UtilStocks; public static ConfigEntry<float> PrimCD; public static ConfigEntry<float> SecCD; public static ConfigEntry<float> UtilCD; public static ConfigEntry<float> SpecialCD; public static ConfigEntry<float> CrushingLeap; public static ConfigEntry<float> P2SuperShardInterval; public static ConfigEntry<int> SuperShardWeight; public static ConfigEntry<int> P2UltCount; public static ConfigEntry<int> P2UltOrbCount; public static ConfigEntry<float> P2UltDuration; public static ConfigEntry<int> SuperShardCount; public static ConfigEntry<float> SuperShardCD; public static ConfigEntry<int> SlamOrbProjectileCount; public static ConfigEntry<int> SlamShardCount; public static ConfigEntry<int> DashProjectileCount; public static ConfigEntry<int> LunarShardAdd; public static ConfigEntry<int> UltimateWaves; public static ConfigEntry<int> UltimateCount; public static ConfigEntry<float> UltimateDuration; public static ConfigEntry<float> JumpRecast; public static ConfigEntry<float> JumpPause; public static ConfigEntry<int> JumpWaveCount; public static ConfigEntry<float> ShardHoming; public static ConfigEntry<float> ShardRange; public static ConfigEntry<float> ShardCone; public static void InitConfig(ConfigFile config) { //IL_074e: Unknown result type (might be due to invalid IL or missing references) //IL_0758: Expected O, but got Unknown //IL_075e: Unknown result type (might be due to invalid IL or missing references) //IL_0763: Unknown result type (might be due to invalid IL or missing references) //IL_076e: Unknown result type (might be due to invalid IL or missing references) //IL_0779: Unknown result type (might be due to invalid IL or missing references) //IL_0789: Expected O, but got Unknown //IL_0784: Unknown result type (might be due to invalid IL or missing references) //IL_078e: Expected O, but got Unknown //IL_0794: Unknown result type (might be due to invalid IL or missing references) //IL_0799: Unknown result type (might be due to invalid IL or missing references) //IL_07a4: Unknown result type (might be due to invalid IL or missing references) //IL_07af: Unknown result type (might be due to invalid IL or missing references) //IL_07bf: Expected O, but got Unknown //IL_07ba: Unknown result type (might be due to invalid IL or missing references) //IL_07c4: Expected O, but got Unknown //IL_07ca: Unknown result type (might be due to invalid IL or missing references) //IL_07cf: Unknown result type (might be due to invalid IL or missing references) //IL_07da: Unknown result type (might be due to invalid IL or missing references) //IL_07e5: Unknown result type (might be due to invalid IL or missing references) //IL_07f5: Expected O, but got Unknown //IL_07f0: Unknown result type (might be due to invalid IL or missing references) //IL_07fa: Expected O, but got Unknown //IL_0800: Unknown result type (might be due to invalid IL or missing references) //IL_0805: Unknown result type (might be due to invalid IL or missing references) //IL_0810: Unknown result type (might be due to invalid IL or missing references) //IL_081b: Unknown result type (might be due to invalid IL or missing references) //IL_082b: Expected O, but got Unknown //IL_0826: Unknown result type (might be due to invalid IL or missing references) //IL_0830: Expected O, but got Unknown //IL_0836: Unknown result type (might be due to invalid IL or missing references) //IL_083b: Unknown result type (might be due to invalid IL or missing references) //IL_0846: Unknown result type (might be due to invalid IL or missing references) //IL_0851: Unknown result type (might be due to invalid IL or missing references) //IL_0861: Expected O, but got Unknown //IL_085c: Unknown result type (might be due to invalid IL or missing references) //IL_0866: Expected O, but got Unknown //IL_086c: Unknown result type (might be due to invalid IL or missing references) //IL_0871: Unknown result type (might be due to invalid IL or missing references) //IL_087c: Unknown result type (might be due to invalid IL or missing references) //IL_0887: Unknown result type (might be due to invalid IL or missing references) //IL_0897: Expected O, but got Unknown //IL_0892: Unknown result type (might be due to invalid IL or missing references) //IL_089c: Expected O, but got Unknown //IL_08a2: Unknown result type (might be due to invalid IL or missing references) //IL_08a7: Unknown result type (might be due to invalid IL or missing references) //IL_08b2: Unknown result type (might be due to invalid IL or missing references) //IL_08bd: Unknown result type (might be due to invalid IL or missing references) //IL_08cd: Expected O, but got Unknown //IL_08c8: Unknown result type (might be due to invalid IL or missing references) //IL_08d2: Expected O, but got Unknown //IL_08d8: Unknown result type (might be due to invalid IL or missing references) //IL_08dd: Unknown result type (might be due to invalid IL or missing references) //IL_08e8: Unknown result type (might be due to invalid IL or missing references) //IL_08f3: Unknown result type (might be due to invalid IL or missing references) //IL_0903: Expected O, but got Unknown //IL_08fe: Unknown result type (might be due to invalid IL or missing references) //IL_0908: Expected O, but got Unknown //IL_090e: Unknown result type (might be due to invalid IL or missing references) //IL_0913: Unknown result type (might be due to invalid IL or missing references) //IL_091e: Unknown result type (might be due to invalid IL or missing references) //IL_0929: Unknown result type (might be due to invalid IL or missing references) //IL_0939: Expected O, but got Unknown //IL_0934: Unknown result type (might be due to invalid IL or missing references) //IL_093e: Expected O, but got Unknown //IL_0944: Unknown result type (might be due to invalid IL or missing references) //IL_0949: Unknown result type (might be due to invalid IL or missing references) //IL_0954: Unknown result type (might be due to invalid IL or missing references) //IL_095f: Unknown result type (might be due to invalid IL or missing references) //IL_096f: Expected O, but got Unknown //IL_096a: Unknown result type (might be due to invalid IL or missing references) //IL_0974: Expected O, but got Unknown //IL_097a: Unknown result type (might be due to invalid IL or missing references) //IL_097f: Unknown result type (might be due to invalid IL or missing references) //IL_098a: Unknown result type (might be due to invalid IL or missing references) //IL_0995: Unknown result type (might be due to invalid IL or missing references) //IL_09a5: Expected O, but got Unknown //IL_09a0: Unknown result type (might be due to invalid IL or missing references) //IL_09aa: Expected O, but got Unknown //IL_09b0: Unknown result type (might be due to invalid IL or missing references) //IL_09b5: Unknown result type (might be due to invalid IL or missing references) //IL_09c0: Unknown result type (might be due to invalid IL or missing references) //IL_09cb: Unknown result type (might be due to invalid IL or missing references) //IL_09db: Expected O, but got Unknown //IL_09d6: Unknown result type (might be due to invalid IL or missing references) //IL_09e0: Expected O, but got Unknown //IL_09e6: Unknown result type (might be due to invalid IL or missing references) //IL_09eb: Unknown result type (might be due to invalid IL or missing references) //IL_09f6: Unknown result type (might be due to invalid IL or missing references) //IL_0a01: Unknown result type (might be due to invalid IL or missing references) //IL_0a11: Expected O, but got Unknown //IL_0a0c: Unknown result type (might be due to invalid IL or missing references) //IL_0a16: Expected O, but got Unknown //IL_0a1c: Unknown result type (might be due to invalid IL or missing references) //IL_0a21: Unknown result type (might be due to invalid IL or missing references) //IL_0a2c: Unknown result type (might be due to invalid IL or missing references) //IL_0a37: Unknown result type (might be due to invalid IL or missing references) //IL_0a47: Expected O, but got Unknown //IL_0a42: Unknown result type (might be due to invalid IL or missing references) //IL_0a4c: Expected O, but got Unknown //IL_0a52: Unknown result type (might be due to invalid IL or missing references) //IL_0a57: Unknown result type (might be due to invalid IL or missing references) //IL_0a62: Unknown result type (might be due to invalid IL or missing references) //IL_0a6d: Unknown result type (might be due to invalid IL or missing references) //IL_0a7d: Expected O, but got Unknown //IL_0a78: Unknown result type (might be due to invalid IL or missing references) //IL_0a82: Expected O, but got Unknown //IL_0a88: Unknown result type (might be due to invalid IL or missing references) //IL_0a8d: Unknown result type (might be due to invalid IL or missing references) //IL_0a98: Unknown result type (might be due to invalid IL or missing references) //IL_0aa3: Unknown result type (might be due to invalid IL or missing references) //IL_0ab3: Expected O, but got Unknown //IL_0aae: Unknown result type (might be due to invalid IL or missing references) //IL_0ab8: Expected O, but got Unknown //IL_0abe: Unknown result type (might be due to invalid IL or missing references) //IL_0ac3: Unknown result type (might be due to invalid IL or missing references) //IL_0ace: Unknown result type (might be due to invalid IL or missing references) //IL_0ad9: Unknown result type (might be due to invalid IL or missing references) //IL_0ae9: Expected O, but got Unknown //IL_0ae4: Unknown result type (might be due to invalid IL or missing references) //IL_0aee: Expected O, but got Unknown //IL_0af4: Unknown result type (might be due to invalid IL or missing references) //IL_0af9: Unknown result type (might be due to invalid IL or missing references) //IL_0b04: Unknown result type (might be due to invalid IL or missing references) //IL_0b0f: Unknown result type (might be due to invalid IL or missing references) //IL_0b1f: Expected O, but got Unknown //IL_0b1a: Unknown result type (might be due to invalid IL or missing references) //IL_0b24: Expected O, but got Unknown //IL_0b2a: Unknown result type (might be due to invalid IL or missing references) //IL_0b2f: Unknown result type (might be due to invalid IL or missing references) //IL_0b3a: Unknown result type (might be due to invalid IL or missing references) //IL_0b45: Unknown result type (might be due to invalid IL or missing references) //IL_0b55: Expected O, but got Unknown //IL_0b50: Unknown result type (might be due to invalid IL or missing references) //IL_0b5a: Expected O, but got Unknown //IL_0b60: Unknown result type (might be due to invalid IL or missing references) //IL_0b65: Unknown result type (might be due to invalid IL or missing references) //IL_0b70: Unknown result type (might be due to invalid IL or missing references) //IL_0b7b: Unknown result type (might be due to invalid IL or missing references) //IL_0b8b: Expected O, but got Unknown //IL_0b86: Unknown result type (might be due to invalid IL or missing references) //IL_0b90: Expected O, but got Unknown //IL_0b96: Unknown result type (might be due to invalid IL or missing references) //IL_0b9b: Unknown result type (might be due to invalid IL or missing references) //IL_0ba6: Unknown result type (might be due to invalid IL or missing references) //IL_0bb1: Unknown result type (might be due to invalid IL or missing references) //IL_0bc1: Expected O, but got Unknown //IL_0bbc: Unknown result type (might be due to invalid IL or missing references) //IL_0bc6: Expected O, but got Unknown //IL_0bcc: Unknown result type (might be due to invalid IL or missing references) //IL_0bd1: Unknown result type (might be due to invalid IL or missing references) //IL_0bdc: Unknown result type (might be due to invalid IL or missing references) //IL_0be7: Unknown result type (might be due to invalid IL or missing references) //IL_0bf7: Expected O, but got Unknown //IL_0bf2: Unknown result type (might be due to invalid IL or missing references) //IL_0bfc: Expected O, but got Unknown //IL_0c02: Unknown result type (might be due to invalid IL or missing references) //IL_0c07: Unknown result type (might be due to invalid IL or missing references) //IL_0c12: Unknown result type (might be due to invalid IL or missing references) //IL_0c1d: Unknown result type (might be due to invalid IL or missing references) //IL_0c2d: Expected O, but got Unknown //IL_0c28: Unknown result type (might be due to invalid IL or missing references) //IL_0c32: Expected O, but got Unknown //IL_0c38: Unknown result type (might be due to invalid IL or missing references) //IL_0c3d: Unknown result type (might be due to invalid IL or missing references) //IL_0c48: Unknown result type (might be due to invalid IL or missing references) //IL_0c53: Unknown result type (might be due to invalid IL or missing references) //IL_0c63: Expected O, but got Unknown //IL_0c5e: Unknown result type (might be due to invalid IL or missing references) //IL_0c68: Expected O, but got Unknown //IL_0c6e: Unknown result type (might be due to invalid IL or missing references) //IL_0c73: Unknown result type (might be due to invalid IL or missing references) //IL_0c7e: Unknown result type (might be due to invalid IL or missing references) //IL_0c89: Unknown result type (might be due to invalid IL or missing references) //IL_0c99: Expected O, but got Unknown //IL_0c94: Unknown result type (might be due to invalid IL or missing references) //IL_0c9e: Expected O, but got Unknown //IL_0ca4: Unknown result type (might be due to invalid IL or missing references) //IL_0ca9: Unknown result type (might be due to invalid IL or missing references) //IL_0cb4: Unknown result type (might be due to invalid IL or missing references) //IL_0cbf: Unknown result type (might be due to invalid IL or missing references) //IL_0ccf: Expected O, but got Unknown //IL_0cca: Unknown result type (might be due to invalid IL or missing references) //IL_0cd4: Expected O, but got Unknown //IL_0cda: Unknown result type (might be due to invalid IL or missing references) //IL_0cdf: Unknown result type (might be due to invalid IL or missing references) //IL_0cea: Unknown result type (might be due to invalid IL or missing references) //IL_0cf5: Unknown result type (might be due to invalid IL or missing references) //IL_0d05: Expected O, but got Unknown //IL_0d00: Unknown result type (might be due to invalid IL or missing references) //IL_0d0a: Expected O, but got Unknown //IL_0d10: Unknown result type (might be due to invalid IL or missing references) //IL_0d15: Unknown result type (might be due to invalid IL or missing references) //IL_0d20: Unknown result type (might be due to invalid IL or missing references) //IL_0d2b: Unknown result type (might be due to invalid IL or missing references) //IL_0d3b: Expected O, but got Unknown //IL_0d36: Unknown result type (might be due to invalid IL or missing references) //IL_0d40: Expected O, but got Unknown //IL_0d46: Unknown result type (might be due to invalid IL or missing references) //IL_0d4b: Unknown result type (might be due to invalid IL or missing references) //IL_0d56: Unknown result type (might be due to invalid IL or missing references) //IL_0d61: Unknown result type (might be due to invalid IL or missing references) //IL_0d71: Expected O, but got Unknown //IL_0d6c: Unknown result type (might be due to invalid IL or missing references) //IL_0d76: Expected O, but got Unknown //IL_0d7c: Unknown result type (might be due to invalid IL or missing references) //IL_0d81: Unknown result type (might be due to invalid IL or missing references) //IL_0d8c: Unknown result type (might be due to invalid IL or missing references) //IL_0d97: Unknown result type (might be due to invalid IL or missing references) //IL_0da7: Expected O, but got Unknown //IL_0da2: Unknown result type (might be due to invalid IL or missing references) //IL_0dac: Expected O, but got Unknown //IL_0db2: Unknown result type (might be due to invalid IL or missing references) //IL_0db7: Unknown result type (might be due to invalid IL or missing references) //IL_0dc2: Unknown result type (might be due to invalid IL or missing references) //IL_0dcd: Unknown result type (might be due to invalid IL or missing references) //IL_0ddd: Expected O, but got Unknown //IL_0dd8: Unknown result type (might be due to invalid IL or missing references) //IL_0de2: Expected O, but got Unknown //IL_0de8: Unknown result type (might be due to invalid IL or missing references) //IL_0ded: Unknown result type (might be due to invalid IL or missing references) //IL_0df8: Unknown result type (might be due to invalid IL or missing references) //IL_0e03: Unknown result type (might be due to invalid IL or missing references) //IL_0e13: Expected O, but got Unknown //IL_0e0e: Unknown result type (might be due to invalid IL or missing references) //IL_0e18: Expected O, but got Unknown //IL_0e1e: Unknown result type (might be due to invalid IL or missing references) //IL_0e23: Unknown result type (might be due to invalid IL or missing references) //IL_0e2e: Unknown result type (might be due to invalid IL or missing references) //IL_0e39: Unknown result type (might be due to invalid IL or missing references) //IL_0e49: Expected O, but got Unknown //IL_0e44: Unknown result type (might be due to invalid IL or missing references) //IL_0e4e: Expected O, but got Unknown //IL_0e54: Unknown result type (might be due to invalid IL or missing references) //IL_0e59: Unknown result type (might be due to invalid IL or missing references) //IL_0e60: Unknown result type (might be due to invalid IL or missing references) //IL_0e6c: Expected O, but got Unknown //IL_0e67: Unknown result type (might be due to invalid IL or missing references) //IL_0e71: Expected O, but got Unknown //IL_0e77: Unknown result type (might be due to invalid IL or missing references) //IL_0e7c: Unknown result type (might be due to invalid IL or missing references) //IL_0e83: Unknown result type (might be due to invalid IL or missing references) //IL_0e8f: Expected O, but got Unknown //IL_0e8a: Unknown result type (might be due to invalid IL or missing references) //IL_0e94: Expected O, but got Unknown //IL_0e9a: Unknown result type (might be due to invalid IL or missing references) //IL_0e9f: Unknown result type (might be due to invalid IL or missing references) //IL_0ea6: Unknown result type (might be due to invalid IL or missing references) //IL_0eb2: Expected O, but got Unknown //IL_0ead: Unknown result type (might be due to invalid IL or missing references) //IL_0eb7: Expected O, but got Unknown //IL_0ebd: Unknown result type (might be due to invalid IL or missing references) //IL_0ec2: Unknown result type (might be due to invalid IL or missing references) //IL_0ecd: Unknown result type (might be due to invalid IL or missing references) //IL_0ed8: Unknown result type (might be due to invalid IL or missing references) //IL_0ee8: Expected O, but got Unknown //IL_0ee3: Unknown result type (might be due to invalid IL or missing references) //IL_0eed: Expected O, but got Unknown //IL_0ef3: Unknown result type (might be due to invalid IL or missing references) //IL_0ef8: Unknown result type (might be due to invalid IL or missing references) //IL_0f03: Unknown result type (might be due to invalid IL or missing references) //IL_0f0e: Unknown result type (might be due to invalid IL or missing references) //IL_0f1e: Expected O, but got Unknown //IL_0f19: Unknown result type (might be due to invalid IL or missing references) //IL_0f23: Expected O, but got Unknown //IL_0f29: Unknown result type (might be due to invalid IL or missing references) //IL_0f2e: Unknown result type (might be due to invalid IL or missing references) //IL_0f39: Unknown result type (might be due to invalid IL or missing references) //IL_0f44: Unknown result type (might be due to invalid IL or missing references) //IL_0f54: Expected O, but got Unknown //IL_0f4f: Unknown result type (might be due to invalid IL or missing references) //IL_0f59: Expected O, but got Unknown //IL_0f5f: Unknown result type (might be due to invalid IL or missing references) //IL_0f64: Unknown result type (might be due to invalid IL or missing references) //IL_0f6f: Unknown result type (might be due to invalid IL or missing references) //IL_0f7a: Unknown result type (might be due to invalid IL or missing references) //IL_0f8a: Expected O, but got Unknown //IL_0f85: Unknown result type (might be due to invalid IL or missing references) //IL_0f8f: Expected O, but got Unknown //IL_0f95: Unknown result type (might be due to invalid IL or missing references) //IL_0f9a: Unknown result type (might be due to invalid IL or missing references) //IL_0fa5: Unknown result type (might be due to invalid IL or missing references) //IL_0fb0: Unknown result type (might be due to invalid IL or missing references) //IL_0fc0: Expected O, but got Unknown //IL_0fbb: Unknown result type (might be due to invalid IL or missing references) //IL_0fc5: Expected O, but got Unknown //IL_0fcb: Unknown result type (might be due to invalid IL or missing references) //IL_0fd0: Unknown result type (might be due to invalid IL or missing references) //IL_0fd7: Unknown result type (might be due to invalid IL or missing references) //IL_0fe4: Expected O, but got Unknown //IL_0fdf: Unknown result type (might be due to invalid IL or missing references) //IL_0fe9: Expected O, but got Unknown //IL_0fef: Unknown result type (might be due to invalid IL or missing references) //IL_0ff4: Unknown result type (might be due to invalid IL or missing references) //IL_0ffb: Unknown result type (might be due to invalid IL or missing references) //IL_1008: Expected O, but got Unknown //IL_1003: Unknown result type (might be due to invalid IL or missing references) //IL_100d: Expected O, but got Unknown //IL_1013: Unknown result type (might be due to invalid IL or missing references) //IL_1018: Unknown result type (might be due to invalid IL or missing references) //IL_1023: Unknown result type (might be due to invalid IL or missing references) //IL_102e: Unknown result type (might be due to invalid IL or missing references) //IL_103e: Expected O, but got Unknown //IL_1039: Unknown result type (might be due to invalid IL or missing references) //IL_1043: Expected O, but got Unknown //IL_1049: Unknown result type (might be due to invalid IL or missing references) //IL_104e: Unknown result type (might be due to invalid IL or missing references) //IL_1055: Unknown result type (might be due to invalid IL or missing references) //IL_1062: Expected O, but got Unknown //IL_105d: Unknown result type (might be due to invalid IL or missing references) //IL_1067: Expected O, but got Unknown //IL_106d: Unknown result type (might be due to invalid IL or missing references) //IL_1072: Unknown result type (might be due to invalid IL or missing references) //IL_1079: Unknown result type (might be due to invalid IL or missing references) //IL_1086: Expected O, but got Unknown //IL_1081: Unknown result type (might be due to invalid IL or missing references) //IL_108b: Expected O, but got Unknown //IL_1091: Unknown result type (might be due to invalid IL or missing references) //IL_1096: Unknown result type (might be due to invalid IL or missing references) //IL_109d: Unknown result type (might be due to invalid IL or missing references) //IL_10aa: Expected O, but got Unknown //IL_10a5: Unknown result type (might be due to invalid IL or missing references) //IL_10af: Expected O, but got Unknown //IL_10b5: Unknown result type (might be due to invalid IL or missing references) //IL_10ba: Unknown result type (might be due to invalid IL or missing references) //IL_10c1: Unknown result type (might be due to invalid IL or missing references) //IL_10cd: Expected O, but got Unknown //IL_10c8: Unknown result type (might be due to invalid IL or missing references) //IL_10d2: Expected O, but got Unknown //IL_10d8: Unknown result type (might be due to invalid IL or missing references) //IL_10dd: Unknown result type (might be due to invalid IL or missing references) //IL_10e4: Unknown result type (might be due to invalid IL or missing references) //IL_10f1: Expected O, but got Unknown //IL_10ec: Unknown result type (might be due to invalid IL or missing references) //IL_10f6: Expected O, but got Unknown //IL_10fc: Unknown result type (might be due to invalid IL or missing references) //IL_1101: Unknown result type (might be due to invalid IL or missing references) //IL_110c: Unknown result type (might be due to invalid IL or missing references) //IL_1117: Unknown result type (might be due to invalid IL or missing references) //IL_1127: Expected O, but got Unknown //IL_1122: Unknown result type (might be due to invalid IL or missing references) //IL_112c: Expected O, but got Unknown //IL_1132: Unknown result type (might be due to invalid IL or missing references) //IL_1137: Unknown result type (might be due to invalid IL or missing references) //IL_1142: Unknown result type (might be due to invalid IL or missing references) //IL_114d: Unknown result type (might be due to invalid IL or missing references) //IL_115d: Expected O, but got Unknown //IL_1158: Unknown result type (might be due to invalid IL or missing references) //IL_1162: Expected O, but got Unknown //IL_1168: Unknown result type (might be due to invalid IL or missing references) //IL_116d: Unknown result type (might be due to invalid IL or missing references) //IL_1178: Unknown result type (might be due to invalid IL or missing references) //IL_1183: Unknown result type (might be due to invalid IL or missing references) //IL_1193: Expected O, but got Unknown //IL_118e: Unknown result type (might be due to invalid IL or missing references) //IL_1198: Expected O, but got Unknown //IL_119e: Unknown result type (might be due to invalid IL or missing references) //IL_11a3: Unknown result type (might be due to invalid IL or missing references) //IL_11ab: Unknown result type (might be due to invalid IL or missing references) //IL_11b8: Expected O, but got Unknown //IL_11b3: Unknown result type (might be due to invalid IL or missing references) //IL_11bd: Expected O, but got Unknown //IL_11c3: Unknown result type (might be due to invalid IL or missing references) //IL_11c8: Unknown result type (might be due to invalid IL or missing references) //IL_11d3: Unknown result type (might be due to invalid IL or missing references) //IL_11de: Unknown result type (might be due to invalid IL or missing references) //IL_11ee: Expected O, but got Unknown //IL_11e9: Unknown result type (might be due to invalid IL or missing references) //IL_11f3: Expected O, but got Unknown //IL_11f9: Unknown result type (might be due to invalid IL or missing references) //IL_11fe: Unknown result type (might be due to invalid IL or missing references) //IL_1209: Unknown result type (might be due to invalid IL or missing references) //IL_1214: Unknown result type (might be due to invalid IL or missing references) //IL_1224: Expected O, but got Unknown //IL_121f: Unknown result type (might be due to invalid IL or missing references) //IL_1229: Expected O, but got Unknown //IL_122f: Unknown result type (might be due to invalid IL or missing references) //IL_1234: Unknown result type (might be due to invalid IL or missing references) //IL_123f: Unknown result type (might be due to invalid IL or missing references) //IL_124a: Unknown result type (might be due to invalid IL or missing references) //IL_125a: Expected O, but got Unknown //IL_1255: Unknown result type (might be due to invalid IL or missing references) //IL_125f: Expected O, but got Unknown debuffResistance = config.Bind<bool>("General", "Freeze/Nullify Immune", false, "Toggle the debuff resistance for loop 1, will not turn off for loops 2 and up"); phase1BaseHPScaling = config.Bind<float>("Scaling First Loop", "P1 HP", 0f, "HP boost percentage for Phase 1 FIRST LOOP (5 stages)"); phase2BaseHPScaling = config.Bind<float>("Scaling First Loop", "P2 HP", 0f, "HP boost percentage for Phase 2 FIRST LOOP"); phase3BaseHPScaling = config.Bind<float>("Scaling First Loop", "P3 HP", 0f, "HP boost percentage for Phase 3 FIRST LOOP"); phase4BaseHPScaling = config.Bind<float>("Scaling First Loop", "P4 HP", 0f, "HP boost percentage for Phase 4 FIRST LOOP"); phase1BaseMobilityScaling = config.Bind<float>("Scaling First Loop", "P1 Mobility", 0f, "Mobility boost percentage for Phase 1 FIRST LOOP"); phase2BaseMobilityScaling = config.Bind<float>("Scaling First Loop", "P2 Mobility", 0f, "Mobility boost percentage for Phase 2 FIRST LOOP"); phase3BaseMobilityScaling = config.Bind<float>("Scaling First Loop", "P3 Mobility", 0f, "Mobility boost percentage for Phase 3 FIRST LOOP"); phase1LoopHPScaling = config.Bind<float>("Scaling Per Loop", "P1 Loop HP", 0.2f, "HP boost percentage for Phase 1 PER LOOP (every 5 stages)"); phase2LoopHPScaling = config.Bind<float>("Scaling Per Loop", "P2 Loop HP", 0.3f, "HP boost percentage for Phase 2 PER LOOP"); phase3LoopHPScaling = config.Bind<float>("Scaling Per Loop", "P3 Loop HP", 0.4f, "HP boost percentage for Phase 3 PER LOOP"); phase4LoopHPScaling = config.Bind<float>("Scaling Per Loop", "P4 Loop HP", 0.5f, "HP boost percentage for Phase 4 PER LOOP"); phase1LoopMobilityScaling = config.Bind<float>("Scaling Per Loop", "P1 Loop Mobility", 0.15f, "Mobility (movementspd, acceleration, turningspd) boost percentage for Phase 1 PER LOOP"); phase2LoopMobilityScaling = config.Bind<float>("Scaling Per Loop", "P2 Loop Mobility", 0.25f, "Mobility boost percentage for Phase 2 PER LOOP"); phase3LoopMobilityScaling = config.Bind<float>("Scaling Per Loop", "P3 Loop Mobility", 0.35f, "Mobility boost percentage for Phase 3 PER LOOP"); phase1PlayerHPScaling = config.Bind<float>("Player Scaling", "P1 HP Scaling", 0.0125f, "HP boost percentage for Phase 1 PER PLAYER"); phase2PlayerHPScaling = config.Bind<float>("Player Scaling", "P2 HP Scaling", 0.025f, "HP boost percentage for Phase 2 PER PLAYER"); phase3PlayerHPScaling = config.Bind<float>("Player Scaling", "P3 HP Scaling", 0.05f, "HP boost percentage for Phase 3 PER PLAYER"); phase4PlayerHPScaling = config.Bind<float>("Player Scaling", "P4 HP Scaling", 0.075f, "HP boost percentage for Phase 4 PER PLAYER"); phase1PlayerMobilityScaling = config.Bind<float>("Player Scaling", "P1 Mobility Scaling", 0.0125f, "Mobility boost percentage for Phase 1 PER PLAYER"); phase2PlayerMobilityScaling = config.Bind<float>("Player Scaling", "P2 Mobility Scaling", 0.025f, "Mobility boost percentage for Phase 2 PER PLAYER"); phase3PlayerMobilityScaling = config.Bind<float>("Player Scaling", "P3 Mobility Scaling", 0.05f, "Mobility boost percentage for Phase 3 PER PLAYER"); basehealth = config.Bind<float>("Stats", "Base Health", 1100f, "Vanilla: 1000"); levelhealth = config.Bind<float>("Stats", "Level Health", 350f, "Health gained per level. Vanilla: 300"); basedamage = config.Bind<float>("Stats", "Base Damage", 15f, "Vanilla: 16"); leveldamage = config.Bind<float>("Stats", "Level Damage", 2.75f, "Damage gained per level. Vanilla: 3.2"); basearmor = config.Bind<float>("Stats", "Base Armor", 30f, "Vanilla: 20"); baseattackspeed = config.Bind<float>("Stats", "Base Attack Speed", 1.25f, "Vanilla: 1"); basespeed = config.Bind<float>("Movement", "Base Move Speed", 16f, "Vanilla: 15"); mass = config.Bind<float>("Movement", "Mass", 5000f, "Recommended to increase if you increase his movement speed. Vanilla: 900"); turningspeed = config.Bind<float>("Movement", "Turn Speed", 540f, "Vanilla: 270"); jumpingpower = config.Bind<float>("Movement", "Moon Shoes", 75f, "How high Mithrix jumps. Vanilla: 25"); acceleration = config.Bind<float>("Movement", "Acceleration", 350f, "Vanilla: 45"); aircontrol = config.Bind<float>("Movement", "Air Control", 1.5f, "Vanilla: 0.25"); PrimStocks = config.Bind<int>("Skills", "Primary Stocks", 1, "Max Stocks for Mithrix's Weapon Slam. Vanilla: 1"); SecStocks = config.Bind<int>("Skills", "Secondary Stocks", 1, "Max Stocks for Mithrix's Dash Attack. Vanilla: 1"); UtilStocks = config.Bind<int>("Skills", "Util Stocks", 2, "Max Stocks for Mithrix's Dash. Vanilla: 2"); PrimCD = config.Bind<float>("Skills", "Primary Cooldown", 4f, "Cooldown for Mithrix's Weapon Slam. Vanilla: 4"); SecCD = config.Bind<float>("Skills", "Secondary Cooldown", 4.5f, "Cooldown for Mithrix's Dash Attack. Vanilla: 5"); UtilCD = config.Bind<float>("Skills", "Util Cooldown", 2.5f, "Cooldown for Mithrix's Dash. Vanilla: 3"); SpecialCD = config.Bind<float>("Skills", "Special Cooldown", 30f, "Cooldown for Mithrix's Jump Attack. Vanilla: 30"); CrushingLeap = config.Bind<float>("New Skills", "Crushing Leap", 2f, "How long Mithrix stays in the air during the crushing leap. Vanilla: N/A"); P2SuperShardInterval = config.Bind<float>("New Skills", "P2 Ult Super Shards", 0.6f, "Interval at which super shards are fired in P2 Ult in seconds. Vanilla: N/A"); SuperShardWeight = config.Bind<int>("New Skills", "Super Shards", 6, "How many shards are in 1 super shard. Vanilla: N/A"); P2UltCount = config.Bind<int>("New Skills", "P2 Ult Bursts", 4, "Total times the shrapnel waves fire in phase 2 ultimate. Vanilla: N/A"); P2UltOrbCount = config.Bind<int>("New Skills", "P2 Ult Waves", 8, "Total shrapnel waves and golem projectiles fired in a circle in phase 2 ultimate. Vanilla: N/A"); P2UltDuration = config.Bind<float>("New Skills", "P2 Ult Duration", 6f, "How long phase 2 ultimate lasts. Vanilla: N/A"); SuperShardCount = config.Bind<int>("New Skills", "Super Shard Stocks", 3, "How many super shards Mithrix can fire before CD. Vanilla: N/A"); SuperShardCD = config.Bind<float>("New Skills", "Super Shard CD", 5f, "How long it takes for Mithrix to fire super shards again. Vanilla: N/A"); SlamOrbProjectileCount = config.Bind<int>("Skill Mods", "Orb Projectile Count", 6, "Orbs fired by weapon slam in a circle. Vanilla: N/A"); SlamShardCount = config.Bind<int>("Skill Mods", "Slam Shard Count", 4, "Super Shards fired by weapon slam in a circle. Vanilla: N/A"); DashProjectileCount = config.Bind<int>("Skill Mods", "Dash Projectile Count", 3, "Projectiles (Golem, Exploder, Shards) fired by dash in a cone. Vanilla: N/A"); LunarShardAdd = config.Bind<int>("Skill Mods", "Shard Add Count", 5, "Bonus shards added to each shot of lunar shards. Vanilla: N/A"); UltimateWaves = config.Bind<int>("Skill Mods", "P3 Ult Lines", 12, "Total lines in ultimate per burst. Vanilla: 4"); UltimateCount = config.Bind<int>("Skill Mods", "P3 Ult Bursts", 8, "Total times the ultimate fires. Vanilla: 4"); UltimateDuration = config.Bind<float>("Skill Mods", "P3 Ult Duration", 8f, "How long ultimate lasts. Vanilla: 8"); JumpRecast = config.Bind<float>("Skill Mods", "Recast Chance", 0f, "Chance Mithrix has to recast his jump skill. USE WITH CAUTION. Vanilla: 0"); JumpPause = config.Bind<float>("Skill Mods", "Jump Delay", 0.3f, "How long Mithrix spends in the air when using his jump special. Vanilla: 3"); JumpWaveCount = config.Bind<int>("Skill Mods", "Jump Wave Count", 16, "Shockwave count when Mithrix lands after a jump. Vanilla: 12"); ShardHoming = config.Bind<float>("Skill Mods", "Shard Homing", 25f, "How strongly lunar shards home in to targets. Vanilla: 20"); ShardRange = config.Bind<float>("Skill Mods", "Shard Range", 100f, "Range (distance) in which shards look for targets. Vanilla: 80"); ShardCone = config.Bind<float>("Skill Mods", "Shard Cone", 120f, "Cone (Angle) in which shards look for targets. Vanilla: 90"); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(debuffResistance)); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase1BaseHPScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase2BaseHPScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase3BaseHPScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase4BaseHPScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase1BaseMobilityScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase2BaseMobilityScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase3BaseMobilityScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase1LoopHPScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase2LoopHPScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase3LoopHPScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase4LoopHPScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.025f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase1LoopMobilityScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.05f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase2LoopMobilityScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.05f })); ModSettingsManager.AddOption((BaseOption)new StepSliderOption(phase3LoopMobilityScaling, new StepSliderConfig { min = 0f, max = 1f, increment = 0.05f })); ModSettingsManager.AddOption((Bas