Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of CheaterSkeeter v1.0.0
cheaterskeeter.dll
Decompiled 2 months agousing System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using Microsoft.CodeAnalysis; using On.RoR2; using RoR2; using UnityEngine; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("cheaterskeeter")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("cheaterskeeter")] [assembly: AssemblyTitle("cheaterskeeter")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace CheaterSkeeter { [BepInPlugin("com.gogogadgetjustice.cheaterskeeter", "Cheater Skeeter in -A Bad Case of Capitalism- ", "1.0.0")] public class DebuggersGonnaDebug : BaseUnityPlugin { [CompilerGenerated] private sealed class <KeepDroppingBossHunters>d__8 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public DebuggersGonnaDebug <>4__this; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <KeepDroppingBossHunters>d__8(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; break; case 1: <>1__state = -1; break; } NetworkUser currentBossHunterUser = <>4__this.currentBossHunterUser; if ((Object)(object)((currentBossHunterUser != null) ? currentBossHunterUser.master : null) != (Object)null) { <>4__this.DropSpecificEquipment(<>4__this.currentBossHunterUser, "BossHunter"); } <>2__current = (object)new WaitForSeconds(2.5f); <>1__state = 1; return true; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } public const string PluginGUID = "com.gogogadgetjustice.cheaterskeeter"; public const string PluginName = "Cheater Skeeter in -A Bad Case of Capitalism- "; public const string PluginVersion = "1.0.0"; public static GameObject originalBodyPrefab; private Coroutine bossHunterCoroutine; private NetworkUser currentBossHunterUser; public void Awake() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown Chat.CCSay += new hook_CCSay(Chat_CCSay); } private void Chat_CCSay(orig_CCSay orig, ConCommandArgs args) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Expected O, but got Unknown //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Expected O, but got Unknown //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Invalid comparison between Unknown and I4 //IL_024b: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Invalid comparison between Unknown and I4 //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Expected O, but got Unknown //IL_02ab: 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_02c0: Expected O, but got Unknown //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01dd: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Unknown result type (might be due to invalid IL or missing references) //IL_0289: Unknown result type (might be due to invalid IL or missing references) //IL_088f: 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_0eec: Unknown result type (might be due to invalid IL or missing references) //IL_0f01: Unknown result type (might be due to invalid IL or missing references) //IL_0f88: Unknown result type (might be due to invalid IL or missing references) //IL_0f8e: Invalid comparison between Unknown and I4 //IL_1031: Unknown result type (might be due to invalid IL or missing references) //IL_1037: Invalid comparison between Unknown and I4 //IL_0fe5: Unknown result type (might be due to invalid IL or missing references) //IL_0fea: Unknown result type (might be due to invalid IL or missing references) //IL_0ffa: Expected O, but got Unknown //IL_1091: Unknown result type (might be due to invalid IL or missing references) //IL_1096: Unknown result type (might be due to invalid IL or missing references) //IL_10a6: Expected O, but got Unknown //IL_10e6: Unknown result type (might be due to invalid IL or missing references) //IL_10eb: Unknown result type (might be due to invalid IL or missing references) //IL_10ef: Unknown result type (might be due to invalid IL or missing references) //IL_10f2: Unknown result type (might be due to invalid IL or missing references) //IL_0fbd: Unknown result type (might be due to invalid IL or missing references) //IL_0fc3: Unknown result type (might be due to invalid IL or missing references) //IL_111a: Unknown result type (might be due to invalid IL or missing references) //IL_111f: Unknown result type (might be due to invalid IL or missing references) //IL_112f: Expected O, but got Unknown //IL_1069: Unknown result type (might be due to invalid IL or missing references) //IL_106f: Unknown result type (might be due to invalid IL or missing references) //IL_1313: Unknown result type (might be due to invalid IL or missing references) //IL_1530: Unknown result type (might be due to invalid IL or missing references) //IL_1587: Unknown result type (might be due to invalid IL or missing references) //IL_15e6: Unknown result type (might be due to invalid IL or missing references) //IL_16fa: Unknown result type (might be due to invalid IL or missing references) //IL_185c: Unknown result type (might be due to invalid IL or missing references) //IL_193a: Unknown result type (might be due to invalid IL or missing references) //IL_1a5d: Unknown result type (might be due to invalid IL or missing references) //IL_1bc7: Unknown result type (might be due to invalid IL or missing references) //IL_1bcc: Unknown result type (might be due to invalid IL or missing references) //IL_1bce: Unknown result type (might be due to invalid IL or missing references) //IL_1bd1: Invalid comparison between Unknown and I4 //IL_1bdd: Unknown result type (might be due to invalid IL or missing references) //IL_1bdf: Unknown result type (might be due to invalid IL or missing references) //IL_1be4: Unknown result type (might be due to invalid IL or missing references) //IL_1be8: Unknown result type (might be due to invalid IL or missing references) //IL_1bf0: Unknown result type (might be due to invalid IL or missing references) //IL_1c01: Unknown result type (might be due to invalid IL or missing references) //IL_1c06: Unknown result type (might be due to invalid IL or missing references) //IL_1c10: Unknown result type (might be due to invalid IL or missing references) //IL_1c15: Unknown result type (might be due to invalid IL or missing references) //IL_1c1a: Unknown result type (might be due to invalid IL or missing references) //IL_1c21: Unknown result type (might be due to invalid IL or missing references) //IL_1c26: Unknown result type (might be due to invalid IL or missing references) //IL_1c33: Unknown result type (might be due to invalid IL or missing references) //IL_1c35: Unknown result type (might be due to invalid IL or missing references) //IL_1c9d: Unknown result type (might be due to invalid IL or missing references) //IL_1ca2: Unknown result type (might be due to invalid IL or missing references) //IL_1ca4: Unknown result type (might be due to invalid IL or missing references) //IL_1ca7: Invalid comparison between Unknown and I4 //IL_1cb3: Unknown result type (might be due to invalid IL or missing references) //IL_1cb5: Unknown result type (might be due to invalid IL or missing references) //IL_1cba: Unknown result type (might be due to invalid IL or missing references) //IL_1cbe: Unknown result type (might be due to invalid IL or missing references) //IL_1cc6: Unknown result type (might be due to invalid IL or missing references) //IL_1cd7: Unknown result type (might be due to invalid IL or missing references) //IL_1cdc: Unknown result type (might be due to invalid IL or missing references) //IL_1ce6: Unknown result type (might be due to invalid IL or missing references) //IL_1ceb: Unknown result type (might be due to invalid IL or missing references) //IL_1cf0: Unknown result type (might be due to invalid IL or missing references) //IL_1cf7: Unknown result type (might be due to invalid IL or missing references) //IL_1cfc: Unknown result type (might be due to invalid IL or missing references) //IL_1d09: Unknown result type (might be due to invalid IL or missing references) //IL_1d0b: Unknown result type (might be due to invalid IL or missing references) //IL_1d70: Unknown result type (might be due to invalid IL or missing references) //IL_1d7c: Unknown result type (might be due to invalid IL or missing references) //IL_1d86: Unknown result type (might be due to invalid IL or missing references) //IL_1d8b: Unknown result type (might be due to invalid IL or missing references) //IL_1d90: Unknown result type (might be due to invalid IL or missing references) //IL_1d94: Unknown result type (might be due to invalid IL or missing references) //IL_1d96: Unknown result type (might be due to invalid IL or missing references) //IL_1daa: Unknown result type (might be due to invalid IL or missing references) //IL_1daf: Unknown result type (might be due to invalid IL or missing references) //IL_1dbf: Expected O, but got Unknown //IL_1e11: Unknown result type (might be due to invalid IL or missing references) //IL_1e16: Unknown result type (might be due to invalid IL or missing references) //IL_1e18: Unknown result type (might be due to invalid IL or missing references) //IL_1e1b: Invalid comparison between Unknown and I4 //IL_1e2a: Unknown result type (might be due to invalid IL or missing references) //IL_1e2c: Unknown result type (might be due to invalid IL or missing references) //IL_1e31: Unknown result type (might be due to invalid IL or missing references) //IL_1e35: Unknown result type (might be due to invalid IL or missing references) //IL_1e3d: Unknown result type (might be due to invalid IL or missing references) //IL_1e4e: Unknown result type (might be due to invalid IL or missing references) //IL_1e53: Unknown result type (might be due to invalid IL or missing references) //IL_1e5d: Unknown result type (might be due to invalid IL or missing references) //IL_1e62: Unknown result type (might be due to invalid IL or missing references) //IL_1e67: Unknown result type (might be due to invalid IL or missing references) //IL_1e6e: Unknown result type (might be due to invalid IL or missing references) //IL_1e73: Unknown result type (might be due to invalid IL or missing references) //IL_1e80: Unknown result type (might be due to invalid IL or missing references) //IL_1e82: Unknown result type (might be due to invalid IL or missing references) //IL_1ea0: Unknown result type (might be due to invalid IL or missing references) //IL_1ea6: Unknown result type (might be due to invalid IL or missing references) //IL_1f24: Unknown result type (might be due to invalid IL or missing references) //IL_1f29: Unknown result type (might be due to invalid IL or missing references) //IL_1f39: Expected O, but got Unknown //IL_1eaf: Unknown result type (might be due to invalid IL or missing references) //IL_1eb4: Unknown result type (might be due to invalid IL or missing references) //IL_1ec4: Expected O, but got Unknown //IL_1f8a: Unknown result type (might be due to invalid IL or missing references) //IL_1f8f: Unknown result type (might be due to invalid IL or missing references) //IL_1f9f: Expected O, but got Unknown orig.Invoke(args); if (!NetworkServer.active) { return; } string text = string.Join(" ", args.userArgs).ToLower().Trim(); NetworkUser sender = args.sender; if ((Object)(object)((sender != null) ? sender.master : null) == (Object)null) { return; } Inventory inventory = sender.master.inventory; if (text == "666") { List<GenericPickupController> list = InstanceTracker.GetInstancesList<GenericPickupController>().ToList(); foreach (GenericPickupController item in list) { if (Object.op_Implicit((Object)(object)item)) { NetworkServer.Destroy(((Component)item).gameObject); } } Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#ff0000>Items Purged.</color>" }); return; } if (text == "777") { DistributeItems(); return; } if (text.Contains("mountain") || text.Contains("oh hey")) { if (Object.op_Implicit((Object)(object)TeleporterInteraction.instance)) { TeleporterInteraction.instance.AddShrineStack(); Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#bd6aff>" + sender.userName + " invoked the mountain!</color>" }); } return; } switch (text) { case "killemall": foreach (CharacterMaster readOnlyInstances in CharacterMaster.readOnlyInstancesList) { if ((int)readOnlyInstances.teamIndex != 1 && (Object)(object)readOnlyInstances.GetBody() != (Object)null) { HealthComponent healthComponent5 = readOnlyInstances.GetBody().healthComponent; if (healthComponent5 != null) { healthComponent5.Suicide((GameObject)null, (GameObject)null, default(DamageTypeCombo)); } } } Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#ffff00>No survivors.</color>" }); break; case "healemall": foreach (CharacterMaster readOnlyInstances2 in CharacterMaster.readOnlyInstancesList) { if ((int)readOnlyInstances2.teamIndex == 1 && (Object)(object)readOnlyInstances2.GetBody() != (Object)null) { HealthComponent healthComponent4 = readOnlyInstances2.GetBody().healthComponent; if (healthComponent4 != null) { healthComponent4.HealFraction(1f, default(ProcChainMask)); } } } Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#ffff00>All patched up.</color>" }); break; case "iddqd": GiveKit(inventory, new string[8] { "Bear", "Aegis", "Medkit", "FlatHealth", "Clover", "ItemDropChanceOnKill", "Knurl", "ShinyPearl" }, 20, "\"We do it wrong, being so majestical,\r\nTo offer it the show of violence,\r\nFor it is as the air, invulnerable,\r\nAnd our vain blows malicious mockery.\""); break; case "dqddi": GiveKit(inventory, new string[8] { "Bear", "Aegis", "Medkit", "FlatHealth", "Clover", "ItemDropChanceOnKill", "Knurl", "ShinyPearl" }, -20, "Alas."); break; case "idkfa": GiveKit(inventory, new string[12] { "IgniteOnKill", "ChainLightning", "Mushroom", "BleedOnHit", "Thorns", "Dagger", "ExplodeOnDeath", "Missile", "Behemoth", "Headhunter", "Seed", "MoreMissile" }, 20, "idk fa."); break; case "afkdi": GiveKit(inventory, new string[12] { "IgniteOnKill", "ChainLightning", "Mushroom", "BleedOnHit", "Thorns", "Dagger", "ExplodeOnDeath", "Missile", "Behemoth", "Headhunter", "Seed", "MoreMissile" }, -20, "idk fo."); break; case "idspispopd": GiveKit(inventory, new string[7] { "Syringe", "CritGlasses", "Crowbar", "Missile", "CritDamage", "AttackSpeedOnCrit", "ExecuteLowHealthElite" }, 10, "Smashing."); break; default: if (!(text == "idspud")) { if (text == "idclip") { GiveKit(inventory, new string[7] { "SprintBoost", "JumpBoost", "Feather", "StealthOnHeal", "Hoof", "SprintBonus", "SprintOutOfCombat" }, 10, "Clipping speed."); break; } if (text == "pilcdi" || text == "slow down") { GiveKit(inventory, new string[7] { "SprintBoost", "JumpBoost", "Feather", "StealthOnHeal", "Hoof", "SprintBonus", "SprintOutOfCombat" }, -10, "Slow dow there."); break; } switch (text) { case "idfa": GiveKit(inventory, new string[19] { "Bear", "Aegis", "Medkit", "FlatHealth", "Clover", "Gasoline", "Ukulele", "ChainLightning", "Mushroom", "BleedOnHit", "Thorns", "Syringe", "CritGlasses", "Crowbar", "Missile", "SprintBoost", "JumpBoost", "Feather", "StealthOnHeal" }, 5, "To take arms against a sea of troubles"); break; case "afdi": GiveKit(inventory, new string[19] { "Bear", "Aegis", "Medkit", "FlatHealth", "Clover", "Gasoline", "Ukulele", "ChainLightning", "Mushroom", "BleedOnHit", "Thorns", "Syringe", "CritGlasses", "Crowbar", "Missile", "SprintBoost", "JumpBoost", "Feather", "StealthOnHeal" }, -5, "And by opposing end them?"); break; case "dncornholio": GiveKit(inventory, new string[8] { "StrengthenBurn", "IgniteOnKill", "FireballsOnHit", "FireRing", "FireWork", "ExplodeOnDeath", "SprintBonus", "Hoof" }, 15, "Fire! Fire! Fire!"); inventory.SetEquipmentIndex(EquipmentCatalog.FindEquipmentIndex("EliteFireEquipment"), false); break; default: if (!(text == "dumbass")) { if (text == "show me the money" || text == "kaching") { GiveKit(inventory, new string[3] { "GoldOnHit", "BonusGoldPackOnKill", "GoldOnHurt" }, 10, "Greed is good."); inventory.SetEquipmentIndex(EquipmentCatalog.FindEquipmentIndex("GoldGat"), false); break; } if (text == "yenom eht em wohs" || text == "money get away") { GiveKit(inventory, new string[3] { "GoldOnHit", "BonusGoldPackOnKill", "GoldOnHurt" }, -10, "Money, so they say\r\nIs the root of all evil today"); inventory.SetEquipmentIndex((EquipmentIndex)(-1), true); break; } if (text == "there is no cow level") { GiveKit(inventory, new string[3] { "CloverVoid", "LunarSun", "VoidMegaCrabItem" }, 1, "Moo."); break; } if (text == "level woc on si ereht" || text == "moo") { GiveKit(inventory, new string[3] { "CloverVoid", "LunarSun", "VoidMegaCrabItem" }, -1, "The cow is a lie."); break; } if (text == "fly me to the moon" || text == "lunar on") { GiveKit(inventory, new string[20] { "AutoCastEquipment", "FocusConvergence", "GoldOnHit", "HalfAttackSpeedHalfCooldowns", "HalfSpeedDoubleHealth", "LunarBadLuck", "LunarDagger", "LunarPrimaryReplacement", "LunarSecondaryReplacement", "LunarSpecialReplacement", "LunarSun", "LunarTrinket", "LunarUtilityReplacement", "MonstersOnShrineUse", "OnLevelUpFreeUnlock", "RandomDamageZone", "RandomlyLunar", "RepeatHeal", "ShieldOnly", "TransferDebuffOnHit" }, 10, "O moon, why dost thou shine upon the cursed and loathed world?"); break; } if (text == "the moon is overrated" || text == "lunar off") { GiveKit(inventory, new string[20] { "AutoCastEquipment", "FocusConvergence", "GoldOnHit", "HalfAttackSpeedHalfCooldowns", "HalfSpeedDoubleHealth", "LunarBadLuck", "LunarDagger", "LunarPrimaryReplacement", "LunarSecondaryReplacement", "LunarSpecialReplacement", "LunarSun", "LunarTrinket", "LunarUtilityReplacement", "MonstersOnShrineUse", "OnLevelUpFreeUnlock", "RandomDamageZone", "RandomlyLunar", "RepeatHeal", "ShieldOnly", "TransferDebuffOnHit" }, -10, "He takes false shadows for true substances."); break; } if (text == "void on" || text == "strange emptiness") { GiveKit(inventory, new string[14] { "BearVoid", "BleedOnHitVoid", "ChainLightningVoid", "CloverVoid", "CritGlassesVoid", "ElementalRingVoid", "EquipmentMagazineVoid", "ExplodeOnDeathVoid", "ExtraLifeVoid", "MissileVoid", "MushroomVoid", "SlowOnHitVoid", "TreasureCacheVoid", "VoidMegaCrabItem" }, 10, "He who jumps into the void owes no explanation to those who stand and watch"); break; } if (text == "void off" || text == "avoid the noid") { GiveKit(inventory, new string[14] { "BearVoid", "BleedOnHitVoid", "ChainLightningVoid", "CloverVoid", "CritGlassesVoid", "ElementalRingVoid", "EquipmentMagazineVoid", "ExplodeOnDeathVoid", "ExtraLifeVoid", "MissileVoid", "MushroomVoid", "SlowOnHitVoid", "TreasureCacheVoid", "VoidMegaCrabItem" }, -10, "The terrors that flock to fill the void abate for the time being."); break; } if (text == "justin bailey" || text == "heretic" || text == "quicken") { CharacterMaster master = sender.master; originalBodyPrefab = master.bodyPrefab; GiveKit(inventory, new string[6] { "LunarPrimaryReplacement", "LunarSecondaryReplacement", "LunarUtilityReplacement", "LunarSpecialReplacement", "ShieldOnly", "AutoCastEquipment" }, 1, "If we have no heretics we must invent them, for heresy is essential to health and growth."); break; } if (text == "yeliab nitsuj" || text == "hexen" || text == "loan") { if ((Object)(object)originalBodyPrefab != (Object)null) { sender.master.bodyPrefab = originalBodyPrefab; GameObject obj = originalBodyPrefab; Debug.Log((object)("[CheatSkeeter] Restoring to: " + ((obj != null) ? ((Object)obj).name : null))); sender.master.Respawn(((Component)sender.master.GetBody()).transform.position, ((Component)sender.master.GetBody()).transform.rotation, false); GiveKit(inventory, new string[6] { "LunarPrimaryReplacement", "LunarSecondaryReplacement", "LunarUtilityReplacement", "LunarSpecialReplacement", "ShieldOnly", "AutoCastEquipment" }, -1, "Guess I will recant."); } break; } switch (text) { case "killemall": foreach (CharacterMaster readOnlyInstances3 in CharacterMaster.readOnlyInstancesList) { if ((int)readOnlyInstances3.teamIndex != 1 && (Object)(object)readOnlyInstances3.GetBody() != (Object)null) { HealthComponent healthComponent2 = readOnlyInstances3.GetBody().healthComponent; if (healthComponent2 != null) { healthComponent2.Suicide((GameObject)null, (GameObject)null, default(DamageTypeCombo)); } } } Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#ffff00>Just a statistic.</color>" }); break; case "healemall": foreach (CharacterMaster readOnlyInstances4 in CharacterMaster.readOnlyInstancesList) { if ((int)readOnlyInstances4.teamIndex == 1 && (Object)(object)readOnlyInstances4.GetBody() != (Object)null) { HealthComponent healthComponent3 = readOnlyInstances4.GetBody().healthComponent; if (healthComponent3 != null) { healthComponent3.HealFraction(1f, default(ProcChainMask)); } } } Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#ffff00>All patched up.</color>" }); break; default: if (!(text == "too much")) { if (text == "nuttertools") { GiveKit(inventory, new string[8] { "MissileVoid", "ShieldOnly", "Crowbar", "Syringe", "StickyBomb", "Missle", "MoreMissile", "ChainLightningVoid" }, 5, "Got Nutter eyes and Nutter ears, so keep an eye on."); break; } if (text == "slootrettun" || text == "crazy in the coconut") { GiveKit(inventory, new string[8] { "MissileVoid", "ShieldOnly", "Crowbar", "Syringe", "StickyBomb", "Missile", "MoreMissile", "ChainLightningVoid" }, -5, "Those Nutters, they do not operate in a vacuum."); break; } if (text == "professionaltools" || text == "jarate") { GiveKit(inventory, new string[21] { "CritGlassesVoid", "Stew", "BonusHealthBoost", "Clover", "BarrierOnKill", "Hoof", "Mushroom", "Icicle", "SlowOnHit", "AlienHead", "Crowbar", "FireRing", "IceRing", "Behemoth", "StickyBomb", "Missile", "HealOnCrit", "AttackSpeedOnCrit", "Syringe", "EnergizedOnEquipmentUse", "AutoCastEquipment" }, 5, "Professionals have standards."); inventory.SetEquipmentIndex(EquipmentCatalog.FindEquipmentIndex("CritOnUse"), false); break; } if (text == "slootlanoisseforp" || text == "spy") { GiveKit(inventory, new string[21] { "CritGlassesVoid", "Stew", "BonusHealthBoost", "Clover", "BarrierOnKill", "Hoof", "Mushroom", "Icicle", "SlowOnHit", "AlienHead", "Crowbar", "FireRing", "IceRing", "Behemoth", "StickyBomb", "Missile", "HealOnCrit", "AttackSpeedOnCrit", "Syringe", "EnergizedOnEquipmentUse", "AutoCastEquipment" }, -5, "I take no pleasure in taking a life."); inventory.SetEquipmentIndex((EquipmentIndex)(-1), true); break; } if (text == "thugstools" || text == "thug") { GiveKit(inventory, new string[6] { "Behemoth", "Dagger", "BounceNearby", "Missile", "ChainLightning", "ExplodeOnDeath" }, 5, "It's the thuggish ruggish bone."); break; } if (text == "slootsguht" || text == "uncle charles") { GiveKit(inventory, new string[6] { "Behemoth", "Dagger", "BounceNearby", "Missile", "ChainLightning", "ExplodeOnDeath" }, -5, "And I miss my Uncle Charles y'all."); break; } if (text == "ahoy") { GiveKit(inventory, new string[1] { "FocusConvergence" }, 3, "Ahoy"); inventory.SetEquipmentIndex(EquipmentCatalog.FindEquipmentIndex("BossHunter"), false); break; } if (text == "yoha" || text == "hoy") { GiveKit(inventory, new string[1] { "FocusConvergence" }, -3, "Hoy."); inventory.SetEquipmentIndex(EquipmentCatalog.FindEquipmentIndex("BossHunter"), false); break; } switch (text) { case "abacabb": GiveKit(inventory, new string[4] { "BleedOnHit", "BleedOnHitAndExplode", "TriggerEnemyDebuffs", "TeleportOnLowHealth" }, 15, "GET OVER HERE!"); inventory.SetEquipmentIndex(EquipmentCatalog.FindEquipmentIndex("Saw"), false); break; case "bbacaba": GiveKit(inventory, new string[4] { "BleedOnHit", "BleedOnHitAndExplode", "TriggerEnemyDebuffs", "TeleportOnLowHealth" }, -15, "Fatality."); inventory.SetEquipmentIndex((EquipmentIndex)(-1), true); break; default: if (!(text == "cwal")) { if (text == "lawc" || text == "lawc noitarepo") { GiveKit(inventory, new string[13] { "Syringe", "Hoof", "SprintBonus", "SprintOutOfCombat", "EquipmentMagazine", "EnergizedOnEquipmentUse", "ShinyPearl", "ShockDamageAura", "PowerPyramid", "AutoCastEquipment", "FallBoots", "KillEliteFrenzy", "AlienHead" }, -15, "I vote we frag this commander."); inventory.SetEquipmentIndex((EquipmentIndex)(-1), true); break; } if (text == "zip zap" || text == "zip") { GiveKit(inventory, new string[11] { "ShockDamageAura", "IncreasePrimaryDamage", "Crowbar", "Talisman", "ShockNearby", "ShockDamageAura", "LightningStrikeOnHit", "ChainLightning", "EnergizedOnEquipmentUse", "AutoCastEquipment", "EquipmentMagazine" }, 5, "Flash before my eyes"); inventory.SetEquipmentIndex(EquipmentCatalog.FindEquipmentIndex("EliteLightningEquipment"), false); break; } if (text == "zap zip" || text == "zap") { GiveKit(inventory, new string[11] { "ShockDamageAura", "IncreasePrimaryDamage", "Crowbar", "Talisman", "ShockNearby", "ShockDamageAura", "LightningStrikeOnHit", "ChainLightning", "EnergizedOnEquipmentUse", "AutoCastEquipment", "EquipmentMagazine" }, -5, "Guilty as charged."); inventory.SetEquipmentIndex((EquipmentIndex)(-1), true); break; } if (text == "zip hat" || text == "zhat") { inventory.SetEquipmentIndex(EquipmentCatalog.FindEquipmentIndex("Lightning"), false); break; } if (text == "no hat" || text == "tah piz") { GiveKit(inventory, new string[12] { "ShockDamageAura", "IncreasePrimaryDamage", "Crowbar", "Talisman", "ShockNearby", "ExtraEquipment", "ShockDamageAura", "LightningStrikeOnHit", "ChainLightning", "EnergizedOnEquipmentUse", "AutoCastEquipment", "EquipmentMagazine" }, -5, "Guilty as charged."); inventory.SetEquipmentIndex((EquipmentIndex)(-1), true); break; } if (text == "kris kross" || text == "jump jump") { GiveKit(inventory, new string[5] { "JumpBoost", "JumpDamageStrike", "Feather", "MoveSpeedOnKill", "UtilitySkillMagazine" }, 2, "Jump Jump"); inventory.SetEquipmentIndex(EquipmentCatalog.FindEquipmentIndex("TonicAffliction"), false); break; } if (text == "kross kris" || text == "pmuj pmuj" || text == "Cause I'm the miggida, miggida, miggida, miggida Mac Daddy") { GiveKit(inventory, new string[5] { "JumpBoost", "JumpDamageStrike", "Feather", "MoveSpeedOnKill", "UtilitySkillMagazine" }, -2, "Kris Kross is not having anything today"); inventory.SetEquipmentIndex((EquipmentIndex)(-1), true); break; } if (text == "teddy" || text == "da bears") { GiveKit(inventory, new string[1] { "BearVoid" }, 65, "Blocked!"); break; } switch (text) { default: if (!(text == "packers")) { CreatePickupInfo val5; switch (text) { case "scanner": { CharacterBody body4 = sender.master.GetBody(); if ((Object)(object)body4 != (Object)null) { EquipmentIndex val9 = EquipmentCatalog.FindEquipmentIndex("Scanner"); if ((int)val9 != -1) { PickupIndex pickupIndex3 = PickupCatalog.FindPickupIndex(val9); val5 = default(CreatePickupInfo); ((CreatePickupInfo)(ref val5)).pickupIndex = pickupIndex3; val5.position = ((Component)body4).transform.position + Vector3.up * 2f; val5.rotation = Quaternion.identity; val5.prefabOverride = null; CreatePickupInfo val10 = val5; GenericPickupController.CreatePickup(ref val10); } } break; } default: if (!(text == "hoy")) { if (text.Contains("what's in the box")) { CharacterBody body = sender.master.GetBody(); if ((Object)(object)body != (Object)null) { GameObject val = Resources.Load<GameObject>("Prefabs/networkedobjects/chest/GoldChest"); if ((Object)(object)val != (Object)null) { Vector3 val2 = ((Component)body).transform.position + ((Component)body).transform.forward * 4f; GameObject val3 = Object.Instantiate<GameObject>(val, val2, Quaternion.identity); NetworkServer.Spawn(val3); Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#ffd700>What's in the box?!</color>" }); } } } else if (text.Contains("cowards die many times") || text.Contains("coward")) { CharacterBody body2 = sender.master.GetBody(); if (!((Object)(object)body2 != (Object)null)) { break; } EquipmentIndex val4 = EquipmentCatalog.FindEquipmentIndex("HealAndRevive"); if ((int)val4 != -1) { PickupIndex pickupIndex = PickupCatalog.FindPickupIndex(val4); val5 = default(CreatePickupInfo); ((CreatePickupInfo)(ref val5)).pickupIndex = pickupIndex; val5.position = ((Component)body2).transform.position + Vector3.up * 2f; val5.rotation = Quaternion.identity; val5.prefabOverride = null; CreatePickupInfo val6 = val5; GenericPickupController.CreatePickup(ref val6); HealthComponent healthComponent = body2.healthComponent; if (healthComponent != null) { healthComponent.Heal(99999f, default(ProcChainMask), true); } Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#99ff99>Cowards die many times before their deaths. The valiant never taste of death but once.</color>" }); } } else if (text == "chauncey, my rancor rifle" || text.Contains("chauncey")) { if (bossHunterCoroutine != null) { ((MonoBehaviour)this).StopCoroutine(bossHunterCoroutine); } currentBossHunterUser = sender; bossHunterCoroutine = ((MonoBehaviour)this).StartCoroutine(KeepDroppingBossHunters()); Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#ff6600>Right away, sir. Rancor rifles incoming!</color>" }); } else if ((text == "that'll do nicely, chauncey" || text.Contains("enough")) && bossHunterCoroutine != null) { ((MonoBehaviour)this).StopCoroutine(bossHunterCoroutine); bossHunterCoroutine = null; currentBossHunterUser = null; Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#ff6600>Very good, sir.</color>" }); } break; } goto case "ahoy"; case "ahoy": case "yoha": { CharacterBody body3 = sender.master.GetBody(); if ((Object)(object)body3 != (Object)null) { EquipmentIndex val7 = EquipmentCatalog.FindEquipmentIndex("BossHunter"); if ((int)val7 != -1) { PickupIndex pickupIndex2 = PickupCatalog.FindPickupIndex(val7); val5 = default(CreatePickupInfo); ((CreatePickupInfo)(ref val5)).pickupIndex = pickupIndex2; val5.position = ((Component)body3).transform.position + Vector3.up * 2f; val5.rotation = Quaternion.identity; val5.prefabOverride = null; CreatePickupInfo val8 = val5; GenericPickupController.CreatePickup(ref val8); } } break; } } break; } goto case "yddet"; case "yddet": case "sreab ad": case "ruxpin": GiveKit(inventory, new string[1] { "BearVoid" }, -65, "Let's get out of here, Grubby."); break; } break; } goto case "operation cwal"; case "operation cwal": GiveKit(inventory, new string[13] { "Syringe", "Hoof", "SprintBonus", "SprintOutOfCombat", "EquipmentMagazine", "EnergizedOnEquipmentUse", "ShinyPearl", "ShockDamageAura", "PowerPyramid", "AutoCastEquipment", "FallBoots", "KillEliteFrenzy", "AlienHead" }, 5, "Jacked up and good to go"); inventory.SetEquipmentIndex(EquipmentCatalog.FindEquipmentIndex("TonicAffliction"), false); break; } break; } goto case "wipeout"; case "wipeout": foreach (ItemIndex item2 in inventory.itemAcquisitionOrder.ToList()) { inventory.RemoveItem(item2, inventory.GetItemCount(item2)); } Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#ffff00>It's only after you've lost everything that you're free to spark joy.</color>" }); break; } break; } goto case "dammit beavis"; case "dammit beavis": GiveKit(inventory, new string[9] { "StrengthenBurn", "IgniteOnKill", "FireballsOnHit", "FireRing", "SprintBonus", "FireWork", "ExplodeOnDeath", "SprintBonus", "Hoof" }, -15, "Are you threatening me?"); inventory.SetEquipmentIndex((EquipmentIndex)(-1), true); break; } break; } goto case "dpopsipsdi"; case "dpopsipsdi": GiveKit(inventory, new string[7] { "Syringe", "CritGlasses", "Crowbar", "Missile", "CritDamage", "AttackSpeedOnCrit", "ExecuteLowHealthElite" }, -10, "Putrid Piles of Debris indeed."); break; } } [IteratorStateMachine(typeof(<KeepDroppingBossHunters>d__8))] private IEnumerator KeepDroppingBossHunters() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <KeepDroppingBossHunters>d__8(0) { <>4__this = this }; } private void GiveKit(Inventory inventory, string[] items, int amount, string msg) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Invalid comparison between Unknown and I4 //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_0080: Expected O, but got Unknown //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) foreach (string text in items) { ItemIndex val = ItemCatalog.FindItemIndex(text); if ((int)val != -1) { if (amount > 0) { inventory.GiveItemPermanent(val, amount); } else { inventory.RemoveItemPermanent(val, inventory.GetItemCountPermanent(val)); } } } if (!string.IsNullOrEmpty(msg)) { Chat.SendBroadcastChat((ChatMessageBase)new SimpleChatMessage { baseToken = "<color=#ffff00>" + msg + "</color>" }); } } private void DistributeItems() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: 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_00a9: Invalid comparison between Unknown and I4 //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Invalid comparison between Unknown and I4 //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) List<GenericPickupController> list = InstanceTracker.GetInstancesList<GenericPickupController>().ToList(); List<CharacterMaster> list2 = (from p in PlayerCharacterMasterController.instances where (Object)(object)((p != null) ? p.master : null) != (Object)null select p.master).ToList(); if (list2.Count == 0) { return; } for (int i = 0; i < list.Count; i++) { PickupDef pickupDef = PickupCatalog.GetPickupDef(list[i].Network_pickupState.pickupIndex); CharacterMaster val = list2[i % list2.Count]; if ((int)pickupDef.itemIndex != -1) { val.inventory.GiveItemPermanent(pickupDef.itemIndex, 1); } else if ((int)pickupDef.equipmentIndex != -1) { val.inventory.SetEquipmentIndex(pickupDef.equipmentIndex, false); } NetworkServer.Destroy(((Component)list[i]).gameObject); } } private void DropSpecificEquipment(NetworkUser user, string equipName) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Invalid comparison between Unknown and I4 //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) EquipmentIndex val = EquipmentCatalog.FindEquipmentIndex(equipName); if ((int)val != -1) { CharacterBody body = user.master.GetBody(); if (!((Object)(object)body == (Object)null)) { PickupIndex pickupIndex = PickupCatalog.FindPickupIndex(val); CreatePickupInfo val2 = default(CreatePickupInfo); ((CreatePickupInfo)(ref val2)).pickupIndex = pickupIndex; PickupDropletController.CreatePickupDroplet(val2, ((Component)body).transform.position + Vector3.up * 3f, ((Component)body).transform.forward * 10f); } } } } }