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 ShigarakiMod v3.1.0
ShiggyMod.dll
Decompiled 2 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using EmotesAPI; using EntityStates; using EntityStates.Bandit2; using EntityStates.BeetleGuardMonster; using EntityStates.BeetleMonster; using EntityStates.Bell.BellWeapon; using EntityStates.Bison; using EntityStates.Captain.Weapon; using EntityStates.Chef; using EntityStates.ChildMonster; using EntityStates.ClayBoss; using EntityStates.ClayBruiser.Weapon; using EntityStates.ClayGrenadier; using EntityStates.Commando; using EntityStates.Commando.CommandoWeapon; using EntityStates.Croco; using EntityStates.Engi.EngiWeapon; using EntityStates.Engi.SpiderMine; using EntityStates.GolemMonster; using EntityStates.GrandParent; using EntityStates.GravekeeperBoss; using EntityStates.HermitCrab; using EntityStates.Huntress; using EntityStates.Huntress.HuntressWeapon; using EntityStates.ImpMonster; using EntityStates.JellyfishMonster; using EntityStates.LemurianBruiserMonster; using EntityStates.LemurianMonster; using EntityStates.Loader; using EntityStates.LunarGolem; using EntityStates.LunarWisp; using EntityStates.Mage.Weapon; using EntityStates.Merc; using EntityStates.MiniMushroom; using EntityStates.NullifierMonster; using EntityStates.RoboBallBoss.Weapon; using EntityStates.ScavMonster; using EntityStates.Scorchling; using EntityStates.Toolbot; using EntityStates.Treebot.Weapon; using EntityStates.VagrantMonster; using EntityStates.VoidJailer; using EntityStates.VoidJailer.Weapon; using EntityStates.VoidMegaCrab.BackWeapon; using EntityStates.Vulture; using EntityStates.Vulture.Weapon; using EntityStates.Wisp1Monster; using ExtraSkillSlots; using HG; using HG.BlendableTypes; using KinematicCharacterController; using On.RoR2; using On.RoR2.Orbs; using R2API; using R2API.Networking; using R2API.Networking.Interfaces; using R2API.Utils; using RiskOfOptions; using RiskOfOptions.OptionConfigs; using RiskOfOptions.Options; using RoR2; using RoR2.Achievements; using RoR2.Audio; using RoR2.CharacterAI; using RoR2.ContentManagement; using RoR2.Navigation; using RoR2.Orbs; using RoR2.Projectile; using RoR2.Skills; using RoR2.UI; using RoR2BepInExPack.GameAssetPaths.Version_1_35_0; using RoR2BepInExPack.GameAssetPaths.Version_1_39_0; using RoR2BepInExPack.GameAssetPathsBetter; using ShiggyMod.Modules; using ShiggyMod.Modules.Networking; using ShiggyMod.Modules.Quirks; using ShiggyMod.Modules.Survivors; using ShiggyMod.SkillStates; using ShiggyMod.SkillStates.BaseStates; using TMPro; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.Networking; using UnityEngine.Rendering; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("ShiggyMod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+0abcbe3e181f522ff88c2d2ab20d1e6874506a0c")] [assembly: AssemblyProduct("ShiggyMod")] [assembly: AssemblyTitle("ShiggyMod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: UnverifiableCode] internal class SkillDefInfo { public string skillName; public string skillNameToken; public string skillDescriptionToken; public Sprite skillIcon; public SerializableEntityStateType activationState; public string activationStateMachineName; public int baseMaxStock; public float baseRechargeInterval; public bool beginSkillCooldownOnSkillEnd; public bool canceledFromSprinting; public bool forceSprintDuringState; public bool fullRestockOnAssign; public InterruptPriority interruptPriority; public bool resetCooldownTimerOnUse; public bool isCombatSkill; public bool mustKeyPress; public bool cancelSprintingOnActivation; public int rechargeStock; public int requiredStock; public int stockToConsume; public string[] keywordTokens; } namespace ShiggyMod { internal static class Log { internal static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void Debug(object data) { _logSource.LogDebug(data); } internal static void Error(object data) { _logSource.LogError(data); } internal static void Fatal(object data) { _logSource.LogFatal(data); } internal static void Info(object data) { _logSource.LogInfo(data); } internal static void Message(object data) { _logSource.LogMessage(data); } internal static void Warning(object data) { _logSource.LogWarning(data); } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.TeaL.ShigarakiMod", "ShigarakiMod", "3.1.0")] public class ShiggyPlugin : BaseUnityPlugin { public class OmniboostTracker : MonoBehaviour { public CharacterBody lastVictim; } public static bool scepterInstalled; public ShiggyController Shiggycon; public ShiggyMasterController Shiggymastercon; public const string MODUID = "com.TeaL.ShigarakiMod"; public const string MODNAME = "ShigarakiMod"; public const string MODVERSION = "3.1.0"; public const string developerPrefix = "TEAL"; internal List<SurvivorBase> Survivors = new List<SurvivorBase>(); public static ShiggyPlugin instance; public static CharacterBody ShiggyCharacterBody; private BlastAttack blastAttack; private void Awake() { instance = this; ShiggyCharacterBody = null; instance = this; ShiggyAsset.Initialize(); Config.ReadConfig(); Damage.SetupModdedDamage(); if (Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions")) { Config.SetupRiskOfOptions(); } States.RegisterStates(); Buffs.RegisterBuffs(); Dots.RegisterDots(); Projectiles.RegisterProjectiles(); Tokens.AddTokens(); ItemDisplays.PopulateDisplays(); QuirkIconBank.RegisterFromRegistryData(); QuirkSeeding.Init(); new Shiggy().Initialize(); QuirkRegistry.BindQuirkRegistry(); StaticValues.LoadDictionary(); NetworkingAPI.RegisterMessageType<EquipmentDropNetworked>(); NetworkingAPI.RegisterMessageType<HealNetworkRequest>(); NetworkingAPI.RegisterMessageType<SpawnBodyNetworkRequest>(); NetworkingAPI.RegisterMessageType<PerformForceNetworkRequest>(); NetworkingAPI.RegisterMessageType<PeformDirectionalForceNetworkRequest>(); NetworkingAPI.RegisterMessageType<ItemDropNetworked>(); NetworkingAPI.RegisterMessageType<SpendHealthNetworkRequest>(); NetworkingAPI.RegisterMessageType<DisableSlideStateMachine>(); NetworkingAPI.RegisterMessageType<SetTheWorldFreezeOnBodyRequest>(); NetworkingAPI.RegisterMessageType<TakeMeleeDamageForceRequest>(); NetworkingAPI.RegisterMessageType<ForceReversalState>(); NetworkingAPI.RegisterMessageType<SetShunpoStateMachine>(); NetworkingAPI.RegisterMessageType<SetMugetsuStateMachine>(); NetworkingAPI.RegisterMessageType<SetGetsugaStateMachine>(); NetworkingAPI.RegisterMessageType<ForceGiveQuirkState>(); NetworkingAPI.RegisterMessageType<OrbDamageRequest>(); NetworkingAPI.RegisterMessageType<LightAndDarknessPullRequest>(); NetworkingAPI.RegisterMessageType<BlastingZoneDebuffDamageRequest>(); NetworkingAPI.RegisterMessageType<ExpungeNetworkRequest>(); NetworkingAPI.RegisterMessageType<SetEmoteState>(); NetworkingAPI.RegisterMessageType<ApexResetSlotRequest>(); NetworkingAPI.RegisterMessageType<ApexOverdriveNotifyMessage>(); NetworkingAPI.RegisterMessageType<ApexSyncAdaptationMessage>(); NetworkingAPI.RegisterMessageType<EquipLoadoutRequest>(); NetworkingAPI.RegisterMessageType<EquipLoadoutResult>(); NetworkingAPI.RegisterMessageType<GivePassiveRequest>(); NetworkingAPI.RegisterMessageType<ForceQuirkOverdriveState>(); NetworkingAPI.RegisterMessageType<SetAFOStealStateMachine>(); NetworkingAPI.RegisterMessageType<StealQuirkRequest>(); NetworkingAPI.RegisterMessageType<StealQuirkResult>(); NetworkingAPI.RegisterMessageType<AFOStealVfxRequest>(); NetworkingAPI.RegisterMessageType<GivePassiveQuirkRequest>(); NetworkingAPI.RegisterMessageType<GivePassiveQuirkResult>(); NetworkingAPI.RegisterMessageType<QuirkInventoryAddRequest>(); new ContentPacks().Initialize(); ContentManager.onContentPacksAssigned += LateSetup; Hook(); } private void LateSetup(ReadOnlyArray<ReadOnlyContentPack> obj) { try { QuirkIconBank.BuildAll(); Debug.Log((object)"[Shiggy] BindQuirkRegistry completed after content packs."); } catch (Exception arg) { Debug.LogError((object)$"[Shiggy] BindQuirkRegistry post-CPS failed: {arg}"); } } private void Start() { } private void Hook() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Expected O, but got Unknown //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Expected O, but got Unknown //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Expected O, but got Unknown //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Expected O, but got Unknown //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Expected O, but got Unknown //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Expected O, but got Unknown //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Expected O, but got Unknown //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Expected O, but got Unknown //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Expected O, but got Unknown CharacterBody.OnDeathStart += new hook_OnDeathStart(CharacterBody_OnDeathStart); CharacterModel.Awake += new hook_Awake(CharacterModel_Awake); CharacterModel.Start += new hook_Start(CharacterModel_Start); CharacterMaster.Start += new hook_Start(CharacterMaster_Start); CharacterBody.RecalculateStats += new hook_RecalculateStats(CharacterBody_RecalculateStats); HealthComponent.TakeDamage += new hook_TakeDamage(HealthComponent_TakeDamage); GlobalEventManager.onServerDamageDealt += GlobalEventManager_OnDamageDealt; CharacterModel.UpdateOverlays += new hook_UpdateOverlays(CharacterModel_UpdateOverlays); GlobalEventManager.OnHitEnemy += new hook_OnHitEnemy(GlobalEventManager_OnHitEnemy); RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(RecalculateStatsAPI_GetStatCoefficients); GlobalEventManager.OnCharacterDeath += new hook_OnCharacterDeath(GlobalEventManager_OnCharacterDeath); LightningOrb.OnArrival += new hook_OnArrival(LightningOrb_OnArrival); OverlapAttack.Fire += new hook_Fire(OverlapAttack_Fire); BulletAttack.Fire += new hook_Fire(BulletAttack_Fire); BlastAttack.Fire += new hook_Fire(BlastAttack_Fire); CharacterBody.onBodyStartGlobal += CharacterBody_onBodyStartGlobal; if (Chainloader.PluginInfos.ContainsKey("com.weliveinasociety.CustomEmotesAPI")) { SurvivorCatalog.Init += new hook_Init(SurvivorCatalog_Init); } } private void CharacterMaster_Start(orig_Start orig, CharacterMaster self) { if (Object.op_Implicit((Object)(object)self) && Object.op_Implicit((Object)(object)self.bodyPrefab) && !((Object)(object)self.bodyPrefab != (Object)(object)BodyCatalog.FindBodyPrefab("ShiggyBody")) && !Object.op_Implicit((Object)(object)((Component)self).GetComponent<ShiggyMasterController>())) { ((Component)self).gameObject.AddComponent<ShiggyMasterController>(); } } private void CharacterBody_onBodyStartGlobal(CharacterBody obj) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) if (NetworkServer.active && Object.op_Implicit((Object)(object)obj) && Object.op_Implicit((Object)(object)obj.master) && obj.bodyIndex == BodyCatalog.FindBodyIndex("ShiggyBody")) { QuirkPassiveSync.SyncFromEquippedSkillsServer(obj); } } private static bool IsVanillaAffix(BuffDef buff) { return (Object)(object)buff == (Object)(object)Buffs.AffixRed || (Object)(object)buff == (Object)(object)Buffs.AffixWhite || (Object)(object)buff == (Object)(object)Buffs.AffixPoison || (Object)(object)buff == (Object)(object)Buffs.AffixHaunted || (Object)(object)buff == (Object)(object)Buffs.AffixBlue || (Object)(object)buff == (Object)(object)Buffs.AffixLunar || (Object)(object)buff == (Object)(object)Buffs.EliteEarth || (Object)(object)buff == (Object)(object)Buffs.EliteVoid || (Object)(object)buff == (Object)(object)Buffs.EliteAurelionite || (Object)(object)buff == (Object)(object)Buffs.EliteBead; } private Result BlastAttack_Fire(orig_Fire orig, BlastAttack self) { //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)self.attacker)) { GameObject attacker = self.attacker; if ((Object)(object)attacker.GetComponent<CharacterBody>() != (Object)null) { if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.acridBuff)) { ref DamageType damageType = ref self.damageType.damageType; damageType = (DamageType)((uint)damageType | 0x1000u); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.impbossBuff)) { ref DamageType damageType2 = ref self.damageType.damageType; damageType2 = (DamageType)((uint)damageType2 | 0x400u); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.elementalFusionFireBuff)) { ref DamageType damageType3 = ref self.damageType.damageType; damageType3 = (DamageType)((uint)damageType3 | 0x80u); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.elementalFusionFreezeBuff)) { ref DamageType damageType4 = ref self.damageType.damageType; damageType4 = (DamageType)((uint)damageType4 | 0x100u); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.elementalFusionShockBuff)) { ref DamageType damageType5 = ref self.damageType.damageType; damageType5 = (DamageType)((uint)damageType5 | 0x1000000u); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.decayAwakenedBuff)) { DamageAPI.AddModdedDamageType(self, Damage.shiggyDecay); } } } return orig.Invoke(self); } private void BulletAttack_Fire(orig_Fire orig, BulletAttack self) { //IL_014c: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (Object.op_Implicit((Object)(object)self.owner) && (Object)(object)self.owner.GetComponent<CharacterBody>() != (Object)null) { GameObject owner = self.owner; if (owner.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.acridBuff)) { ref DamageType damageType = ref self.damageType.damageType; damageType = (DamageType)((uint)damageType | 0x1000u); } if (owner.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.impbossBuff)) { ref DamageType damageType2 = ref self.damageType.damageType; damageType2 = (DamageType)((uint)damageType2 | 0x400u); } if (owner.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.elementalFusionFireBuff)) { ref DamageType damageType3 = ref self.damageType.damageType; damageType3 = (DamageType)((uint)damageType3 | 0x80u); } if (owner.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.elementalFusionFreezeBuff)) { ref DamageType damageType4 = ref self.damageType.damageType; damageType4 = (DamageType)((uint)damageType4 | 0x100u); } if (owner.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.elementalFusionShockBuff)) { ref DamageType damageType5 = ref self.damageType.damageType; damageType5 = (DamageType)((uint)damageType5 | 0x1000000u); } if (owner.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.decayAwakenedBuff)) { DamageAPI.AddModdedDamageType(self, Damage.shiggyDecay); } } } private bool OverlapAttack_Fire(orig_Fire orig, OverlapAttack self, List<HurtBox> hitResults) { //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)self.attacker) && (Object)(object)self.attacker.GetComponent<CharacterBody>() != (Object)null) { GameObject attacker = self.attacker; if (attacker.gameObject.GetComponent<CharacterBody>().baseNameToken == "TEAL_SHIGGY_BODY_NAME") { DamageAPI.AddModdedDamageType(self, Damage.shiggyDecay); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.acridBuff)) { ref DamageType damageType = ref self.damageType.damageType; damageType = (DamageType)((uint)damageType | 0x1000u); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.impbossBuff)) { ref DamageType damageType2 = ref self.damageType.damageType; damageType2 = (DamageType)((uint)damageType2 | 0x400u); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.elementalFusionFireBuff)) { ref DamageType damageType3 = ref self.damageType.damageType; damageType3 = (DamageType)((uint)damageType3 | 0x80u); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.elementalFusionFreezeBuff)) { ref DamageType damageType4 = ref self.damageType.damageType; damageType4 = (DamageType)((uint)damageType4 | 0x100u); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.elementalFusionShockBuff)) { ref DamageType damageType5 = ref self.damageType.damageType; damageType5 = (DamageType)((uint)damageType5 | 0x1000000u); } if (attacker.gameObject.GetComponent<CharacterBody>().HasBuff(Buffs.decayAwakenedBuff)) { DamageAPI.AddModdedDamageType(self, Damage.shiggyDecay); } } return orig.Invoke(self, hitResults); } private void LightningOrb_OnArrival(orig_OnArrival orig, LightningOrb self) { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Invalid comparison between Unknown and I4 //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Expected O, but got Unknown orig.Invoke(self); if (self.attacker.gameObject.GetComponent<CharacterBody>().baseNameToken == "TEAL_SHIGGY_BODY_NAME" && (int)self.lightningType == 4) { NetMessageExtensions.Send((INetMessage)(object)new PerformForceNetworkRequest(self.attacker.gameObject.GetComponent<CharacterBody>().masterObjectId, ((Component)((Orb)self).target).transform.position, Vector3.up, 15f, 0f, self.damageValue, 360f, playEffect: false), (NetworkDestination)1); EffectManager.SpawnEffect(ShiggyAsset.voidMegaCrabExplosionEffect, new EffectData { origin = ((Component)((Orb)self).target).transform.position, scale = 15f }, true); } } private void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args) { if (Object.op_Implicit((Object)(object)((sender != null) ? sender.healthComponent : null)) && Object.op_Implicit((Object)(object)sender)) { if (sender.HasBuff(Buffs.roboballminiattackspeedBuff)) { args.baseAttackSpeedAdd += 0.02f * (float)sender.GetBuffCount(Buffs.roboballminiattackspeedBuff); } if (sender.HasBuff(Buffs.claydunestriderBuff)) { args.baseAttackSpeedAdd += 0.5f; } if (sender.HasBuff(Buffs.multBuff)) { args.armorAdd += 100f; args.attackSpeedMultAdd += 1f; args.moveSpeedReductionMultAdd += 0.6f; } if (sender.HasBuff(Buffs.stonetitanBuff)) { args.armorAdd += Config.StoneSkinArmorGain.Value; } if (sender.HasBuff(Buffs.voidbarnaclemortarattackspeedBuff)) { args.baseAttackSpeedAdd += 0.05f * (float)sender.GetBuffCount(Buffs.voidbarnaclemortarattackspeedBuff); } if (sender.HasBuff(Buffs.hermitcrabmortararmorBuff)) { args.armorAdd += 1f * (float)sender.GetBuffCount(Buffs.hermitcrabmortararmorBuff); } if (sender.HasBuff(Buffs.verminsprintBuff)) { args.moveSpeedMultAdd += 0.5f; sender.sprintingSpeedMultiplier = 2f; } if (sender.HasBuff(Buffs.airwalkBuff)) { sender.acceleration *= 2f; } if (sender.HasBuff(Buffs.beetleBuff)) { args.baseDamageAdd += Config.StrengthBoostBaseDamage.Value; } if (sender.HasBuff(Buffs.lesserwispBuff)) { args.baseAttackSpeedAdd += Config.HasteAttackSpeedAdditive.Value; } if (sender.HasBuff(Buffs.lunarexploderBuff)) { args.baseShieldAdd += sender.maxHealth * 0.25f; } if (sender.HasBuff(Buffs.omniboostBuff)) { args.damageMultAdd += 0.2f; args.attackSpeedMultAdd += 0.2f; } if (sender.HasBuff(Buffs.omniboostBuffStacks)) { int buffCount = sender.GetBuffCount(Buffs.omniboostBuffStacks); args.damageMultAdd += 0.04f * (float)buffCount; args.attackSpeedMultAdd += 0.04f * (float)buffCount; } if (sender.HasBuff(Buffs.ingrainBuff)) { args.baseRegenAdd += StaticValues.ingrainBuffHealthRegen * sender.healthComponent.fullCombinedHealth; } if (sender.HasBuff(Buffs.OFABuff)) { args.armorAdd += sender.armor * Config.OFAMultiplierAdditive.Value; args.attackSpeedMultAdd += Config.OFAMultiplierAdditive.Value; args.moveSpeedMultAdd += Config.OFAMultiplierAdditive.Value; } if (sender.HasBuff(Buffs.doubleTimeBuffStacks)) { int buffCount2 = sender.GetBuffCount(Buffs.doubleTimeBuffStacks); args.damageMultAdd += Config.DoubleTimeStatMultiplier.Value * (float)buffCount2; args.attackSpeedMultAdd += Config.DoubleTimeStatMultiplier.Value * (float)buffCount2; args.moveSpeedMultAdd += Config.DoubleTimeStatMultiplier.Value * (float)buffCount2; } if (sender.HasBuff(Buffs.doubleTimeDebuff)) { args.attackSpeedMultAdd -= Config.DoubleTimeSlowMultiplier.Value; args.moveSpeedMultAdd -= Config.DoubleTimeSlowMultiplier.Value; } if (sender.HasBuff(Buffs.falsesonStolenInheritanceBuff)) { args.baseDamageAdd += Config.StolenInheritanceHPCoefficient.Value * sender.healthComponent.fullHealth; } if (sender.HasBuff(Buffs.alloyhunterCritBoostBuff)) { args.critDamageTotalMult *= 2f; } } } private void GlobalEventManager_OnHitEnemy(orig_OnHitEnemy orig, GlobalEventManager self, DamageInfo damageInfo, GameObject victim) { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Invalid comparison between Unknown and I4 //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_04b6: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_0258: 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_0262: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_028c: Unknown result type (might be due to invalid IL or missing references) //IL_028e: Unknown result type (might be due to invalid IL or missing references) //IL_0295: Unknown result type (might be due to invalid IL or missing references) //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Unknown result type (might be due to invalid IL or missing references) //IL_02aa: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Expected O, but got Unknown //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_04e7: Unknown result type (might be due to invalid IL or missing references) //IL_04ec: Unknown result type (might be due to invalid IL or missing references) //IL_0503: Unknown result type (might be due to invalid IL or missing references) //IL_0505: Unknown result type (might be due to invalid IL or missing references) //IL_050a: Unknown result type (might be due to invalid IL or missing references) //IL_050f: Unknown result type (might be due to invalid IL or missing references) //IL_0510: Unknown result type (might be due to invalid IL or missing references) //IL_0515: Unknown result type (might be due to invalid IL or missing references) //IL_051a: Unknown result type (might be due to invalid IL or missing references) //IL_052a: Unknown result type (might be due to invalid IL or missing references) //IL_052c: Unknown result type (might be due to invalid IL or missing references) //IL_0531: Unknown result type (might be due to invalid IL or missing references) //IL_0538: Unknown result type (might be due to invalid IL or missing references) //IL_0544: Unknown result type (might be due to invalid IL or missing references) //IL_0550: Unknown result type (might be due to invalid IL or missing references) //IL_0552: Unknown result type (might be due to invalid IL or missing references) //IL_0559: Unknown result type (might be due to invalid IL or missing references) //IL_055e: Unknown result type (might be due to invalid IL or missing references) //IL_0563: Unknown result type (might be due to invalid IL or missing references) //IL_0569: Unknown result type (might be due to invalid IL or missing references) //IL_0571: Expected O, but got Unknown //IL_0306: Unknown result type (might be due to invalid IL or missing references) //IL_031a: Unknown result type (might be due to invalid IL or missing references) //IL_031f: Unknown result type (might be due to invalid IL or missing references) //IL_032b: Unknown result type (might be due to invalid IL or missing references) //IL_0332: Unknown result type (might be due to invalid IL or missing references) //IL_0337: Unknown result type (might be due to invalid IL or missing references) //IL_033c: Unknown result type (might be due to invalid IL or missing references) //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_0345: Unknown result type (might be due to invalid IL or missing references) //IL_034a: Unknown result type (might be due to invalid IL or missing references) //IL_0356: Unknown result type (might be due to invalid IL or missing references) //IL_035c: Unknown result type (might be due to invalid IL or missing references) //IL_0367: Unknown result type (might be due to invalid IL or missing references) //IL_036c: Unknown result type (might be due to invalid IL or missing references) //IL_0371: Unknown result type (might be due to invalid IL or missing references) //IL_0373: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_0383: 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) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_038f: Unknown result type (might be due to invalid IL or missing references) //IL_0396: Unknown result type (might be due to invalid IL or missing references) //IL_039b: Unknown result type (might be due to invalid IL or missing references) //IL_03a0: Unknown result type (might be due to invalid IL or missing references) //IL_03ab: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_03b8: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03c2: Unknown result type (might be due to invalid IL or missing references) //IL_03c4: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_014e: 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_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_05c1: Unknown result type (might be due to invalid IL or missing references) //IL_0603: Unknown result type (might be due to invalid IL or missing references) //IL_060e: Unknown result type (might be due to invalid IL or missing references) //IL_0641: Unknown result type (might be due to invalid IL or missing references) //IL_0646: Unknown result type (might be due to invalid IL or missing references) //IL_0648: Unknown result type (might be due to invalid IL or missing references) //IL_064c: Unknown result type (might be due to invalid IL or missing references) //IL_0651: Unknown result type (might be due to invalid IL or missing references) //IL_0656: Unknown result type (might be due to invalid IL or missing references) //IL_0664: Unknown result type (might be due to invalid IL or missing references) //IL_0675: Unknown result type (might be due to invalid IL or missing references) //IL_067a: Unknown result type (might be due to invalid IL or missing references) //IL_067f: Unknown result type (might be due to invalid IL or missing references) //IL_0684: Unknown result type (might be due to invalid IL or missing references) //IL_0689: Unknown result type (might be due to invalid IL or missing references) //IL_068b: Unknown result type (might be due to invalid IL or missing references) //IL_06a0: Unknown result type (might be due to invalid IL or missing references) //IL_06a7: Unknown result type (might be due to invalid IL or missing references) //IL_06df: Unknown result type (might be due to invalid IL or missing references) //IL_06e1: Unknown result type (might be due to invalid IL or missing references) //IL_06e8: Unknown result type (might be due to invalid IL or missing references) //IL_06ea: Unknown result type (might be due to invalid IL or missing references) //IL_06f1: Unknown result type (might be due to invalid IL or missing references) //IL_06f6: Unknown result type (might be due to invalid IL or missing references) //IL_06fb: Unknown result type (might be due to invalid IL or missing references) //IL_0700: Unknown result type (might be due to invalid IL or missing references) //IL_0704: Unknown result type (might be due to invalid IL or missing references) //IL_0719: Unknown result type (might be due to invalid IL or missing references) //IL_071e: Unknown result type (might be due to invalid IL or missing references) //IL_0725: Unknown result type (might be due to invalid IL or missing references) //IL_0727: Unknown result type (might be due to invalid IL or missing references) //IL_072c: Unknown result type (might be due to invalid IL or missing references) //IL_077c: Unknown result type (might be due to invalid IL or missing references) //IL_0783: Unknown result type (might be due to invalid IL or missing references) //IL_0797: Unknown result type (might be due to invalid IL or missing references) //IL_045f: Unknown result type (might be due to invalid IL or missing references) //IL_0464: Unknown result type (might be due to invalid IL or missing references) //IL_046b: Unknown result type (might be due to invalid IL or missing references) //IL_0476: Unknown result type (might be due to invalid IL or missing references) //IL_0487: Expected O, but got Unknown //IL_0837: Unknown result type (might be due to invalid IL or missing references) //IL_083c: Unknown result type (might be due to invalid IL or missing references) //IL_0848: Unknown result type (might be due to invalid IL or missing references) //IL_084f: Unknown result type (might be due to invalid IL or missing references) //IL_0854: Unknown result type (might be due to invalid IL or missing references) //IL_0859: Unknown result type (might be due to invalid IL or missing references) //IL_0860: Unknown result type (might be due to invalid IL or missing references) //IL_0862: Unknown result type (might be due to invalid IL or missing references) //IL_0867: Unknown result type (might be due to invalid IL or missing references) //IL_0879: Unknown result type (might be due to invalid IL or missing references) //IL_087b: Unknown result type (might be due to invalid IL or missing references) //IL_0882: 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_088c: Unknown result type (might be due to invalid IL or missing references) //IL_088e: Unknown result type (might be due to invalid IL or missing references) //IL_0893: Unknown result type (might be due to invalid IL or missing references) //IL_089e: Unknown result type (might be due to invalid IL or missing references) //IL_08a0: Unknown result type (might be due to invalid IL or missing references) //IL_08a5: Unknown result type (might be due to invalid IL or missing references) //IL_08aa: Unknown result type (might be due to invalid IL or missing references) //IL_08b1: Unknown result type (might be due to invalid IL or missing references) //IL_08b6: Unknown result type (might be due to invalid IL or missing references) //IL_08bb: Unknown result type (might be due to invalid IL or missing references) //IL_08c6: Unknown result type (might be due to invalid IL or missing references) //IL_08d1: Unknown result type (might be due to invalid IL or missing references) //IL_08d3: Unknown result type (might be due to invalid IL or missing references) //IL_08d8: Unknown result type (might be due to invalid IL or missing references) //IL_07fc: Unknown result type (might be due to invalid IL or missing references) //IL_0801: Unknown result type (might be due to invalid IL or missing references) //IL_0808: Unknown result type (might be due to invalid IL or missing references) //IL_0813: Unknown result type (might be due to invalid IL or missing references) //IL_081e: Unknown result type (might be due to invalid IL or missing references) //IL_0820: Unknown result type (might be due to invalid IL or missing references) //IL_0825: Unknown result type (might be due to invalid IL or missing references) //IL_082a: Unknown result type (might be due to invalid IL or missing references) //IL_0835: Expected O, but got Unknown //IL_07b4: Unknown result type (might be due to invalid IL or missing references) //IL_03e8: Unknown result type (might be due to invalid IL or missing references) //IL_03ed: Unknown result type (might be due to invalid IL or missing references) //IL_03f0: Unknown result type (might be due to invalid IL or missing references) //IL_040d: Unknown result type (might be due to invalid IL or missing references) //IL_0423: Unknown result type (might be due to invalid IL or missing references) //IL_095c: Unknown result type (might be due to invalid IL or missing references) //IL_093b: Unknown result type (might be due to invalid IL or missing references) //IL_0985: Unknown result type (might be due to invalid IL or missing references) //IL_099c: Unknown result type (might be due to invalid IL or missing references) //IL_0da8: Unknown result type (might be due to invalid IL or missing references) //IL_0dad: Unknown result type (might be due to invalid IL or missing references) //IL_0daf: Unknown result type (might be due to invalid IL or missing references) //IL_0db4: Unknown result type (might be due to invalid IL or missing references) //IL_0db9: Unknown result type (might be due to invalid IL or missing references) //IL_0dcb: Unknown result type (might be due to invalid IL or missing references) //IL_0dd2: Unknown result type (might be due to invalid IL or missing references) //IL_0dd7: Unknown result type (might be due to invalid IL or missing references) //IL_0ddc: Unknown result type (might be due to invalid IL or missing references) //IL_0de8: Unknown result type (might be due to invalid IL or missing references) //IL_0dea: Unknown result type (might be due to invalid IL or missing references) //IL_0def: Unknown result type (might be due to invalid IL or missing references) //IL_0dfa: Unknown result type (might be due to invalid IL or missing references) //IL_0dfc: Unknown result type (might be due to invalid IL or missing references) //IL_0e01: Unknown result type (might be due to invalid IL or missing references) //IL_0e0e: Expected O, but got Unknown //IL_0c83: Unknown result type (might be due to invalid IL or missing references) //IL_0c62: Unknown result type (might be due to invalid IL or missing references) //IL_09f9: Unknown result type (might be due to invalid IL or missing references) //IL_0a10: Unknown result type (might be due to invalid IL or missing references) //IL_09c2: Unknown result type (might be due to invalid IL or missing references) //IL_09c7: Unknown result type (might be due to invalid IL or missing references) //IL_09c9: Unknown result type (might be due to invalid IL or missing references) //IL_09da: Expected O, but got Unknown //IL_0e72: Unknown result type (might be due to invalid IL or missing references) //IL_0ce1: Unknown result type (might be due to invalid IL or missing references) //IL_0ce6: Unknown result type (might be due to invalid IL or missing references) //IL_0cf2: Unknown result type (might be due to invalid IL or missing references) //IL_0cf9: Unknown result type (might be due to invalid IL or missing references) //IL_0cfe: Unknown result type (might be due to invalid IL or missing references) //IL_0d03: Unknown result type (might be due to invalid IL or missing references) //IL_0d0a: Unknown result type (might be due to invalid IL or missing references) //IL_0d0c: Unknown result type (might be due to invalid IL or missing references) //IL_0d11: Unknown result type (might be due to invalid IL or missing references) //IL_0d23: Unknown result type (might be due to invalid IL or missing references) //IL_0d26: Unknown result type (might be due to invalid IL or missing references) //IL_0d2d: Unknown result type (might be due to invalid IL or missing references) //IL_0d32: Unknown result type (might be due to invalid IL or missing references) //IL_0d37: Unknown result type (might be due to invalid IL or missing references) //IL_0d39: Unknown result type (might be due to invalid IL or missing references) //IL_0d3e: Unknown result type (might be due to invalid IL or missing references) //IL_0d49: Unknown result type (might be due to invalid IL or missing references) //IL_0d50: Unknown result type (might be due to invalid IL or missing references) //IL_0d55: Unknown result type (might be due to invalid IL or missing references) //IL_0d5a: Unknown result type (might be due to invalid IL or missing references) //IL_0d72: Unknown result type (might be due to invalid IL or missing references) //IL_0d7d: Unknown result type (might be due to invalid IL or missing references) //IL_0d7f: Unknown result type (might be due to invalid IL or missing references) //IL_0d84: Unknown result type (might be due to invalid IL or missing references) //IL_0caa: Unknown result type (might be due to invalid IL or missing references) //IL_0caf: Unknown result type (might be due to invalid IL or missing references) //IL_0cb6: Unknown result type (might be due to invalid IL or missing references) //IL_0cc1: Unknown result type (might be due to invalid IL or missing references) //IL_0cdf: Expected O, but got Unknown //IL_0a6a: Unknown result type (might be due to invalid IL or missing references) //IL_0a81: Unknown result type (might be due to invalid IL or missing references) //IL_0a36: Unknown result type (might be due to invalid IL or missing references) //IL_0a3b: Unknown result type (might be due to invalid IL or missing references) //IL_0a3d: Unknown result type (might be due to invalid IL or missing references) //IL_0a4e: Expected O, but got Unknown //IL_0ead: Unknown result type (might be due to invalid IL or missing references) //IL_0b39: Unknown result type (might be due to invalid IL or missing references) //IL_0b63: Unknown result type (might be due to invalid IL or missing references) //IL_0aa7: Unknown result type (might be due to invalid IL or missing references) //IL_0aac: Unknown result type (might be due to invalid IL or missing references) //IL_0aae: Unknown result type (might be due to invalid IL or missing references) //IL_0abf: Expected O, but got Unknown //IL_0ee3: Unknown result type (might be due to invalid IL or missing references) //IL_0eef: Unknown result type (might be due to invalid IL or missing references) //IL_0bbd: Unknown result type (might be due to invalid IL or missing references) //IL_0be1: Unknown result type (might be due to invalid IL or missing references) //IL_0bfa: Unknown result type (might be due to invalid IL or missing references) //IL_0bff: Unknown result type (might be due to invalid IL or missing references) //IL_0c06: Unknown result type (might be due to invalid IL or missing references) //IL_0c11: Unknown result type (might be due to invalid IL or missing references) //IL_0c22: Expected O, but got Unknown //IL_0b9f: Unknown result type (might be due to invalid IL or missing references) //IL_0f1e: Unknown result type (might be due to invalid IL or missing references) //IL_0f62: Unknown result type (might be due to invalid IL or missing references) //IL_0f68: Unknown result type (might be due to invalid IL or missing references) //IL_0f6d: Unknown result type (might be due to invalid IL or missing references) //IL_0fc1: Unknown result type (might be due to invalid IL or missing references) CharacterBody val = (Object.op_Implicit((Object)(object)damageInfo.attacker) ? damageInfo.attacker.GetComponent<CharacterBody>() : null); CharacterBody val2 = (Object.op_Implicit((Object)(object)victim) ? victim.GetComponent<CharacterBody>() : null); if ((Object)(object)val != (Object)null) { if (val.HasBuff(Buffs.acridBuff)) { damageInfo.damageType |= DamageTypeCombo.op_Implicit((DamageType)4096); } if (val.HasBuff(Buffs.impbossBuff)) { damageInfo.damageType |= DamageTypeCombo.op_Implicit((DamageType)1024); } if (val.HasBuff(Buffs.elementalFusionFireBuff)) { damageInfo.damageType |= DamageTypeCombo.op_Implicit((DamageType)128); } if (val.HasBuff(Buffs.elementalFusionFreezeBuff)) { damageInfo.damageType |= DamageTypeCombo.op_Implicit((DamageType)256); } if (val.HasBuff(Buffs.elementalFusionShockBuff)) { damageInfo.damageType |= DamageTypeCombo.op_Implicit((DamageType)16777216); } if (val.HasBuff(Buffs.decayAwakenedBuff)) { DamageAPI.AddModdedDamageType(damageInfo, Damage.shiggyDecay); } if (val.HasBuff(Buffs.claydunestriderBuff)) { damageInfo.damageType |= DamageTypeCombo.op_Implicit((DamageType)512); } } orig.Invoke(self, damageInfo, victim); if ((Object)(object)val == (Object)null || (Object)(object)val2 == (Object)null) { return; } bool flag = (int)DamageTypeCombo.op_Implicit(damageInfo.damageType & DamageTypeCombo.op_Implicit((DamageType)67108864)) != 67108864; bool flag2 = damageInfo.procCoefficient > 0f; bool flag3 = damageInfo.damage > 0f; if (flag3 && flag && flag2 && val.HasBuff(Buffs.solusamalgamatorEquipmentBoostBuff)) { val.inventory.DeductActiveEquipmentCooldown(0.5f); } if (flag3 && flag && flag2 && val2.HasBuff(Buffs.solusPrimedDebuff)) { int buffCount = val2.GetBuffCount(Buffs.solusPrimedDebuff); float damage = damageInfo.damage * 0.1f * (float)buffCount; DamageInfo val3 = new DamageInfo { damage = damage, position = val2.corePosition, force = Vector3.zero, crit = false, attacker = ((Component)val).gameObject, inflictor = ((Component)val).gameObject, damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)0), (DamageTypeExtended)0, (DamageSource)2), procCoefficient = 0f, procChainMask = default(ProcChainMask) }; val2.healthComponent.TakeDamage(val3); if (!val.HasBuff(Buffs.solusSuperPrimedBuff)) { NetworkingHelpers.ApplyBuff(val2, Buffs.solusPrimedDebuff.buffIndex, buffCount - 1, -1f); } else { NetworkingHelpers.ApplyBuff(val2, Buffs.solusPrimedDebuff.buffIndex, buffCount + 1, -1f); Result val4 = new BlastAttack { attacker = ((Component)val).gameObject, teamIndex = TeamComponent.GetObjectTeam(((Component)val).gameObject), crit = false, falloffModel = (FalloffModel)0, baseDamage = damageInfo.damage, damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)128), (DamageTypeExtended)128, (DamageSource)2), damageColorIndex = (DamageColorIndex)5, baseForce = 0f, procChainMask = damageInfo.procChainMask, position = val2.transform.position, radius = 8f, procCoefficient = 0f, attackerFiltering = (AttackerFiltering)2 }.Fire(); if (val4.hitCount > 0) { HitPoint[] hitPoints = val4.hitPoints; foreach (HitPoint val5 in hitPoints) { if (Object.op_Implicit((Object)(object)val5.hurtBox.healthComponent.body)) { NetworkingHelpers.ApplyBuff(val5.hurtBox.healthComponent.body, Buffs.solusPrimedDebuff.buffIndex, buffCount + 1, -1f); } } } GameObject solusFactorBlastEffectPrefab = ShiggyAsset.solusFactorBlastEffectPrefab; if (Object.op_Implicit((Object)(object)solusFactorBlastEffectPrefab)) { EffectManager.SpawnEffect(solusFactorBlastEffectPrefab, new EffectData { origin = val2.transform.position, scale = 8f }, true); } } } if (val.HasBuff(Buffs.finalReleaseBuff) && flag3 && flag) { int buffCount2 = val.GetBuffCount(Buffs.finalReleaseBuff); NetworkingHelpers.ApplyBuff(val, Buffs.finalReleaseBuff.buffIndex, buffCount2 + 1, -1f); } if (val.HasBuff(Buffs.commandoBuff) && flag3 && flag && flag2) { DamageInfo val6 = new DamageInfo { damage = damageInfo.damage * Config.DoubleTapDamage.Value, position = val2.corePosition, force = Vector3.zero, procCoefficient = Config.DoubleTapProc.Value, damageColorIndex = (DamageColorIndex)0, crit = false, attacker = ((Component)val).gameObject, inflictor = ((Component)val2).gameObject, damageType = new DamageTypeCombo(damageInfo.damageType, (DamageTypeExtended)0, (DamageSource)2), procChainMask = default(ProcChainMask) }; val2.healthComponent.TakeDamage(val6); } if (val.HasBuff(Buffs.chefOilBurstBuff) && flag3 && flag && flag2) { int buffCount3 = val.GetBuffCount(Buffs.chefOilBurstStacksBuff); if (buffCount3 >= 6) { NetworkingHelpers.ApplyBuff(val, Buffs.chefOilBurstStacksBuff.buffIndex, 0, -1f); EffectManager.SimpleMuzzleFlash(Glaze.effectPrefab, ((Component)val).gameObject, "RHand", false); EffectManager.SimpleMuzzleFlash(ShiggyAsset.chefGlazeEffectMuzzlePrefab, ((Component)val).gameObject, "LHand", false); Ray val7 = default(Ray); ((Ray)(ref val7))..ctor(val.aimOrigin, val.inputBank.aimDirection); float num = Random.Range(0f, val.spreadBloomAngle + Glaze.xDeviationSpread); float num2 = Random.Range(0f, 360f); Vector3 up = Vector3.up; Vector3 val8 = Vector3.Cross(up, ((Ray)(ref val7)).direction); Vector3 val9 = Quaternion.Euler(0f, 0f, num2) * (Quaternion.Euler(num, 0f, 0f) * Vector3.forward); float y = val9.y; val9.y = 0f; float num3 = Mathf.Atan2(val9.z, val9.x) * 57.29578f - 90f; float num4 = Mathf.Atan2(y, ((Vector3)(ref val9)).magnitude) * 57.29578f + Glaze.arcAngle; Vector3 val10 = Quaternion.AngleAxis(num3, up) * (Quaternion.AngleAxis(num4, val8) * ((Ray)(ref val7)).direction); FireProjectileInfo val11 = default(FireProjectileInfo); val11.projectilePrefab = ShiggyAsset.chefGlazeProjectilePrefab; val11.position = val.aimOrigin; val11.rotation = Util.QuaternionSafeLookRotation(val10); val11.owner = ((Component)val).gameObject; val11.damage = val.damage * 2.5f; val11.force = 0f; val11.crit = Util.CheckRoll(val.crit, val.master); val11.damageTypeOverride = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)16384), (DamageTypeExtended)0, (DamageSource)8); ProjectileManager.instance.FireProjectile(val11); } else if (buffCount3 < 6) { NetworkingHelpers.ApplyBuff(val, Buffs.chefOilBurstStacksBuff.buffIndex, buffCount3 + 1, -1f); } } if (val.HasBuff(Buffs.greaterwispBuff) && flag3 && flag && flag2) { if (Object.op_Implicit((Object)(object)ShiggyAsset.chargegreaterwispBall)) { EffectManager.SpawnEffect(ShiggyAsset.chargegreaterwispBall, new EffectData { origin = val2.transform.position, scale = 6f, rotation = Util.QuaternionSafeLookRotation(damageInfo.force) }, true); } new BlastAttack { attacker = ((Component)val).gameObject, teamIndex = TeamComponent.GetObjectTeam(((Component)val).gameObject), crit = false, falloffModel = (FalloffModel)0, baseDamage = damageInfo.damage * 0.5f, damageType = new DamageTypeCombo(damageInfo.damageType, (DamageTypeExtended)0, (DamageSource)2), damageColorIndex = (DamageColorIndex)0, baseForce = 0f, procChainMask = damageInfo.procChainMask, position = val2.transform.position, radius = 6f, procCoefficient = 0f, attackerFiltering = (AttackerFiltering)2 }.Fire(); } if ((val.HasBuff(Buffs.elementalFusionFireBuff) || val.HasBuff(Buffs.elementalFusionFreezeBuff) || val.HasBuff(Buffs.elementalFusionShockBuff)) && flag3 && flag && flag2) { int buffCount4 = val.GetBuffCount(Buffs.elementalFusionBuffStacks); if (buffCount4 < StaticValues.elementalFusionThreshold) { NetworkingHelpers.ApplyBuff(val, Buffs.elementalFusionBuffStacks.buffIndex, buffCount4 + 1, -1f); } else { NetworkingHelpers.ApplyBuff(val, Buffs.elementalFusionBuffStacks.buffIndex, 0, -1f); if (val.HasBuff(Buffs.elementalFusionFireBuff)) { NetworkingHelpers.ApplyBuff(val, Buffs.elementalFusionFireBuff.buffIndex, 0, -1f); NetworkingHelpers.ApplyBuff(val, Buffs.elementalFusionFreezeBuff.buffIndex, 1, -1f); if (Object.op_Implicit((Object)(object)ShiggyAsset.artificerFireMuzzleEffect)) { EffectManager.SpawnEffect(ShiggyAsset.artificerFireMuzzleEffect, new EffectData { origin = val.corePosition }, false); } } else if (val.HasBuff(Buffs.elementalFusionFreezeBuff)) { NetworkingHelpers.ApplyBuff(val, Buffs.elementalFusionFreezeBuff.buffIndex, 0, -1f); NetworkingHelpers.ApplyBuff(val, Buffs.elementalFusionShockBuff.buffIndex, 1, -1f); if (Object.op_Implicit((Object)(object)ShiggyAsset.artificerIceMuzzleEffect)) { EffectManager.SpawnEffect(ShiggyAsset.artificerIceMuzzleEffect, new EffectData { origin = val.corePosition }, false); } } else if (val.HasBuff(Buffs.elementalFusionShockBuff)) { NetworkingHelpers.ApplyBuff(val, Buffs.elementalFusionShockBuff.buffIndex, 0, -1f); NetworkingHelpers.ApplyBuff(val, Buffs.elementalFusionFireBuff.buffIndex, 1, -1f); if (Object.op_Implicit((Object)(object)ShiggyAsset.artificerLightningMuzzleEffect)) { EffectManager.SpawnEffect(ShiggyAsset.artificerLightningMuzzleEffect, new EffectData { origin = val.corePosition }, false); } } } } if (val.HasBuff(Buffs.omniboostBuff) && flag3 && flag && flag2) { OmniboostTracker omniboostTracker = ((Component)val).GetComponent<OmniboostTracker>(); if (!Object.op_Implicit((Object)(object)omniboostTracker)) { omniboostTracker = ((Component)val).gameObject.AddComponent<OmniboostTracker>(); } if (Object.op_Implicit((Object)(object)omniboostTracker.lastVictim) && (Object)(object)omniboostTracker.lastVictim != (Object)(object)val2) { NetworkingHelpers.ApplyBuff(omniboostTracker.lastVictim, Buffs.omniboostDebuffStacks.buffIndex, 0, -1f); int buffCount5 = val.GetBuffCount(Buffs.omniboostBuffStacks); int num5 = buffCount5 / 2; NetworkingHelpers.ApplyBuff(val, Buffs.omniboostBuffStacks.buffIndex, num5, -1f); } omniboostTracker.lastVictim = val2; int buffCount6 = val2.GetBuffCount(Buffs.omniboostDebuffStacks); if (buffCount6 + 1 < 3) { NetworkingHelpers.ApplyBuff(val2, Buffs.omniboostDebuffStacks.buffIndex, buffCount6 + 1, -1f); } else { NetworkingHelpers.ApplyBuff(val2, Buffs.omniboostDebuffStacks.buffIndex, 0, -1f); int buffCount7 = val.GetBuffCount(Buffs.omniboostBuffStacks); NetworkingHelpers.ApplyBuff(val, Buffs.omniboostBuffStacks.buffIndex, buffCount7 + 1, -1f); EffectManager.SpawnEffect(FireEmbers.hitEffectPrefab, new EffectData { origin = val2.transform.position, scale = 1f }, false); } } if (val.HasBuff(Buffs.bigbangBuff) && flag3 && flag && flag2) { int buffCount8 = val2.GetBuffCount(Buffs.bigbangDebuff); if (buffCount8 + 1 < 5) { NetworkingHelpers.ApplyBuff(val2, Buffs.bigbangDebuff.buffIndex, buffCount8 + 1, -1f); } else { NetworkingHelpers.ApplyBuff(val2, Buffs.bigbangDebuff.buffIndex, 0, -1f); if (Object.op_Implicit((Object)(object)ExplosionAttack.novaEffectPrefab)) { EffectManager.SpawnEffect(ExplosionAttack.novaEffectPrefab, new EffectData { origin = val2.transform.position, scale = 20f * val.attackSpeed / 3f }, true); } new BlastAttack { attacker = ((Component)val).gameObject, teamIndex = TeamComponent.GetObjectTeam(((Component)val).gameObject), crit = false, falloffModel = (FalloffModel)0, baseDamage = damageInfo.damage * 10f, damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)32), (DamageTypeExtended)0, (DamageSource)2), damageColorIndex = (DamageColorIndex)0, baseForce = 0f, position = val2.transform.position, radius = 20f * val.attackSpeed / 3f, procCoefficient = 0f, attackerFiltering = (AttackerFiltering)2 }.Fire(); } } if (val.HasBuff(Buffs.wisperBuff) && flag3 && flag && flag2) { DevilOrb val12 = new DevilOrb { origin = val.corePosition, damageValue = val.damage * 2f, teamIndex = val.teamComponent.teamIndex, attacker = ((Component)val).gameObject, damageColorIndex = (DamageColorIndex)3, scale = 1f, effectType = (EffectType)1, procCoefficient = 0f }; HurtBox mainHurtBox = val2.mainHurtBox; if (Object.op_Implicit((Object)(object)mainHurtBox)) { ((Orb)val12).target = mainHurtBox; val12.isCrit = Util.CheckRoll(val.crit, val.master); OrbManager.instance.AddOrb((Orb)(object)val12); } } if (val.HasBuff(Buffs.lightFormBuff) && flag3 && flag && flag2) { NetworkingHelpers.ApplyBuff(val2, Buffs.lightFormDebuff.buffIndex, val2.GetBuffCount(Buffs.lightFormDebuff) + 1, -1f); } if (val.HasBuff(Buffs.darknessFormBuff) && flag3 && flag && flag2) { NetworkingHelpers.ApplyBuff(val2, Buffs.darknessFormDebuff.buffIndex, val2.GetBuffCount(Buffs.darknessFormDebuff) + 1, -1f); } if (val2.HasBuff(Buffs.lightFormDebuff) && flag3 && flag && flag2) { NetMessageExtensions.Send((INetMessage)(object)new OrbDamageRequest(val2.masterObjectId, damageInfo.damage, val.masterObjectId), (NetworkDestination)1); } if (val.HasBuff(Buffs.lightAndDarknessFormBuff) && flag3 && flag && flag2) { NetworkingHelpers.ApplyBuff(val2, Buffs.lightAndDarknessFormDebuff.buffIndex, val2.GetBuffCount(Buffs.lightAndDarknessFormDebuff) + 1, -1f); } if (val2.HasBuff(Buffs.lightAndDarknessFormDebuff) && flag3 && flag && flag2) { int buffCount9 = val2.GetBuffCount(Buffs.lightAndDarknessFormDebuff); NetMessageExtensions.Send((INetMessage)(object)new LightAndDarknessPullRequest(val.masterObjectId, val2.corePosition, Vector3.up, StaticValues.lightAndDarknessRange + StaticValues.lightAndDarknessRangeAddition * (float)buffCount9, 0f, damageInfo.damage * (StaticValues.lightAndDarknessBonusDamage * (float)buffCount9), 360f, playEffect: true), (NetworkDestination)1); } if (val.HasBuff(Buffs.limitBreakBuff) && flag3 && flag) { NetMessageExtensions.Send((INetMessage)(object)new SpendHealthNetworkRequest(val.masterObjectId, val.healthComponent.fullHealth * Config.LimitBreakHealthCostPercentage.Value), (NetworkDestination)1); } } private void CharacterBody_OnDeathStart(orig_OnDeathStart orig, CharacterBody self) { orig.Invoke(self); if (!Object.op_Implicit((Object)(object)self)) { return; } if (self.baseNameToken == "TEAL_SHIGGY_BODY_NAME") { ShiggyController component = ((Component)self).gameObject.GetComponent<ShiggyController>(); if (Config.allowVoice.Value) { AkSoundEngine.PostEvent("ShiggyDeath", ((Component)self).gameObject); } } BuffController component2 = ((Component)self).gameObject.GetComponent<BuffController>(); if (Object.op_Implicit((Object)(object)component2)) { if (Object.op_Implicit((Object)(object)component2.overloadingWard)) { EntityState.Destroy((Object)(object)component2.overloadingWard); } if (Object.op_Implicit((Object)(object)component2.mushroomWard)) { EntityState.Destroy((Object)(object)component2.mushroomWard); } if (Object.op_Implicit((Object)(object)component2.magmawormWard)) { EntityState.Destroy((Object)(object)component2.magmawormWard); } if (Object.op_Implicit((Object)(object)component2.mortarIndicatorInstance)) { component2.mortarIndicatorInstance.SetActive(false); EntityState.Destroy((Object)(object)component2.mortarIndicatorInstance.gameObject); } if (Object.op_Implicit((Object)(object)component2.voidmortarIndicatorInstance)) { component2.voidmortarIndicatorInstance.SetActive(false); EntityState.Destroy((Object)(object)component2.voidmortarIndicatorInstance.gameObject); } if (Object.op_Implicit((Object)(object)component2.barbedSpikesIndicatorInstance)) { component2.barbedSpikesIndicatorInstance.SetActive(false); EntityState.Destroy((Object)(object)component2.barbedSpikesIndicatorInstance.gameObject); } } } private void GlobalEventManager_OnCharacterDeath(orig_OnCharacterDeath orig, GlobalEventManager self, DamageReport damageReport) { //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, damageReport); if (Object.op_Implicit((Object)(object)damageReport.attackerBody) && Object.op_Implicit((Object)(object)damageReport.victimBody)) { if (damageReport.attackerBody?.baseNameToken == "TEAL_SHIGGY_BODY_NAME" && damageReport.damageInfo.damage > 0f && damageReport.attackerBody.hasEffectiveAuthority) { EnergySystem component = ((Component)damageReport.attackerBody).gameObject.GetComponent<EnergySystem>(); component.GainplusChaos(component.maxPlusChaos * StaticValues.killPlusChaosGain); } if (damageReport.attackerBody.HasBuff(Buffs.doubleTimeBuff) && damageReport.damageInfo.damage > 0f) { int buffCount = damageReport.attackerBody.GetBuffCount(Buffs.doubleTimeBuffStacks); NetworkingHelpers.ApplyBuff(damageReport.attackerBody, Buffs.doubleTimeBuffStacks.buffIndex, buffCount + 1, -1f); } if (damageReport.attackerBody.HasBuff(Buffs.omniboostBuffStacks) && damageReport.damageInfo.damage > 0f) { int buffCount2 = damageReport.attackerBody.GetBuffCount(Buffs.omniboostBuffStacks); NetworkingHelpers.ApplyBuff(damageReport.attackerBody, Buffs.omniboostBuffStacks.buffIndex, Mathf.RoundToInt((float)(buffCount2 / 2)), -1f); } } } private void SurvivorCatalog_Init(orig_Init orig) { orig.Invoke(); foreach (SurvivorDef allSurvivorDef in SurvivorCatalog.allSurvivorDefs) { if (((Object)allSurvivorDef.bodyPrefab).name == "ShiggyBody") { CustomEmotesAPI.ImportArmature(allSurvivorDef.bodyPrefab, ShiggyAsset.mainAssetBundle.LoadAsset<GameObject>("humanoidShigaraki"), 0, true); } } } private void GlobalEventManager_OnDamageDealt(DamageReport report) { //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) bool flag = !Object.op_Implicit((Object)(object)report.attacker) || !Object.op_Implicit((Object)(object)report.attackerBody); if (!flag && report.attackerBody.HasBuff(Buffs.claydunestriderBuff)) { CharacterBody attackerBody = report.attackerBody; attackerBody.healthComponent.Heal(report.damageDealt * 0.1f, default(ProcChainMask), true); } if (!flag && report.attackerBody.HasBuff(Buffs.OFAFOBuff)) { CharacterBody attackerBody2 = report.attackerBody; attackerBody2.healthComponent.Heal(report.damageDealt * StaticValues.OFAFOLifestealCoefficient, default(ProcChainMask), true); EnergySystem component = ((Component)attackerBody2).gameObject.GetComponent<EnergySystem>(); if (Object.op_Implicit((Object)(object)component)) { component.GainplusChaos(StaticValues.OFAFOEnergyGainCoefficient * report.damageDealt); } } if (!flag && report.attackerBody.HasBuff(Buffs.loaderBuff)) { CharacterBody attackerBody3 = report.attackerBody; attackerBody3.healthComponent.AddBarrierAuthority(report.damageDealt * Config.ScrapBarrierBarrierGain.Value); } } private void HealthComponent_TakeDamage(orig_TakeDamage orig, HealthComponent self, DamageInfo damageInfo) { //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Invalid comparison between Unknown and I4 //IL_0d98: Unknown result type (might be due to invalid IL or missing references) //IL_0da2: Unknown result type (might be due to invalid IL or missing references) //IL_0da7: Unknown result type (might be due to invalid IL or missing references) //IL_0dac: Unknown result type (might be due to invalid IL or missing references) //IL_0db6: Invalid comparison between Unknown and I4 //IL_0ddc: Unknown result type (might be due to invalid IL or missing references) //IL_0de2: Unknown result type (might be due to invalid IL or missing references) //IL_0de7: Unknown result type (might be due to invalid IL or missing references) //IL_0dec: Unknown result type (might be due to invalid IL or missing references) //IL_0df2: Invalid comparison between Unknown and I4 //IL_0e47: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Invalid comparison between Unknown and I4 //IL_1095: Unknown result type (might be due to invalid IL or missing references) //IL_0e62: Unknown result type (might be due to invalid IL or missing references) //IL_0e2a: Unknown result type (might be due to invalid IL or missing references) //IL_1129: Unknown result type (might be due to invalid IL or missing references) //IL_10a8: Unknown result type (might be due to invalid IL or missing references) //IL_10d6: Unknown result type (might be due to invalid IL or missing references) //IL_10db: Unknown result type (might be due to invalid IL or missing references) //IL_10e0: Unknown result type (might be due to invalid IL or missing references) //IL_10e2: 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_0ee5: Unknown result type (might be due to invalid IL or missing references) //IL_0eea: 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_0f08: Unknown result type (might be due to invalid IL or missing references) //IL_0f09: Unknown result type (might be due to invalid IL or missing references) //IL_0f11: Unknown result type (might be due to invalid IL or missing references) //IL_0f1c: Unknown result type (might be due to invalid IL or missing references) //IL_0f23: Unknown result type (might be due to invalid IL or missing references) //IL_0f28: Unknown result type (might be due to invalid IL or missing references) //IL_0f2d: Unknown result type (might be due to invalid IL or missing references) //IL_0f38: Expected O, but got Unknown //IL_0ead: 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_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Invalid comparison between Unknown and I4 //IL_0fc7: Unknown result type (might be due to invalid IL or missing references) //IL_0fcc: Unknown result type (might be due to invalid IL or missing references) //IL_0fd9: Unknown result type (might be due to invalid IL or missing references) //IL_0fec: Unknown result type (might be due to invalid IL or missing references) //IL_0ff7: Unknown result type (might be due to invalid IL or missing references) //IL_0ff9: Unknown result type (might be due to invalid IL or missing references) //IL_0ffe: Unknown result type (might be due to invalid IL or missing references) //IL_100b: Unknown result type (might be due to invalid IL or missing references) //IL_100d: Unknown result type (might be due to invalid IL or missing references) //IL_1012: Unknown result type (might be due to invalid IL or missing references) //IL_1014: Unknown result type (might be due to invalid IL or missing references) //IL_101b: Unknown result type (might be due to invalid IL or missing references) //IL_1020: Unknown result type (might be due to invalid IL or missing references) //IL_1025: Unknown result type (might be due to invalid IL or missing references) //IL_1027: Unknown result type (might be due to invalid IL or missing references) //IL_102c: Unknown result type (might be due to invalid IL or missing references) //IL_1039: Unknown result type (might be due to invalid IL or missing references) //IL_103a: Unknown result type (might be due to invalid IL or missing references) //IL_103c: Unknown result type (might be due to invalid IL or missing references) //IL_1041: Unknown result type (might be due to invalid IL or missing references) //IL_1047: Unknown result type (might be due to invalid IL or missing references) //IL_104d: Unknown result type (might be due to invalid IL or missing references) //IL_1058: Unknown result type (might be due to invalid IL or missing references) //IL_1063: Unknown result type (might be due to invalid IL or missing references) //IL_1065: Unknown result type (might be due to invalid IL or missing references) //IL_106a: 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_1077: Unknown result type (might be due to invalid IL or missing references) //IL_107c: Unknown result type (might be due to invalid IL or missing references) //IL_1082: Unknown result type (might be due to invalid IL or missing references) //IL_1087: Unknown result type (might be due to invalid IL or missing references) //IL_108c: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01f3: Unknown result type (might be due to invalid IL or missing references) //IL_01fd: Invalid comparison between Unknown and I4 //IL_0188: 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_11a1: Unknown result type (might be due to invalid IL or missing references) //IL_115c: Unknown result type (might be due to invalid IL or missing references) //IL_1187: Unknown result type (might be due to invalid IL or missing references) //IL_02cb: Unknown result type (might be due to invalid IL or missing references) //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_11d0: Unknown result type (might be due to invalid IL or missing references) //IL_11d5: Unknown result type (might be due to invalid IL or missing references) //IL_11e0: Unknown result type (might be due to invalid IL or missing references) //IL_11eb: Unknown result type (might be due to invalid IL or missing references) //IL_11f2: Unknown result type (might be due to invalid IL or missing references) //IL_11f7: Unknown result type (might be due to invalid IL or missing references) //IL_11fc: Unknown result type (might be due to invalid IL or missing references) //IL_1208: Unknown result type (might be due to invalid IL or missing references) //IL_1221: 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_1236: Unknown result type (might be due to invalid IL or missing references) //IL_123b: Unknown result type (might be due to invalid IL or missing references) //IL_1246: Unknown result type (might be due to invalid IL or missing references) //IL_124e: Unknown result type (might be due to invalid IL or missing references) //IL_1253: Unknown result type (might be due to invalid IL or missing references) //IL_1258: Unknown result type (might be due to invalid IL or missing references) //IL_125e: Unknown result type (might be due to invalid IL or missing references) //IL_1265: Unknown result type (might be due to invalid IL or missing references) //IL_126a: Unknown result type (might be due to invalid IL or missing references) //IL_126f: Unknown result type (might be due to invalid IL or missing references) //IL_1271: Unknown result type (might be due to invalid IL or missing references) //IL_1278: Expected O, but got Unknown //IL_127a: Unknown result type (might be due to invalid IL or missing references) //IL_1287: Unknown result type (might be due to invalid IL or missing references) //IL_1292: Unknown result type (might be due to invalid IL or missing references) //IL_1297: Unknown result type (might be due to invalid IL or missing references) //IL_129e: Unknown result type (might be due to invalid IL or missing references) //IL_12a9: Unknown result type (might be due to invalid IL or missing references) //IL_12b4: Unknown result type (might be due to invalid IL or missing references) //IL_12bb: Unknown result type (might be due to invalid IL or missing references) //IL_12c0: Unknown result type (might be due to invalid IL or missing references) //IL_12c5: Unknown result type (might be due to invalid IL or missing references) //IL_12d0: Expected O, but got Unknown //IL_02f9: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_0311: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_0320: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Unknown result type (might be due to invalid IL or missing references) //IL_032f: Invalid comparison between Unknown and I4 //IL_04cf: Unknown result type (might be due to invalid IL or missing references) //IL_04d5: Unknown result type (might be due to invalid IL or missing references) //IL_04da: Unknown result type (might be due to invalid IL or missing references) //IL_04df: Unknown result type (might be due to invalid IL or missing references) //IL_04e5: Invalid comparison between Unknown and I4 //IL_0405: Unknown result type (might be due to invalid IL or missing references) //IL_040a: Unknown result type (might be due to invalid IL or missing references) //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_041e: Unknown result type (might be due to invalid IL or missing references) //IL_0423: Unknown result type (might be due to invalid IL or missing references) //IL_0428: Unknown result type (might be due to invalid IL or missing references) //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_042e: Unknown result type (might be due to invalid IL or missing references) //IL_0433: Unknown result type (might be due to invalid IL or missing references) //IL_0435: Unknown result type (might be due to invalid IL or missing references) //IL_043a: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_044d: Unknown result type (might be due to invalid IL or missing references) //IL_044f: Unknown result type (might be due to invalid IL or missing references) //IL_0456: Unknown result type (might be due to invalid IL or missing references) //IL_045b: Unknown result type (might be due to invalid IL or missing references) //IL_0460: Unknown result type (might be due to invalid IL or missing references) //IL_046b: Unknown result type (might be due to invalid IL or missing references) //IL_0471: Unknown result type (might be due to invalid IL or missing references) //IL_0479: Expected O, but got Unknown //IL_048c: Unknown result type (might be due to invalid IL or missing references) //IL_0491: Unknown result type (might be due to invalid IL or missing references) //IL_0493: Unknown result type (might be due to invalid IL or missing references) //IL_04a4: Expected O, but got Unknown //IL_04aa: Unknown result type (might be due to invalid IL or missing references) //IL_04af: Unknown result type (might be due to invalid IL or missing references) //IL_04bb: Unknown result type (might be due to invalid IL or missing references) //IL_04cc: Expected O, but got Unknown //IL_036f: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_0529: Unknown result type (might be due to invalid IL or missing references) //IL_0534: Unknown result type (might be due to invalid IL or missing references) //IL_0546: Unknown result type (might be due to invalid IL or missing references) //IL_054b: Unknown result type (might be due to invalid IL or missing references) //IL_055d: Unknown result type (might be due to invalid IL or missing references) //IL_0682: Unknown result type (might be due to invalid IL or missing references) //IL_0571: Unknown result type (might be due to invalid IL or missing references) //IL_0576: Unknown result type (might be due to invalid IL or missing references) //IL_0582: Unknown result type (might be due to invalid IL or missing references) //IL_0589: Unknown result type (might be due to invalid IL or missing references) //IL_0594: Unknown result type (might be due to invalid IL or missing references) //IL_0596: Unknown result type (might be due to invalid IL or missing references) //IL_059b: Unknown result type (might be due to invalid IL or missing references) //IL_05ad: Unknown result type (might be due to invalid IL or missing references) //IL_05b9: Unknown result type (might be due to invalid IL or missing references) //IL_05bb: Unknown result type (might be due to invalid IL or missing references) //IL_05c0: Unknown result type (might be due to invalid IL or missing references) //IL_05c2: Unknown result type (might be due to invalid IL or missing references) //IL_05c7: Unknown result type (might be due to invalid IL or missing references) //IL_05cc: Unknown result type (might be due to invalid IL or missing references) //IL_05d2: Unknown result type (might be due to invalid IL or missing references) //IL_05d8: Unknown result type (might be due to invalid IL or missing references) //IL_05e3: Unknown result type (might be due to invalid IL or missing references) //IL_05e6: Unknown result type (might be due to invalid IL or missing references) //IL_05ed: Unknown result type (might be due to invalid IL or missing references) //IL_05f2: Unknown result type (might be due to invalid IL or missing references) //IL_05f7: Unknown result type (might be due to invalid IL or missing references) //IL_0602: Unknown result type (might be due to invalid IL or missing references) //IL_0609: Unknown result type (might be due to invalid IL or missing references) //IL_060e: Unknown result type (might be due to invalid IL or missing references) //IL_0613: Unknown result type (might be due to invalid IL or missing references) //IL_0621: Expected O, but got Unknown //IL_0633: Unknown result type (might be due to invalid IL or missing references) //IL_0638: Unknown result type (might be due to invalid IL or missing references) //IL_063a: Unknown result type (might be due to invalid IL or missing references) //IL_0645: Unknown result type (might be due to invalid IL or missing references) //IL_0647: Unknown result type (might be due to invalid IL or missing references) //IL_064c: Unknown result type (might be due to invalid IL or missing references) //IL_0660: Unknown result type (might be due to invalid IL or missing references) //IL_0658: Unknown result type (might be due to invalid IL or missing references) //IL_0665: Unknown result type (might be due to invalid IL or missing references) //IL_066a: Unknown result type (might be due to invalid IL or missing references) //IL_0675: Expected O, but got Unknown //IL_07fb: Unknown result type (might be due to invalid IL or missing references) //IL_06d4: Unknown result type (might be due to invalid IL or missing references) //IL_06d9: Unknown result type (might be due to invalid IL or missing references) //IL_06e5: Unknown result type (might be due to invalid IL or missing references) //IL_06ec: Unknown result type (might be due to invalid IL or missing references) //IL_06f7: Unknown result type (might be due to invalid IL or missing references) //IL_06f9: Unknown result type (might be due to invalid IL or missing references) //IL_06fe: Unknown result type (might be due to invalid IL or missing references) //IL_0710: Unknown result type (might be due to invalid IL or missing references) //IL_071c: Unknown result type (might be due to invalid IL or missing references) //IL_071e: Unknown result type (might be due to invalid IL or missing references) //IL_0723: Unknown result type (might be due to invalid IL or missing references) //IL_0725: Unknown result type (might be due to invalid IL or missing references) //IL_072a: Unknown result type (might be due to invalid IL or missing references) //IL_072f: Unknown result type (might be due to invalid IL or missing references) //IL_0735: Unknown result type (might be due to invalid IL or missing references) //IL_073b: Unknown result type (might be due to invalid IL or missing references) //IL_0746: Unknown result type (might be due to invalid IL or missing references) //IL_0749: Unknown result type (might be due to invalid IL or missing references) //IL_0750: Unknown result type (might be due to invalid IL or missing references) //IL_0755: Unknown result type (might be due to invalid IL or missing references) //IL_075a: Unknown result type (might be due to invalid IL or missing references) //IL_0765: Unknown result type (might be due to invalid IL or missing references) //IL_076c: Unknown result type (might be due to invalid IL or missing references) //IL_0771: Unknown result type (might be due to invalid IL or missing references) //IL_0776: Unknown result type (might be due to invalid IL or missing references) //IL_0784: Expected O, but got Unknown //IL_07ac: Unknown result type (might be due to invalid IL or missing references) //IL_07b1: Unknown result type (might be due to invalid IL or missing references) //IL_07b3: Unknown result type (might be due to invalid IL or missing references) //IL_07be: Unknown result type (might be due to invalid IL or missing references) //IL_07c0: Unknown result type (might be due to invalid IL or missing references) //IL_07c5: Unknown result type (might be due to invalid IL or missing references) //IL_07d9: Unknown result type (might be due to invalid IL or missing references) //IL_07d1: Unknown result type (might be due to invalid IL or missing references) //IL_0813: Unknown result type (might be due to invalid IL or missing references) //IL_0818: Unknown result type (might be due to invalid IL or missing references) //IL_07de: Unknown result type (might be due to invalid IL or missing references) //IL_07e3: Unknown result type (might be due to invalid IL or missing references) //IL_07ee: Expected O, but got Unknown //IL_096f: Unknown result type (might be due to invalid IL or missing references) //IL_0842: Unknown result type (might be due to invalid IL or missing references) //IL_0920: Unknown result type (might be due to invalid IL or missing references) //IL_0925: Unknown result type (might be due to invalid IL or missing references) //IL_0927: Unknown result type (might be due to invalid IL or missing references) //IL_0932: Unknown result type (might be due to invalid IL or missing references) //IL_0934: Unknown result type (might be due to invalid IL or missing references) //IL_0939: Unknown result type (might be due to invalid IL or missing references) //IL_0856: Unknown result type (might be due to invalid IL or missing references) //IL_085b: Unknown result type (might be due to invalid IL or missing references) //IL_0867: Unknown result type (might be due to invalid IL or missing references) //IL_086e: Unknown result type (might be due to invalid IL or missing references) //IL_0879: Unknown result type (might be due to invalid IL or missing references) //IL_087b: Unknown result type (might be due to invalid IL or missing references) //IL_0880: Unknown result type (might be due to invalid IL or missing references) //IL_0892: Unknown result type (might be due to invalid IL or missing references) //IL_089e: Unknown result type (might be due to invalid IL or missing references) //IL_08a0: Unknown result type (might be due to invalid IL or missing references) //IL_08a5: 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_08ac: Unknown result type (might be due to invalid IL or missing references) //IL_08b1: Unknown result type (might be due to invalid IL or missing references) //IL_08b7: 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_08c8: Unknown result type (might be due to invalid IL or missing references) //IL_08cb: Unknown result type (might be due to invalid IL or missing references) //IL_08d2: Unknown result type (might be due to invalid IL or missing references) //IL_08d7: Unknown result type (might be due to invalid IL or missing references) //IL_08dc: Unknown result type (might be due to invalid IL or missing references) //IL_08e7: Unknown result type (might be due to invalid IL or missing references) //IL_08ee: 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_08f8: Unknown result type (might be due to invalid IL or missing references) //IL_0906: Expected O, but got Unknown //IL_0987: Unknown result type (might be due to invalid IL or missing references) //IL_098c: Unknown result type (might be due to invalid IL or missing references) //IL_094d: Unknown result type (might be due to invalid IL or missing references) //IL_0945: Unknown result type (might be due to invalid IL or missing references) //IL_0ade: Unknown result type (might be due to invalid IL or missing references) //IL_09b1: Unknown result type (might be due to invalid IL or missing references) //IL_0952: Unknown result type (might be due to invalid IL or missing references) //IL_0957: Unknown result type (might be due to invalid IL or missing references) //IL_0962: Expected O, but got Unknown //IL_0a8f: Unknown result type (might be due to invalid IL or missing references) //IL_0a94: Unknown result type (might be due to invalid IL or missing references) //IL_0a96: Unknown result type (might be due to invalid IL or missing references) //IL_0aa1: 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_0aa8: Unknown result type (might be due to invalid IL or missing references) //IL_09c5: Unknown result type (might be due to invalid IL or missing references) //IL_09ca: Unknown result type (might be due to invalid IL or missing references) //IL_09d6: Unknown result type (might be due to invalid IL or missing references) //IL_09dd: Unknown result type (might be due to invalid IL or missing references) //IL_09e8: Unknown result type (might be due to invalid IL or missing references) //IL_09ea: Unknown result type (might be due to invalid IL or missing references) //IL_09ef: 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_0a0d: Unknown result type (might be due to invalid IL or missing references) //IL_0a0f: Unknown result type (might be due to invalid IL or missing references) //IL_0a14: Unknown result type (might be due to invalid IL or missing references) //IL_0a16: Unknown result type (might be due to invalid IL or missing references) //IL_0a1b: Unknown result type (might be due to invalid IL or missing references) //IL_0a20: Unknown result type (might be due to invalid IL or missing references) //IL_0a26: 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_0a3a: Unknown result type (might be due to invalid IL or missing references) //IL_0a41: Unknown result type (might be due to invalid IL or missing references) //IL_0a46: Unknown result type (might be due to invalid IL or missing references) //IL_0a4b: Unknown result type (might be due to invalid IL or missing references) //IL_0a56: Unknown result type (might be due to invalid IL or missing references) //IL_0a5d: 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_0a67: Unknown result type (might be due to invalid IL or missing references) //IL_0a75: Expected O, but got Unknown //IL_0afa: Unknown result type (might be due to invalid IL or missing references) //IL_0aff: Unknown result type (might be due to invalid IL or missing references) //IL_0b01: Unknown result type (might be due to invalid IL or missing references) //IL_0b0c: Unknown result type (might be due to invalid IL or missing references) //IL_0b0e: Unknown result type (might be due to invalid IL or missing references) //IL_0b13: Unknown result type (might be due to invalid IL or missing references) //IL_0abc: Unknown result type (might be due to invalid IL or missing references) //IL_0ab4: Unknown result type (might be due to invalid IL or missing references) //IL_0b7e: Unknown result type (might be due to invalid IL or missing references) //IL_0b27: Unknown result type (might be due to invalid IL or missing references) //IL_0b1f: Unknown result type (might be due to invalid IL or missing references) //IL_0ac1: Unknown result type (might be due to invalid IL or missing references) //IL_0ac6: Unknown result type (might be due to invalid IL or missing references) //IL_0ad1: Expected O, but got Unknown //IL_0b2c: Unknown result type (might be due to invalid IL or missing references) //IL_0b31: Unknown result type (might be due to invalid IL or missing references) //IL_0b3c: Expected O, but got Unknown //IL_0b4a: Unknown result type (might be due to invalid IL or missing references) //IL_0b61: Unknown result type (might be due to invalid IL or missing references) //IL_0bbb: Unknown result type (might be due to invalid IL or missing references) //IL_0bc0: Unknown result type (might be due to invalid IL or missing references) //IL_0bc2: Unknown result type (might be due to invalid IL or missing references) //IL_0bc4: 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_0c85: Unknown result type (might be due to invalid IL or missing references) //IL_0c51: Unknown result type (might be due to invalid IL or missing references) //IL_0c5b: Unknown result type (might be due to invalid IL or missing references) //IL_0c65: Unknown result type (might be due to invalid IL or missing references) //IL_0c6a: Unknown result type (might be due to invalid IL or missing references) //IL_0c78: Unknown result type (might be due to invalid IL or missing references) //IL_0c7a: Unknown result type (might be due to invalid IL or missing references) //IL_0c7c: Unknown result type (might be due to invalid IL or missing references) //IL_0c81: Unknown result type (might be due to invalid IL or missing references) //IL_0cff: Unknown result type (might be due to invalid IL or missing references) //IL_0d16: Unknown result type (might be due to invalid IL or missing references) //IL_0ca5: Unknown result type (might be due to invalid IL or missing references) //IL_0caa: Unknown result type (might be due to invalid IL or missing references) //IL_0cab: Unknown result type (might be due to invalid IL or missing references) //IL_0cb3: Unknown result type (might be due to invalid IL or missing references) //IL_0cc4: Expected O, but got Unknown //IL_0cc7: Unknown result type (might be due to invalid IL or missing references) //IL_0ccc: Unknown result type (might be due to invalid IL or missing references) //IL_0ccd: Unknown result type (might be due to invalid IL or missing references) //IL_0cd5: Unknown result type (might be due to invalid IL or missing references) //IL_0ce6: Expected O, but got Unknown //IL_0c22: Unknown result type (might be due to invalid IL or missing references) //IL_0c27: Unknown result type (might be due to invalid IL or missing references) //IL_0c2b: Unknown result type (might be due to invalid IL or missing references) //IL_0c3b: 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) if (NetworkServer.active && Object.op_Implicit((Object)(object)self) && Object.op_Implicit((Object)(object)self.body) && damageInfo != null && !damageInfo.rejected) { CharacterBody body = self.body; CharacterBody val = (Object.op_Implicit((Object)(object)damageInfo.attacker) ? damageInfo.attacker.GetComponent<CharacterBody>() : null); if (body.HasBuff(Buffs.deathAuraDebuff) && (int)DamageTypeCombo.op_Implicit(damageInfo.damageType) == 67108864) { damageInfo.damage *= 1f + (float)body.GetBuffCount(Buffs.deathAuraDebuff) * StaticValues.deathAuraDebuffCoefficient; } if (Object.op_Implicit((Object)(object)val) && val.HasBuff(Buffs.deathAuraBuff) && (int)DamageTypeCombo.op_Implicit(damageInfo.damageType) == 67108864) { damageInfo.damage *= 1f + (float)val.GetBuffCount(Buffs.deathAuraBuff) * StaticValues.deathAuraBuffCoefficient; } if (Object.op_Implicit((Object)(object)val) && val.HasBuff(Buffs.multiplierBuff) && (int)DamageTypeCombo.op_Implicit(damageInfo.damageType & DamageTypeCombo.op_Implicit((DamageType)67108864)) != 67108864) { EnergySystem component = damageInfo.attacker.GetComponent<EnergySystem>(); if (Object.op_Implicit((Object)(object)component)) { float finalPlusChaosCost = component.GetFinalPlusChaosCost(10f); if (!component.CanAffordPlusChaos(10f)) { NetworkingHelpers.ApplyBuff(val, Buffs.multiplierBuff.buffIndex, 0, -1f); component.TriggerGlow(0.3f, 0.3f, Color.black); } else { damageInfo.damage *= 3f; component.SpendplusChaos(finalPlusChaosCost); } } } if (body.HasBuff(Buffs.darknessFormDebuff) && damageInfo.procCoefficient > 0f && (int)DamageTypeCombo.op_Implicit(damageInfo.damageType) != 67108864) { int buffCount = body.GetBuffCount(Buffs.darknessFormDebuff); damageInfo.damage += damageInfo.damage * (StaticValues.darkFormBonusDamage * (float)buffCount); } if (Object.op_Implicit((Object)(object)val) && body.HasBuff(Buffs.MercExpose) && val.baseNameToken == "TEAL_SHIGGY_BODY_NAME") { body.RemoveBuff(Buffs.MercExpose); damageInfo.damage += val.damage * StaticValues.exposeDamageCoefficient; SkillLocator skillLocator = val.skillLocator; if (Object.op_Implicit((Object)(object)skillLocator)) { skillLocator.DeductCooldownFromAllSkillsServer(1f); } EffectManager.SimpleImpactEffect(AssetReferences.mercExposeConsumeEffectPrefab, damageInfo.position, Vector3.up, true); } if (body.HasBuff(Buffs.stonetitanBuff.buffIndex) && damageInfo.damage > 0f && (Object)(object)val != (Object)(object)body) { damageInfo.force = Vector3.zero; if (self.combinedHealthFraction < 0.5f && (int)DamageTypeCombo.op_