using 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);
}
}
}
}
}