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_