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 LCPlanAssassin v2.7.4
plugins/LCPlanAssassin/LCPlanAssassin.dll
Decompiled 6 days ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using Dissonance; using GameNetcodeStuff; using HarmonyLib; using JetBrains.Annotations; using LCPlanAssassin.AssetLoader; using LCPlanAssassin.Components; using LCPlanAssassin.Items; using LCPlanAssassin.NetcodePatcher; using LCPlanAssassin.Patchers; using LCPlanAssassin.TarotCard; using LCPlanAssassin.UI; using LCPlanAssassin.Utils; using LCTarrotCard; using LCTarrotCard.Cards; using LCTarrotCard.Items; using LCTarrotCard.Ressource; using Unity.Netcode; using UnityEngine; using UnityEngine.Video; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("0.0.0.0")] [module: NetcodePatchedAssembly] namespace LCPlanAssassin { [BepInPlugin("LCPlanAssassin", "Plan d'assassin", "2.7.4")] [BepInDependency("LCTarotCard", "1.1.2")] public class ModBase : BaseUnityPlugin { public static ModBase Instance; public ManualLogSource logger; internal Harmony harmony; internal static bool HasError; public static KeyboardShortcut TestKey; private void Awake() { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)Instance != (Object)null)) { Instance = this; harmony = new Harmony("LCPlanAssassin"); logger = Logger.CreateLogSource("LCPlanAssassin"); TestKey = new KeyboardShortcut((KeyCode)96, Array.Empty<KeyCode>()); Assets.LoadBundles(); if (!HasError) { harmony.PatchAll(); RPC_Init(); logger.LogInfo((object)"LCPlanAssassin correctly loaded"); } } } internal static void RPC_Init() { Type[] types = Assembly.GetExecutingAssembly().GetTypes(); foreach (Type type in types) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); foreach (MethodInfo methodInfo in methods) { if (methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false).Length != 0) { methodInfo.Invoke(null, null); } } } } internal static void LogDebug(object msg) { Instance.logger.LogDebug((object)msg.ToString()); } } [HarmonyPatch(typeof(PlayerControllerB))] internal class Test { [HarmonyPatch("Update")] [HarmonyPostfix] private static void TestPatch(PlayerControllerB __instance) { //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) if (((KeyboardShortcut)(ref ModBase.TestKey)).IsDown() && ((NetworkBehaviour)__instance).IsOwner && ModConstants.TestMode && __instance.isPlayerControlled) { InstantiateAndReturnGrabbableObject(Assets.CheeseItem.spawnPrefab, ((Component)__instance).transform.position); InstantiateAndReturnGrabbableObject(Assets.BolItem.spawnPrefab, ((Component)__instance).transform.position); } } private static GrabbableObject InstantiateAndReturnGrabbableObject(GameObject prefab, Vector3 position) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: 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) //IL_0030: Unknown result type (might be due to invalid IL or missing references) GameObject val = Object.Instantiate<GameObject>(prefab, position, Quaternion.identity, RoundManager.Instance.spawnedScrapContainer); GrabbableObject component = val.GetComponent<GrabbableObject>(); ((Component)component).transform.rotation = Quaternion.Euler(component.itemProperties.restingRotation); component.fallTime = 0f; component.scrapValue = 1; val.GetComponent<NetworkObject>().Spawn(false); return component; } } public static class ModConstants { public const string MOD_GUID = "LCPlanAssassin"; public const string MOD_NAME = "Plan d'assassin"; public const string MOD_VERSION = "2.7.4"; public static readonly bool TestMode; } } namespace LCPlanAssassin.AssetLoader { internal static class Assets { internal static AssetBundle planBundle; public static AudioClip EatClip; public static readonly List<AudioClip> PlanClips = new List<AudioClip>(); public static readonly List<AudioClip> KaquiteClips = new List<AudioClip>(); public static readonly List<AudioClip> KeyboardClips = new List<AudioClip>(); public static AudioClip LowFan; public static AudioClip HighFan; public static AudioClip MowStartClip; public static AudioClip MowLoopClip; public static AudioClip MowEndClip; public static Material ScreenOffMat; public static Material ScreenOnMat; public static VideoClip TranstitionClip; public static readonly List<VideoClip> ScreenClips = new List<VideoClip>(); public static AudioClip Comsau; public static List<AudioClip> SpringClips = new List<AudioClip>(); public static AudioClip RingtoneClip; public static List<VideoClip> TelClips = new List<VideoClip>(); public static Material TelMat; public static Material CallingMat; public static AudioClip RightClip; public static AudioClip WrongClip; public static Material WrongMat; public static Material RightMat; public static AudioClip VacuumStartClip; public static AudioClip VacuumLoopClip; public static AudioClip VacuumEndClip; public static List<AudioClip> FartClips = new List<AudioClip>(); public static AudioClip SplatClip; public static AudioClip FluteClip; public static AudioClip JetpackBroken; public static AudioClip JetPackThrustStart; public static Material OrangeBurn; public static AudioClip JeSuisOuClip; public static AudioClip TheMoolClip; public static List<AudioClip> RotateClips = new List<AudioClip>(); public static List<AudioClip> SpectrumMusics = new List<AudioClip>(); public static VideoClip GordionClip; public static VideoClip OtherClip; public static VideoClip Valo1; public static VideoClip Valo2; public static VideoClip Planet; public static VideoClip TintinClip; public static AudioClip TintinAudio; public static readonly List<VideoClip> NClips = new List<VideoClip>(); internal static GameObject JumpscareCanvas; public static GameObject JumpscareObj; public static readonly List<AudioClip> ScreamClips = new List<AudioClip>(); public static Item RouterItem; public static Item OysterItem; public static Item BolItem; public static Item BoosterItem; public static Item CheeseItem; public static List<AudioClip> StomachacheClips = new List<AudioClip>(); public static Item KkItem; public static Item AtiItem; public static Item ChopstickItem; public static Item FluteItem; public static Item LieDetectorItem; public static AudioClip LeFauxClip; public static Material JsuiouMat; public static Material NWordMat; public static Material TheMoolMat; public static Material SpectrumMat; public static Material RotateMat; public static Material PlusTardMat; public static AudioClip PlusTardClip; public static Material DiscoMat; public static SpawnRarity PlanRarity; public static SpawnRarity SausageTicketRarity; public static SpawnRarity PCRarity; public static SpawnRarity CasqueRarity; public static SpawnRarity HandRarity; public static SpawnRarity KeyboardRarity; public static SpawnRarity KakahuetRarity; public static SpawnRarity MowerRarity; public static SpawnRarity ScreenRarity; public static SpawnRarity RouterRarity; public static SpawnRarity RavcamRarity; public static SpawnRarity TelephoneRarity; public static SpawnRarity LieDetectorRarity; public static SpawnRarity VacuumRarity; public static SpawnRarity CheeseRarity; public static SpawnRarity FluteRarity; public static SpawnRarity ChopstickRarity; public static SpawnRarity BolRarity; public static SpawnRarity BoosterRarity; public static SpawnRarity AtiRarity; public static GameObject DiscoBall; public static Item PlanAssassin { get; private set; } public static Item SausageTicket { get; private set; } public static Item Sausage { get; private set; } public static Item PCRavix { get; private set; } public static Item MicroKaquite { get; private set; } public static Item LeftHeadsetItem { get; private set; } public static Item RightHeadsetItem { get; private set; } public static Item HandItem { get; private set; } public static Item KeyboardItem { get; private set; } public static Item KakahuetItem { get; private set; } public static Item MowerItem { get; private set; } public static Item ScreenItem { get; private set; } public static Item RavcamItem { get; private set; } public static Item TelephoneItem { get; private set; } public static Item VacuumItem { get; private set; } public static void LoadBundles() { Stream manifestResourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("LCPlanAssassin.Resources.planbundle"); if (manifestResourceStream == null) { ModBase.Instance.logger.LogError((object)"Cannot load assets bundle, stream is null"); ModBase.HasError = true; return; } planBundle = AssetBundle.LoadFromStream(manifestResourceStream); if ((Object)(object)planBundle == (Object)null) { ModBase.Instance.logger.LogError((object)"Cannot load assets bundle, bundle is null"); ModBase.HasError = true; } else { LoadTarotCards(); LoadAssets(); InitScraps(); } } private static void LoadAssets() { PlanAssassin = planBundle.LoadAsset<Item>("Assets/PlanAssassin.asset"); PlanAssassinBehaviour planAssassinBehaviour = PlanAssassin.spawnPrefab.AddComponent<PlanAssassinBehaviour>(); ((GrabbableObject)planAssassinBehaviour).grabbable = true; ((GrabbableObject)planAssassinBehaviour).grabbableToEnemies = false; ((GrabbableObject)planAssassinBehaviour).itemProperties = PlanAssassin; PlanClips.Add(planBundle.LoadAsset<AudioClip>("Assets/SFX/ballon.ogg")); PlanClips.Add(planBundle.LoadAsset<AudioClip>("Assets/SFX/cabane.ogg")); PlanClips.Add(planBundle.LoadAsset<AudioClip>("Assets/SFX/camion.ogg")); PlanClips.Add(planBundle.LoadAsset<AudioClip>("Assets/SFX/harbor.ogg")); PlanClips.Add(planBundle.LoadAsset<AudioClip>("Assets/SFX/planassassin.ogg")); PlanClips.Add(planBundle.LoadAsset<AudioClip>("Assets/SFX/temaplan.ogg")); PlanClips.Add(planBundle.LoadAsset<AudioClip>("Assets/SFX/vandal.ogg")); PlanClips.Add(planBundle.LoadAsset<AudioClip>("Assets/SFX/chien.ogg")); PlanClips.Add(planBundle.LoadAsset<AudioClip>("Assets/SFX/monde.ogg")); PlanClips.Add(planBundle.LoadAsset<AudioClip>("Assets/SFX/pigeon.ogg")); Sausage = planBundle.LoadAsset<Item>("Assets/Sausage.asset"); SausageBehaviour sausageBehaviour = Sausage.spawnPrefab.AddComponent<SausageBehaviour>(); ((GrabbableObject)sausageBehaviour).grabbable = true; ((GrabbableObject)sausageBehaviour).grabbableToEnemies = true; ((GrabbableObject)sausageBehaviour).itemProperties = Sausage; PCRavix = planBundle.LoadAsset<Item>("Assets/PC/pc_ravix.asset"); PcRavixBehaviour pcRavixBehaviour = PCRavix.spawnPrefab.AddComponent<PcRavixBehaviour>(); ((GrabbableObject)pcRavixBehaviour).grabbable = true; ((GrabbableObject)pcRavixBehaviour).grabbableToEnemies = true; ((GrabbableObject)pcRavixBehaviour).itemProperties = PCRavix; SausageTicket = planBundle.LoadAsset<Item>("Assets/Ticket/ticket.asset"); SausageTicketBehaviour sausageTicketBehaviour = SausageTicket.spawnPrefab.AddComponent<SausageTicketBehaviour>(); ((GrabbableObject)sausageTicketBehaviour).grabbable = true; ((GrabbableObject)sausageTicketBehaviour).grabbableToEnemies = true; ((GrabbableObject)sausageTicketBehaviour).itemProperties = SausageTicket; MicroKaquite = planBundle.LoadAsset<Item>("Assets/Micro/casque.asset"); CasqueBehaviour casqueBehaviour = MicroKaquite.spawnPrefab.AddComponent<CasqueBehaviour>(); ((GrabbableObject)casqueBehaviour).grabbable = true; ((GrabbableObject)casqueBehaviour).grabbableToEnemies = true; ((GrabbableObject)casqueBehaviour).itemProperties = MicroKaquite; LeftHeadsetItem = planBundle.LoadAsset<Item>("Assets/Micro/casql.asset"); RightHeadsetItem = planBundle.LoadAsset<Item>("Assets/Micro/casqr.asset"); HandItem = planBundle.LoadAsset<Item>("Assets/Hand/Hand.asset"); HandBehaviour handBehaviour = HandItem.spawnPrefab.AddComponent<HandBehaviour>(); ((GrabbableObject)handBehaviour).grabbable = true; ((GrabbableObject)handBehaviour).grabbableToEnemies = true; ((GrabbableObject)handBehaviour).itemProperties = HandItem; KeyboardItem = planBundle.LoadAsset<Item>("Assets/Clavier/keyboard.asset"); KeyboardBehaviour keyboardBehaviour = KeyboardItem.spawnPrefab.AddComponent<KeyboardBehaviour>(); ((GrabbableObject)keyboardBehaviour).grabbable = true; ((GrabbableObject)keyboardBehaviour).grabbableToEnemies = true; ((GrabbableObject)keyboardBehaviour).itemProperties = KeyboardItem; KakahuetItem = planBundle.LoadAsset<Item>("Assets/kakahuet/kakahuet.asset"); KakahuetBehaviour kakahuetBehaviour = KakahuetItem.spawnPrefab.AddComponent<KakahuetBehaviour>(); ((GrabbableObject)kakahuetBehaviour).grabbable = true; ((GrabbableObject)kakahuetBehaviour).grabbableToEnemies = true; ((GrabbableObject)kakahuetBehaviour).itemProperties = KakahuetItem; MowerItem = planBundle.LoadAsset<Item>("Assets/mower/mower.asset"); MowerBehaviour mowerBehaviour = MowerItem.spawnPrefab.AddComponent<MowerBehaviour>(); ((GrabbableObject)mowerBehaviour).grabbable = true; ((GrabbableObject)mowerBehaviour).grabbableToEnemies = true; ((GrabbableObject)mowerBehaviour).itemProperties = MowerItem; ScreenItem = planBundle.LoadAsset<Item>("Assets/Screen/screen.asset"); ScreenBehaviour screenBehaviour = ScreenItem.spawnPrefab.AddComponent<ScreenBehaviour>(); ((GrabbableObject)screenBehaviour).grabbable = true; ((GrabbableObject)screenBehaviour).grabbableToEnemies = true; ((GrabbableObject)screenBehaviour).itemProperties = ScreenItem; ScreenOffMat = planBundle.LoadAsset<Material>("Assets/Screen/ScreenOff.mat"); ScreenOnMat = planBundle.LoadAsset<Material>("Assets/Screen/ScreenRenderMat.mat"); TranstitionClip = planBundle.LoadAsset<VideoClip>("Assets/Screen/transition.mp4"); for (int i = 0; i < 25; i++) { string text = "Assets/Screen/Clips/cg" + (i + 1) + ".mp4"; VideoClip item = planBundle.LoadAsset<VideoClip>(text); ScreenClips.Add(item); } RouterItem = planBundle.LoadAsset<Item>("Assets/Router/router.asset"); RouterBehaviour routerBehaviour = RouterItem.spawnPrefab.AddComponent<RouterBehaviour>(); ((GrabbableObject)routerBehaviour).grabbable = true; ((GrabbableObject)routerBehaviour).grabbableToEnemies = true; ((GrabbableObject)routerBehaviour).itemProperties = RouterItem; OysterItem = planBundle.LoadAsset<Item>("Assets/PlanTarot/Oyster/themool.asset"); OysterBehaviour oysterBehaviour = OysterItem.spawnPrefab.AddComponent<OysterBehaviour>(); ((GrabbableObject)oysterBehaviour).grabbable = true; ((GrabbableObject)oysterBehaviour).grabbableToEnemies = true; ((GrabbableObject)oysterBehaviour).itemProperties = OysterItem; RavcamItem = planBundle.LoadAsset<Item>("Assets/Ravcam/ravixcam.asset"); RavcamBehaviour ravcamBehaviour = RavcamItem.spawnPrefab.AddComponent<RavcamBehaviour>(); ((GrabbableObject)ravcamBehaviour).grabbable = true; ((GrabbableObject)ravcamBehaviour).grabbableToEnemies = true; ((GrabbableObject)ravcamBehaviour).itemProperties = RavcamItem; for (int j = 0; j < 3; j++) { SpringClips.Add(planBundle.LoadAsset<AudioClip>("Assets/Ravcam/sp" + j + ".mp3")); } TelephoneItem = planBundle.LoadAsset<Item>("Assets/Telephone/telephone.asset"); TelephoneBehaviour telephoneBehaviour = TelephoneItem.spawnPrefab.AddComponent<TelephoneBehaviour>(); ((GrabbableObject)telephoneBehaviour).grabbable = true; ((GrabbableObject)telephoneBehaviour).grabbableToEnemies = true; ((GrabbableObject)telephoneBehaviour).itemProperties = TelephoneItem; RingtoneClip = planBundle.LoadAsset<AudioClip>("Assets/Telephone/Clips/ling.mp3"); for (int k = 0; k < 5; k++) { TelClips.Add(planBundle.LoadAsset<VideoClip>("Assets/Telephone/Clips/v" + k + ".mp4")); } TelMat = planBundle.LoadAsset<Material>("Assets/Telephone/TelScreenMat.mat"); CallingMat = planBundle.LoadAsset<Material>("Assets/Telephone/calling.mat"); LieDetectorItem = planBundle.LoadAsset<Item>("Assets/Lie/liedetec.asset"); LieDetectorBehaviour lieDetectorBehaviour = LieDetectorItem.spawnPrefab.AddComponent<LieDetectorBehaviour>(); ((GrabbableObject)lieDetectorBehaviour).grabbable = true; ((GrabbableObject)lieDetectorBehaviour).grabbableToEnemies = true; ((GrabbableObject)lieDetectorBehaviour).itemProperties = LieDetectorItem; RightClip = planBundle.LoadAsset<AudioClip>("Assets/Lie/correct.ogg"); WrongClip = planBundle.LoadAsset<AudioClip>("Assets/Lie/wrong.ogg"); WrongMat = planBundle.LoadAsset<Material>("Assets/Lie/wrong.mat"); RightMat = planBundle.LoadAsset<Material>("Assets/Lie/right.mat"); VacuumItem = planBundle.LoadAsset<Item>("Assets/Aspi/aspi.asset"); AspiBehaviour aspiBehaviour = VacuumItem.spawnPrefab.AddComponent<AspiBehaviour>(); ((GrabbableObject)aspiBehaviour).grabbable = true; ((GrabbableObject)aspiBehaviour).grabbableToEnemies = true; ((GrabbableObject)aspiBehaviour).itemProperties = VacuumItem; CheeseItem = planBundle.LoadAsset<Item>("Assets/Cheese/cheese_item.asset"); CheeseBehaviour cheeseBehaviour = CheeseItem.spawnPrefab.AddComponent<CheeseBehaviour>(); ((GrabbableObject)cheeseBehaviour).grabbable = true; ((GrabbableObject)cheeseBehaviour).grabbableToEnemies = true; ((GrabbableObject)cheeseBehaviour).itemProperties = CheeseItem; KkItem = planBundle.LoadAsset<Item>("Assets/Cheese/kk_item.asset"); KkBehaviour kkBehaviour = KkItem.spawnPrefab.AddComponent<KkBehaviour>(); ((GrabbableObject)kkBehaviour).grabbable = true; ((GrabbableObject)kkBehaviour).grabbableToEnemies = true; ((GrabbableObject)kkBehaviour).itemProperties = KkItem; SplatClip = planBundle.LoadAsset<AudioClip>("Assets/Cheese/splat.ogg"); ChopstickItem = planBundle.LoadAsset<Item>("Assets/ChopSticks/chopsticks.asset"); ChopstickBehaviour chopstickBehaviour = ChopstickItem.spawnPrefab.AddComponent<ChopstickBehaviour>(); ((GrabbableObject)chopstickBehaviour).grabbable = true; ((GrabbableObject)chopstickBehaviour).grabbableToEnemies = true; ((GrabbableObject)chopstickBehaviour).itemProperties = ChopstickItem; FluteItem = planBundle.LoadAsset<Item>("Assets/Flute/flute_item.asset"); FluteBehaviour fluteBehaviour = FluteItem.spawnPrefab.AddComponent<FluteBehaviour>(); ((GrabbableObject)fluteBehaviour).grabbable = true; ((GrabbableObject)fluteBehaviour).grabbableToEnemies = true; ((GrabbableObject)fluteBehaviour).itemProperties = FluteItem; FluteClip = planBundle.LoadAsset<AudioClip>("Assets/Flute/dj.ogg"); BolItem = planBundle.LoadAsset<Item>("Assets/Ravix/Bol/bol.asset"); BolBehaviour bolBehaviour = BolItem.spawnPrefab.AddComponent<BolBehaviour>(); ((GrabbableObject)bolBehaviour).grabbable = true; ((GrabbableObject)bolBehaviour).grabbableToEnemies = true; ((GrabbableObject)bolBehaviour).itemProperties = BolItem; BoosterItem = planBundle.LoadAsset<Item>("Assets/Ravix/Booster/Booster.asset"); BoosterBehaviour boosterBehaviour = BoosterItem.spawnPrefab.AddComponent<BoosterBehaviour>(); ((GrabbableObject)boosterBehaviour).grabbable = true; ((GrabbableObject)boosterBehaviour).grabbableToEnemies = true; ((GrabbableObject)boosterBehaviour).itemProperties = BoosterItem; JetpackBroken = planBundle.LoadAsset<AudioClip>("Assets/Ravix/Booster/JetpackBroken.wav"); JetPackThrustStart = planBundle.LoadAsset<AudioClip>("Assets/Ravix/Booster/JetPackThrustStart.wav"); AtiItem = planBundle.LoadAsset<Item>("Assets/Ravix/ATI/ati.asset"); AtiBehaviour atiBehaviour = AtiItem.spawnPrefab.AddComponent<AtiBehaviour>(); ((GrabbableObject)atiBehaviour).grabbable = true; ((GrabbableObject)atiBehaviour).grabbableToEnemies = true; ((GrabbableObject)atiBehaviour).itemProperties = AtiItem; VacuumStartClip = planBundle.LoadAsset<AudioClip>("Assets/Aspi/vac_start.ogg"); VacuumLoopClip = planBundle.LoadAsset<AudioClip>("Assets/Aspi/vac_loop.ogg"); VacuumEndClip = planBundle.LoadAsset<AudioClip>("Assets/Aspi/vac_end.ogg"); JsuiouMat = planBundle.LoadAsset<Material>("Assets/PlanTarot/Mats/JsuiouMat.mat"); NWordMat = planBundle.LoadAsset<Material>("Assets/PlanTarot/Mats/nwordMat.mat"); TheMoolMat = planBundle.LoadAsset<Material>("Assets/PlanTarot/Mats/themoolMat.mat"); SpectrumMat = planBundle.LoadAsset<Material>("Assets/PlanTarot/Spectrum/SpecMat.mat"); RotateMat = planBundle.LoadAsset<Material>("Assets/PlanTarot/Mats/360Mat.mat"); RotateClips.Add(planBundle.LoadAsset<AudioClip>("Assets/PlanTarot/Audio/aso36.ogg")); RotateClips.Add(planBundle.LoadAsset<AudioClip>("Assets/PlanTarot/Audio/tomo36.ogg")); OrangeBurn = planBundle.LoadAsset<Material>("Assets/PlanTarot/Mats/OrangeBurn.mat"); JeSuisOuClip = planBundle.LoadAsset<AudioClip>("Assets/PlanTarot/Audio/jsuiou.ogg"); TheMoolClip = planBundle.LoadAsset<AudioClip>("Assets/PlanTarot/Audio/themool.ogg"); for (int l = 0; l < 6; l++) { SpectrumMusics.Add(planBundle.LoadAsset<AudioClip>("Assets/PlanTarot/Spectrum/s" + (l + 1) + ".mp3")); } EatClip = planBundle.LoadAsset<AudioClip>("Assets/nomnom.ogg"); Comsau = planBundle.LoadAsset<AudioClip>("Assets/comsau.mp3"); GordionClip = planBundle.LoadAsset<VideoClip>("Assets/scout.mp4"); OtherClip = planBundle.LoadAsset<VideoClip>("Assets/roblox.mp4"); Valo1 = planBundle.LoadAsset<VideoClip>("Assets/val1.mp4"); Valo2 = planBundle.LoadAsset<VideoClip>("Assets/val2.mp4"); Planet = planBundle.LoadAsset<VideoClip>("Assets/plan1.mp4"); TintinClip = planBundle.LoadAsset<VideoClip>("Assets/dupon.mp4"); TintinAudio = planBundle.LoadAsset<AudioClip>("Assets/tintin.mp3"); LowFan = planBundle.LoadAsset<AudioClip>("Assets/PC/fan_low.ogg"); HighFan = planBundle.LoadAsset<AudioClip>("Assets/PC/fan_high.ogg"); HandBehaviour.RiseSfx = planBundle.LoadAsset<AudioClip>("Assets/Hand/rise.ogg"); HandBehaviour.FunnySfx = planBundle.LoadAsset<AudioClip>("Assets/Hand/funny.ogg"); HandBehaviour.DownSfx = planBundle.LoadAsset<AudioClip>("Assets/Hand/down.ogg"); for (int m = 0; m < 7; m++) { string text2 = "Assets/Micro/p" + (m + 1) + ".ogg"; AudioClip item2 = planBundle.LoadAsset<AudioClip>(text2); KaquiteClips.Add(item2); } MowStartClip = planBundle.LoadAsset<AudioClip>("Assets/mower/mow_start.ogg"); MowLoopClip = planBundle.LoadAsset<AudioClip>("Assets/mower/mow_loop.ogg"); MowEndClip = planBundle.LoadAsset<AudioClip>("Assets/mower/mow_stop.ogg"); for (int n = 0; n < 5; n++) { string text3 = "Assets/Clavier/cl" + (n + 1) + ".ogg"; AudioClip item3 = planBundle.LoadAsset<AudioClip>(text3); KeyboardClips.Add(item3); } for (int num = 0; num < 3; num++) { string text4 = "Assets/Cheese/s" + (num + 1) + ".ogg"; AudioClip item4 = planBundle.LoadAsset<AudioClip>(text4); StomachacheClips.Add(item4); } FartClips.Add(planBundle.LoadAsset<AudioClip>("Assets/Cheese/F1.mp3")); FartClips.Add(planBundle.LoadAsset<AudioClip>("Assets/Cheese/F1.mp3")); NClips.Add(planBundle.LoadAsset<VideoClip>("Assets/PlanTarot/Jumpscare/nga.mp4")); NClips.Add(planBundle.LoadAsset<VideoClip>("Assets/PlanTarot/Jumpscare/nword.mp4")); NClips.Add(planBundle.LoadAsset<VideoClip>("Assets/PlanTarot/Jumpscare/nword1.mp4")); NClips.Add(planBundle.LoadAsset<VideoClip>("Assets/PlanTarot/Jumpscare/nword2.mp4")); JumpscareCanvas = planBundle.LoadAsset<GameObject>("Assets/PlanTarot/Jumpscare/JumpscareCanvas.prefab"); JumpscareCanvas.AddComponent<Jumpscare>(); for (int num2 = 0; num2 < 6; num2++) { ScreamClips.Add(planBundle.LoadAsset<AudioClip>("Assets/Scream/s" + (num2 + 1) + ".ogg")); } PlusTardMat = planBundle.LoadAsset<Material>("Assets/PlanTarot/Mats/PlustardMat.mat"); PlusTardClip = planBundle.LoadAsset<AudioClip>("Assets/PlanTarot/Audio/plustard.mp3"); DiscoMat = planBundle.LoadAsset<Material>("Assets/PlanTarot/Mats/DiscoMat.mat"); LeFauxClip = planBundle.LoadAsset<AudioClip>("Assets/faux.ogg"); } private static void InitScraps() { PlanRarity = new SpawnRarity(10, PlanAssassin); PlanRarity.SetValues(-1, -1, 15, 35, 20, -1, 30, 30, 60, 50, 25); SausageTicketRarity = new SpawnRarity(20, SausageTicket); SausageTicketRarity.SetValues(15, -1, -1, 25, -1, 17, 30, 33, 45, 50); PCRarity = new SpawnRarity(9, PCRavix); PCRarity.SetValues(-1, 10, -1, 15, -1, 13, 22, 25, 40, 44, 40); CasqueRarity = new SpawnRarity(15, MicroKaquite); CasqueRarity.SetValues(10, -1, 13, 22, -1, 22, 20, 20, 40, 26, 33); HandRarity = new SpawnRarity(7, HandItem); HandRarity.SetValues(10, 15, 15, 40, -1, 30, 13, 10, 10, 35, 20); KeyboardRarity = new SpawnRarity(13, KeyboardItem); KeyboardRarity.SetValues(7, -1, 15, 20, 15, -1, 20, 25, 35, 35, 25); KakahuetRarity = new SpawnRarity(23, KakahuetItem); KakahuetRarity.SetValues(-1, -1, 25, 30, 30, -1, 30, 30, 35, 40); MowerRarity = new SpawnRarity(10, MowerItem); MowerRarity.SetValues(4, -1, 15, 15, 11, -1, 20, 25, 30, 28, 20); ScreenRarity = new SpawnRarity(12, ScreenItem); ScreenRarity.SetValues(5, 13, 15, 18, -1, 18, 19, 25, 20, 30); RouterRarity = new SpawnRarity(10, RouterItem); RouterRarity.CopyRaritiesFrom(KeyboardRarity); RavcamRarity = new SpawnRarity(15, RavcamItem); RavcamRarity.SetValues(10, -1, 15, 20, 15, -1, 20, 25, 35, 35, 25); TelephoneRarity = new SpawnRarity(10, TelephoneItem); TelephoneRarity.CopyRaritiesFrom(ScreenRarity); LieDetectorRarity = new SpawnRarity(10, LieDetectorItem); LieDetectorRarity.CopyRaritiesFrom(ScreenRarity); VacuumRarity = new SpawnRarity(15, VacuumItem); VacuumRarity.CopyRaritiesFrom(MowerRarity); CheeseRarity = new SpawnRarity(20, CheeseItem); CheeseRarity.CopyRaritiesFrom(SausageTicketRarity); FluteRarity = new SpawnRarity(7, FluteItem); FluteRarity.CopyRaritiesFrom(HandRarity); ChopstickRarity = new SpawnRarity(5, ChopstickItem); ChopstickRarity.CopyRaritiesFrom(RavcamRarity); ChopstickRarity.Multiply(2f); BolRarity = new SpawnRarity(15, BolItem); BolRarity.CopyRaritiesFrom(HandRarity); BoosterRarity = new SpawnRarity(8, BoosterItem); BoosterRarity.SetValues(-1, -1, -1, 12, 15, 10, 15, 17, 35, 22, 35); AtiRarity = new SpawnRarity(10, AtiItem); AtiRarity.CopyRaritiesFrom(RouterRarity); } private static void LoadTarotCards() { AllCards.RegisterCard(typeof(JsuisouCard), 2); AllCards.RegisterCard(typeof(NWordCard), 3); AllCards.RegisterCard(typeof(SpectrumCard), 5); AllCards.RegisterCard(typeof(RotateCard), 4); AllCards.RegisterCard(typeof(PlusTardCard), 4); AllCards.RegisterCard(typeof(DiscoCard), 5); } } [HarmonyPatch(typeof(GameNetworkManager))] internal class NetworkPatcher { [HarmonyPatch("Start")] [HarmonyPostfix] private static void RegisterItems() { NetworkManager component = ((Component)GameNetworkManager.Instance).GetComponent<NetworkManager>(); component.AddNetworkPrefab(Assets.PlanAssassin.spawnPrefab); component.AddNetworkPrefab(Assets.Sausage.spawnPrefab); component.AddNetworkPrefab(Assets.PCRavix.spawnPrefab); component.AddNetworkPrefab(Assets.SausageTicket.spawnPrefab); component.AddNetworkPrefab(Assets.MicroKaquite.spawnPrefab); component.AddNetworkPrefab(Assets.LeftHeadsetItem.spawnPrefab); component.AddNetworkPrefab(Assets.RightHeadsetItem.spawnPrefab); component.AddNetworkPrefab(Assets.HandItem.spawnPrefab); component.AddNetworkPrefab(Assets.KakahuetItem.spawnPrefab); component.AddNetworkPrefab(Assets.KeyboardItem.spawnPrefab); component.AddNetworkPrefab(Assets.MowerItem.spawnPrefab); component.AddNetworkPrefab(Assets.ScreenItem.spawnPrefab); component.AddNetworkPrefab(Assets.RouterItem.spawnPrefab); component.AddNetworkPrefab(Assets.OysterItem.spawnPrefab); component.AddNetworkPrefab(Assets.RavcamItem.spawnPrefab); component.AddNetworkPrefab(Assets.TelephoneItem.spawnPrefab); component.AddNetworkPrefab(Assets.LieDetectorItem.spawnPrefab); component.AddNetworkPrefab(Assets.VacuumItem.spawnPrefab); component.AddNetworkPrefab(Assets.CheeseItem.spawnPrefab); component.AddNetworkPrefab(Assets.KkItem.spawnPrefab); component.AddNetworkPrefab(Assets.ChopstickItem.spawnPrefab); component.AddNetworkPrefab(Assets.FluteItem.spawnPrefab); component.AddNetworkPrefab(Assets.BolItem.spawnPrefab); component.AddNetworkPrefab(Assets.BoosterItem.spawnPrefab); component.AddNetworkPrefab(Assets.AtiItem.spawnPrefab); } } [HarmonyPatch(typeof(StartOfRound))] internal class StartOfRoundPatch { [HarmonyPatch("Start")] [HarmonyPostfix] private static void InstantiateJump() { Assets.JumpscareObj = Object.Instantiate<GameObject>(Assets.JumpscareCanvas); } [HarmonyPatch("Awake")] [HarmonyPostfix] private static void AddScrapItem(StartOfRound __instance) { //IL_006f: Unknown result type (might be due to invalid IL or missing references) using (IEnumerator<UnlockableItem> enumerator = __instance.unlockablesList.unlockables.Where((UnlockableItem unlockable) => unlockable.unlockableName == "Disco Ball").GetEnumerator()) { if (enumerator.MoveNext()) { UnlockableItem current = enumerator.Current; Assets.DiscoBall = Object.Instantiate<GameObject>(current.prefabObject, (Transform)null, true); Assets.DiscoBall.transform.position = new Vector3(0f, -1000f, 0f); ((Behaviour)Assets.DiscoBall.GetComponent<AutoParentToShip>()).enabled = false; ((Behaviour)Assets.DiscoBall.GetComponentInChildren<CozyLights>()).enabled = false; ((Behaviour)Assets.DiscoBall.GetComponentInChildren<Animator>()).enabled = false; ((Component)Assets.DiscoBall.transform.GetChild(1)).gameObject.SetActive(false); ((Renderer)((Component)Assets.DiscoBall.transform.GetChild(0).GetChild(0)).gameObject.GetComponent<MeshRenderer>()).enabled = false; } } SelectableLevel[] levels = __instance.levels; foreach (SelectableLevel val in levels) { switch (val.levelID) { case 2: val.videoReel = Assets.Valo1; break; case 3: val.videoReel = Assets.GordionClip; break; case 5: val.videoReel = Assets.OtherClip; break; case 7: val.videoReel = Assets.Valo2; break; case 9: val.videoReel = Assets.Planet; break; } Assets.PlanRarity.ApplySpawnRarity(val); Assets.SausageTicketRarity.ApplySpawnRarity(val); Assets.PCRarity.ApplySpawnRarity(val); Assets.CasqueRarity.ApplySpawnRarity(val); Assets.HandRarity.ApplySpawnRarity(val); Assets.KeyboardRarity.ApplySpawnRarity(val); Assets.KakahuetRarity.ApplySpawnRarity(val); Assets.MowerRarity.ApplySpawnRarity(val); Assets.ScreenRarity.ApplySpawnRarity(val); Assets.RouterRarity.ApplySpawnRarity(val); Assets.RavcamRarity.ApplySpawnRarity(val); Assets.TelephoneRarity.ApplySpawnRarity(val); Assets.LieDetectorRarity.ApplySpawnRarity(val); Assets.VacuumRarity.ApplySpawnRarity(val); Assets.CheeseRarity.ApplySpawnRarity(val); Assets.FluteRarity.ApplySpawnRarity(val); Assets.ChopstickRarity.ApplySpawnRarity(val); Assets.BolRarity.ApplySpawnRarity(val); Assets.BoosterRarity.ApplySpawnRarity(val); Assets.AtiRarity.ApplySpawnRarity(val); } RegisterItem(Assets.PlanAssassin, __instance); RegisterItem(Assets.Sausage, __instance); RegisterItem(Assets.PCRavix, __instance); RegisterItem(Assets.SausageTicket, __instance); RegisterItem(Assets.MicroKaquite, __instance); RegisterItem(Assets.LeftHeadsetItem, __instance); RegisterItem(Assets.RightHeadsetItem, __instance); RegisterItem(Assets.HandItem, __instance); RegisterItem(Assets.KeyboardItem, __instance); RegisterItem(Assets.KakahuetItem, __instance); RegisterItem(Assets.MowerItem, __instance); RegisterItem(Assets.ScreenItem, __instance); RegisterItem(Assets.RouterItem, __instance); RegisterItem(Assets.OysterItem, __instance); RegisterItem(Assets.RavcamItem, __instance); RegisterItem(Assets.TelephoneItem, __instance); RegisterItem(Assets.LieDetectorItem, __instance); RegisterItem(Assets.VacuumItem, __instance); RegisterItem(Assets.CheeseItem, __instance); RegisterItem(Assets.KkItem, __instance); RegisterItem(Assets.ChopstickItem, __instance); RegisterItem(Assets.FluteItem, __instance); RegisterItem(Assets.BolItem, __instance); RegisterItem(Assets.BoosterItem, __instance); RegisterItem(Assets.AtiItem, __instance); } private static void RegisterItem(Item item, StartOfRound manager) { if (!manager.allItemsList.itemsList.Contains(item)) { manager.allItemsList.itemsList.Add(item); } } } } namespace LCPlanAssassin.Items { public class AspiBehaviour : NoisemakerProp { private AudioSource itemAudio; private AudioSource loopSource; private Transform suckPoint; private bool isOn; private float lastUse; private readonly float suckForce = 6f; private readonly float suckRange = 8f; public override void Start() { ((NoisemakerProp)this).Start(); itemAudio = ((Component)this).gameObject.GetComponent<AudioSource>(); loopSource = ((Component)this).gameObject.AddComponent<AudioSource>(); loopSource.volume = 1f; loopSource.spatialBlend = 1f; loopSource.dopplerLevel = 0.45f; loopSource.spread = 45f; loopSource.rolloffMode = (AudioRolloffMode)1; loopSource.minDistance = 3f; loopSource.maxDistance = 60f; loopSource.loop = true; loopSource.clip = Assets.VacuumLoopClip; suckPoint = ((Component)this).gameObject.transform.GetChild(2); } public override void ItemActivate(bool used, bool buttonDown = true) { if (((NetworkBehaviour)this).IsOwner && buttonDown && !((double)Time.time - (double)lastUse < 5.0)) { lastUse = Time.time; UseItemServerRpc(); } } public override void Update() { //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: 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_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) ((GrabbableObject)this).Update(); ((GrabbableObject)this).useCooldown = (((double)(Time.time - lastUse) >= 5.0) ? 0f : 10f); if (!isOn) { return; } PlayerControllerB localPlayerController = GameNetworkManager.Instance.localPlayerController; if (Object.op_Implicit((Object)(object)localPlayerController) && localPlayerController.isPlayerControlled && !localPlayerController.isPlayerDead && (!Object.op_Implicit((Object)(object)((GrabbableObject)this).playerHeldBy) || localPlayerController.playerClientId != ((GrabbableObject)this).playerHeldBy.playerClientId)) { float num = Vector3.Distance(((Component)localPlayerController).transform.position, suckPoint.position); if (!(num > suckRange)) { Vector3 val = suckPoint.position - ((Component)localPlayerController).transform.position; Vector3 val2 = ((Vector3)(ref val)).normalized * (suckForce * (float)(1.0 - (double)(num / suckRange))); localPlayerController.externalForces += val2; } } } private IEnumerator StartVacuumCoroutine() { if (!isOn) { isOn = true; itemAudio.PlayOneShot(Assets.VacuumStartClip); yield return (object)new WaitForSeconds(Assets.VacuumStartClip.length - 0.2f); loopSource.Play(); loopSource.volume = 0f; float deltaTime = 0f; while ((double)deltaTime < 0.2) { loopSource.volume = deltaTime / 0.2f; deltaTime += Time.deltaTime; yield return null; } loopSource.volume = 1f; } } private IEnumerator StopVacuumCoroutine() { if (isOn) { isOn = false; itemAudio.volume = 0.5f; itemAudio.PlayOneShot(Assets.VacuumEndClip); loopSource.volume = 1f; float deltaTime = 0f; while ((double)deltaTime < 0.25) { loopSource.volume = (float)(1.0 - (double)deltaTime / 0.25); itemAudio.volume = Mathf.Lerp(0.5f, 1f, deltaTime / 0.25f); deltaTime += Time.deltaTime; yield return null; } loopSource.Stop(); loopSource.volume = 1f; itemAudio.volume = 1f; } } [ServerRpc(RequireOwnership = false)] private void UseItemServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val2 = default(ServerRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(2950870372u, val2, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val, 2950870372u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; SetStateClientRpc(!isOn); } } } [ClientRpc] private void SetStateClientRpc(bool state) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: 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_00dc: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val2 = default(ClientRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(3699694096u, val2, (RpcDelivery)0); ((FastBufferWriter)(ref val)).WriteValueSafe<bool>(ref state, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val, 3699694096u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; ((MonoBehaviour)this).StartCoroutine(state ? StartVacuumCoroutine() : StopVacuumCoroutine()); } } } protected override void __initializeVariables() { ((NoisemakerProp)this).__initializeVariables(); } protected override void __initializeRpcs() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Expected O, but got Unknown ((NetworkBehaviour)this).__registerRpc(2950870372u, new RpcReceiveHandler(__rpc_handler_2950870372), "UseItemServerRpc"); ((NetworkBehaviour)this).__registerRpc(3699694096u, new RpcReceiveHandler(__rpc_handler_3699694096), "SetStateClientRpc"); ((NoisemakerProp)this).__initializeRpcs(); } private static void __rpc_handler_2950870372(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((AspiBehaviour)(object)target).UseItemServerRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3699694096(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: 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_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool stateClientRpc = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref stateClientRpc, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((AspiBehaviour)(object)target).SetStateClientRpc(stateClientRpc); target.__rpc_exec_stage = (__RpcExecStage)0; } } protected internal override string __getTypeName() { return "AspiBehaviour"; } } public class AtiBehaviour : GrabbableObject { private PlayerControllerB previousHolder; public override void GrabItem() { ((GrabbableObject)this).GrabItem(); if (Object.op_Implicit((Object)(object)base.playerHeldBy) && !base.playerHeldBy.isPlayerDead && base.playerHeldBy.isPlayerControlled && !((Object)(object)base.playerHeldBy != (Object)(object)GameNetworkManager.Instance.localPlayerController)) { if (!Object.op_Implicit((Object)(object)((Component)base.playerHeldBy).gameObject.GetComponent<LowFPSComponent>())) { ((Component)base.playerHeldBy).gameObject.AddComponent<LowFPSComponent>(); } LowFPSComponent component = ((Component)base.playerHeldBy).gameObject.GetComponent<LowFPSComponent>(); component.targetFPS = 10; ((MonoBehaviour)this).StartCoroutine(LowFPSCoroutine(component)); previousHolder = base.playerHeldBy; } } private IEnumerator LowFPSCoroutine(LowFPSComponent component) { yield return (object)new WaitForFixedUpdate(); component.SetActive(active: true); } public override void DiscardItem() { ((GrabbableObject)this).DiscardItem(); if (Object.op_Implicit((Object)(object)previousHolder) && !previousHolder.isPlayerDead && previousHolder.isPlayerControlled && !((Object)(object)previousHolder != (Object)(object)GameNetworkManager.Instance.localPlayerController)) { LowFPSComponent component = ((Component)previousHolder).gameObject.GetComponent<LowFPSComponent>(); if (Object.op_Implicit((Object)(object)component)) { component.SetActive(active: false); previousHolder = null; } } } protected override void __initializeVariables() { ((GrabbableObject)this).__initializeVariables(); } protected override void __initializeRpcs() { ((GrabbableObject)this).__initializeRpcs(); } protected internal override string __getTypeName() { return "AtiBehaviour"; } } public class BolBehaviour : GrabbableObject { private AudioSource source; public override void Start() { ((GrabbableObject)this).Start(); source = ((Component)this).gameObject.GetComponent<AudioSource>(); } public override void ItemActivate(bool used, bool buttonDown = true) { if (((NetworkBehaviour)this).IsOwner && !base.deactivated && buttonDown && base.isHeld && !((Object)(object)base.playerHeldBy == (Object)null)) { UseItemServerRpc(); } } public override void PlayDropSFX() { if (!((Behaviour)this).enabled) { base.hasHitGround = true; } else { ((GrabbableObject)this).PlayDropSFX(); } } [ServerRpc(RequireOwnership = false)] public void UseItemServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val2 = default(ServerRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(1859503350u, val2, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val, 1859503350u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; UseItemClientRpc(); } } } [ClientRpc] public void UseItemClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val2 = default(ClientRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(1442989681u, val2, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val, 1442989681u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; source.PlayOneShot(Assets.EatClip); PlayerControllerBPatch.SausageDict[base.playerHeldBy.playerClientId] = Time.time; if ((Object)(object)base.playerHeldBy == (Object)(object)GameNetworkManager.Instance.localPlayerController) { AddShieldServerRpc((int)base.playerHeldBy.playerClientId); HUDManager.Instance.DisplayTip("Shield", "Vous avez un bouclier en plus", false, false, "LC_Tip1"); } ((Behaviour)this).enabled = false; ((GrabbableObject)this).DestroyObjectInHand(base.playerHeldBy); } } [ServerRpc(RequireOwnership = false)] public void AddShieldServerRpc(int playerId) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val2 = default(ServerRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(1324677713u, val2, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val, playerId); ((NetworkBehaviour)this).__endSendServerRpc(ref val, 1324677713u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; AddShieldClientRpc(playerId); } } } [ClientRpc] public void AddShieldClientRpc(int playerId) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val2 = default(ClientRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(2802635675u, val2, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val, playerId); ((NetworkBehaviour)this).__endSendClientRpc(ref val, 2802635675u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; if (PlayerControllerBPatch.ShieldDict.ContainsKey((ulong)playerId)) { PlayerControllerBPatch.ShieldDict[(ulong)playerId]++; } else { PlayerControllerBPatch.ShieldDict.Add((ulong)playerId, 1); } } } protected override void __initializeVariables() { ((GrabbableObject)this).__initializeVariables(); } protected override void __initializeRpcs() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Expected O, but got Unknown //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Expected O, but got Unknown ((NetworkBehaviour)this).__registerRpc(1859503350u, new RpcReceiveHandler(__rpc_handler_1859503350), "UseItemServerRpc"); ((NetworkBehaviour)this).__registerRpc(1442989681u, new RpcReceiveHandler(__rpc_handler_1442989681), "UseItemClientRpc"); ((NetworkBehaviour)this).__registerRpc(1324677713u, new RpcReceiveHandler(__rpc_handler_1324677713), "AddShieldServerRpc"); ((NetworkBehaviour)this).__registerRpc(2802635675u, new RpcReceiveHandler(__rpc_handler_2802635675), "AddShieldClientRpc"); ((GrabbableObject)this).__initializeRpcs(); } private static void __rpc_handler_1859503350(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((BolBehaviour)(object)target).UseItemServerRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1442989681(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((BolBehaviour)(object)target).UseItemClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1324677713(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); target.__rpc_exec_stage = (__RpcExecStage)1; ((BolBehaviour)(object)target).AddShieldServerRpc(playerId); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2802635675(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int playerId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref playerId); target.__rpc_exec_stage = (__RpcExecStage)1; ((BolBehaviour)(object)target).AddShieldClientRpc(playerId); target.__rpc_exec_stage = (__RpcExecStage)0; } } protected internal override string __getTypeName() { return "BolBehaviour"; } } public class BoosterBehaviour : GrabbableObject { private AudioSource audioSource; public bool active; public float fuel = 100f; public float power = 1f; public bool broken; private Vector3 force = Vector3.zero; private readonly float acceleration = 10f; public override void Start() { ((GrabbableObject)this).Start(); audioSource = ((Component)this).GetComponent<AudioSource>(); audioSource.loop = true; } public override void Update() { //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019f: 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) ((GrabbableObject)this).Update(); if (!((NetworkBehaviour)this).IsOwner) { return; } if ((double)fuel <= 0.0) { if (active) { ActivateBoosterServerRpc(activate: false); } } else if (!((Object)(object)base.playerHeldBy == (Object)null)) { if (active) { power = Mathf.Clamp(power + Time.deltaTime * acceleration, 1f, 100f); force = Vector3.Lerp(force, ((Component)base.playerHeldBy).transform.up * power, Time.deltaTime * acceleration); fuel -= Time.deltaTime * (power / 5f); } else { power = 0f; force = Vector3.zero; } RaycastHit val = default(RaycastHit); if (!base.playerHeldBy.isPlayerDead && Physics.Raycast(((Component)base.playerHeldBy).transform.position, force, ref val, 25f, StartOfRound.Instance.allPlayersCollideWithMask, (QueryTriggerInteraction)1) && (double)(((Vector3)(ref force)).magnitude - ((RaycastHit)(ref val)).distance) > 50.0 && (double)((RaycastHit)(ref val)).distance < 4.0) { base.playerHeldBy.KillPlayer(force, true, (CauseOfDeath)16, 0, default(Vector3), false); } PlayerControllerB playerHeldBy = base.playerHeldBy; playerHeldBy.externalForces += force; } } public override void OnHitGround() { ((GrabbableObject)this).OnHitGround(); if (active) { ActivateBoosterServerRpc(activate: false); audioSource.Stop(); ExplodeBoosterServerRpc(); } } public override void DiscardItem() { if (((NetworkBehaviour)this).IsOwner && base.playerHeldBy.isPlayerDead && !broken && base.playerHeldBy.jetpackControls) { ActivateBoosterServerRpc(activate: false); ExplodeBoosterServerRpc(); } if (base.playerHeldBy.jetpackControls) { base.playerHeldBy.disablingJetpackControls = true; } ((GrabbableObject)this).DiscardItem(); } public override void ItemActivate(bool used, bool buttonDown = true) { if (((NetworkBehaviour)this).IsOwner && buttonDown && ((Behaviour)this).enabled && StartOfRound.Instance.shipHasLanded) { if (broken) { UseBrokenServerRpc(); } else { ActivateBoosterServerRpc(activate: true); } } } [ServerRpc(RequireOwnership = false)] public void ActivateBoosterServerRpc(bool activate) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: 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_00dc: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val2 = default(ServerRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(3723853076u, val2, (RpcDelivery)0); ((FastBufferWriter)(ref val)).WriteValueSafe<bool>(ref activate, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendServerRpc(ref val, 3723853076u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 || (!networkManager.IsServer && !networkManager.IsHost)) { return; } ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; if (!broken) { if ((double)fuel <= 0.0) { activate = false; } ActivateBoosterClientRpc(activate); } } [ClientRpc] public void ActivateBoosterClientRpc(bool activate) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: 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_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val2 = default(ClientRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(1457532584u, val2, (RpcDelivery)0); ((FastBufferWriter)(ref val)).WriteValueSafe<bool>(ref activate, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val, 1457532584u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; active = activate; base.playerHeldBy.disablingJetpackControls = !active; if (!active) { audioSource.Stop(); return; } base.playerHeldBy.jetpackControls = true; base.playerHeldBy.syncFullRotation = ((Component)base.playerHeldBy).transform.eulerAngles; audioSource.PlayOneShot(Assets.JetPackThrustStart); audioSource.Play(); } } [ServerRpc(RequireOwnership = false)] public void ExplodeBoosterServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val2 = default(ServerRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(1032996413u, val2, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val, 1032996413u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; if (!broken && !((double)fuel <= 0.0)) { ExplodeBoosterClientRpc(); } } } [ClientRpc] public void ExplodeBoosterClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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_00fa: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val2 = default(ClientRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(1037012854u, val2, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val, 1037012854u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; broken = true; fuel = 0f; audioSource.Stop(); ((GrabbableObject)this).SetScrapValue(base.scrapValue / 5); Landmine.SpawnExplosion(((Component)this).transform.position, true, 2f, 5f, 50, 5f, (GameObject)null, false); } } } [ServerRpc(RequireOwnership = false)] public void UseBrokenServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val2 = default(ServerRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(634672759u, val2, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val, 634672759u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; UseBrokenClientRpc(); } } } [ClientRpc] public void UseBrokenClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val2 = default(ClientRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(2266048005u, val2, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val, 2266048005u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; audioSource.PlayOneShot(Assets.JetpackBroken); } } } protected override void __initializeVariables() { ((GrabbableObject)this).__initializeVariables(); } protected override void __initializeRpcs() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Expected O, but got Unknown //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Expected O, but got Unknown //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Expected O, but got Unknown ((NetworkBehaviour)this).__registerRpc(3723853076u, new RpcReceiveHandler(__rpc_handler_3723853076), "ActivateBoosterServerRpc"); ((NetworkBehaviour)this).__registerRpc(1457532584u, new RpcReceiveHandler(__rpc_handler_1457532584), "ActivateBoosterClientRpc"); ((NetworkBehaviour)this).__registerRpc(1032996413u, new RpcReceiveHandler(__rpc_handler_1032996413), "ExplodeBoosterServerRpc"); ((NetworkBehaviour)this).__registerRpc(1037012854u, new RpcReceiveHandler(__rpc_handler_1037012854), "ExplodeBoosterClientRpc"); ((NetworkBehaviour)this).__registerRpc(634672759u, new RpcReceiveHandler(__rpc_handler_634672759), "UseBrokenServerRpc"); ((NetworkBehaviour)this).__registerRpc(2266048005u, new RpcReceiveHandler(__rpc_handler_2266048005), "UseBrokenClientRpc"); ((GrabbableObject)this).__initializeRpcs(); } private static void __rpc_handler_3723853076(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: 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_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool activate = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref activate, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((BoosterBehaviour)(object)target).ActivateBoosterServerRpc(activate); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1457532584(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: 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_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool activate = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref activate, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((BoosterBehaviour)(object)target).ActivateBoosterClientRpc(activate); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1032996413(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((BoosterBehaviour)(object)target).ExplodeBoosterServerRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1037012854(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((BoosterBehaviour)(object)target).ExplodeBoosterClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_634672759(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((BoosterBehaviour)(object)target).UseBrokenServerRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2266048005(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((BoosterBehaviour)(object)target).UseBrokenClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } protected internal override string __getTypeName() { return "BoosterBehaviour"; } } public class CasqueBehaviour : NoisemakerProp { private AudioSource itemAudio; private float lastTimeUsed; private AudioDistortionFilter distortionFilter; private float breakChance = 5f; public override void Start() { ((NoisemakerProp)this).Start(); itemAudio = ((Component)this).gameObject.GetComponent<AudioSource>(); distortionFilter = ((Component)this).gameObject.AddComponent<AudioDistortionFilter>(); distortionFilter.distortionLevel = 0.75f; } public override void ItemActivate(bool used, bool buttonDown = true) { if (!buttonDown || !((NetworkBehaviour)this).IsOwner || (double)(Time.time - lastTimeUsed) < 3.0 || ((GrabbableObject)this).deactivated) { return; } if (Random.Range(0f, 100f) <= breakChance && StartOfRound.Instance.shipHasLanded) { BreakServerRpc(); if (!((Object)(object)((GrabbableObject)this).playerHeldBy == (Object)null)) { ItemDropServerRpc(((GrabbableObject)this).playerHeldBy.playerClientId); } } else { lastTimeUsed = Time.time; PlayRandomSoundServerRpc(); } } public override void Update() { ((GrabbableObject)this).Update(); ((GrabbableObject)this).useCooldown = ((Time.time - lastTimeUsed >= 3f) ? 0f : 10f); } public override void GrabItem() { if (!((GrabbableObject)this).deactivated && ((NetworkBehaviour)this).IsOwner && Object.op_Implicit((Object)(object)((GrabbableObject)this).playerHeldBy)) { ItemGrabServerRpc(((GrabbableObject)this).playerHeldBy.playerClientId); } distortionFilter.distortionLevel = 0.75f; ((GrabbableObject)this).GrabItem(); } public override void DiscardItem() { if (!((GrabbableObject)this).deactivated && ((NetworkBehaviour)this).IsOwner && Object.op_Implicit((Object)(object)((GrabbableObject)this).playerHeldBy)) { ItemDropServerRpc(((GrabbableObject)this).playerHeldBy.playerClientId); } distortionFilter.distortionLevel = 0f; ((GrabbableObject)this).DiscardItem(); } public void PlaySoundLocal(int soundId) { itemAudio.PlayOneShot(Assets.KaquiteClips[soundId]); } private bool IsAnyCasqueInInventory(PlayerControllerB player, bool grab) { return player.ItemSlots.Any((GrabbableObject item) => (item is CasqueBehaviour && (Object)(object)item != (Object)(object)this) || grab); } public void ItemGrabLocal(ulong playerWhoGrabbed) { if (GameNetworkManager.Instance.localPlayerController.playerClientId == playerWhoGrabbed) { return; } PlayerControllerB[] allPlayerScripts = StartOfRound.Instance.allPlayerScripts; foreach (PlayerControllerB val in allPlayerScripts) { if (val.playerClientId == playerWhoGrabbed) { SetPlayerDistortion(val, IsAnyCasqueInInventory(val, grab: true) ? 0.8f : 0f); } } } public void ItemDropLocal(ulong playerWhoDropped) { if (GameNetworkManager.Instance.localPlayerController.playerClientId == playerWhoDropped) { return; } PlayerControllerB[] allPlayerScripts = StartOfRound.Instance.allPlayerScripts; foreach (PlayerControllerB val in allPlayerScripts) { if (val.playerClientId == playerWhoDropped) { SetPlayerDistortion(val, IsAnyCasqueInInventory(val, grab: false) ? 0.8f : 0f); } } } private static void SetPlayerDistortion(PlayerControllerB player, float distortionLevel) { AudioDistortionFilter filterForPlayer = PlayerDistortionManager.GetFilterForPlayer(player); if (Object.op_Implicit((Object)(object)filterForPlayer)) { filterForPlayer.distortionLevel = distortionLevel; } } [ServerRpc(RequireOwnership = false)] public void PlayRandomSoundServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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_00d2: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val2 = default(ServerRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(3032412797u, val2, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val, 3032412797u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; RoundManager.Instance.PlayAudibleNoise(((Component)this).transform.position, 25f, 0.9f, 0, false, 0); int soundId = Random.Range(0, Assets.KaquiteClips.Count); if (!((NetworkBehaviour)this).IsHost) { PlaySoundLocal(soundId); } PlaySoundClientRpc(soundId); } } [ClientRpc] public void PlaySoundClientRpc(int soundId) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val2 = default(ClientRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(1612812337u, val2, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val, soundId); ((NetworkBehaviour)this).__endSendClientRpc(ref val, 1612812337u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; PlaySoundLocal(soundId); } } } [ServerRpc(RequireOwnership = false)] public void ItemGrabServerRpc(ulong playerWhoGrabbed) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val2 = default(ServerRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(3726082168u, val2, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val, playerWhoGrabbed); ((NetworkBehaviour)this).__endSendServerRpc(ref val, 3726082168u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; if (!((NetworkBehaviour)this).IsHost) { ItemGrabLocal(playerWhoGrabbed); } ItemGrabClientRpc(playerWhoGrabbed); } } [ClientRpc] public void ItemGrabClientRpc(ulong playerWhoGrabbed) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val2 = default(ClientRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(1583903099u, val2, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val, playerWhoGrabbed); ((NetworkBehaviour)this).__endSendClientRpc(ref val, 1583903099u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; ItemGrabLocal(playerWhoGrabbed); } } } [ServerRpc(RequireOwnership = false)] public void ItemDropServerRpc(ulong playerWhoDropped) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val2 = default(ServerRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(1507338783u, val2, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val, playerWhoDropped); ((NetworkBehaviour)this).__endSendServerRpc(ref val, 1507338783u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; if (!((NetworkBehaviour)this).IsHost) { ItemDropLocal(playerWhoDropped); } ItemDropClientRpc(playerWhoDropped); } } [ClientRpc] public void ItemDropClientRpc(ulong playerWhoDropped) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val2 = default(ClientRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(3140763079u, val2, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val, playerWhoDropped); ((NetworkBehaviour)this).__endSendClientRpc(ref val, 3140763079u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; ItemDropLocal(playerWhoDropped); } } } private void SpawnItem(Item item, Vector3 deltaPos) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: 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_0018: 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_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) GameObject val = Object.Instantiate<GameObject>(item.spawnPrefab, ((Component)this).transform.position + deltaPos, Quaternion.identity); GrabbableObject component = val.GetComponent<GrabbableObject>(); ((Component)component).transform.rotation = Quaternion.Euler(component.itemProperties.restingRotation); component.fallTime = 0f; val.GetComponent<NetworkObject>().Spawn(false); component.FallToGround(true, true, default(Vector3)); component.SetScrapValue(((GrabbableObject)this).scrapValue / 2); } [ServerRpc(RequireOwnership = false)] public void BreakServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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_013c: 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) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val2 = default(ServerRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(1848940189u, val2, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val, 1848940189u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; Vector3 val3 = default(Vector3); ((Vector3)(ref val3))..ctor(0.25f, 0f, 0f); if ((Object)(object)((GrabbableObject)this).playerHeldBy != (Object)null && !((GrabbableObject)this).playerHeldBy.isPlayerDead && ((GrabbableObject)this).playerHeldBy.isPlayerControlled) { val3 = ((Component)((GrabbableObject)this).playerHeldBy.gameplayCamera).transform.right; ((Vector3)(ref val3)).Normalize(); val3 *= 0.25f; } SpawnItem(Assets.LeftHeadsetItem, val3); SpawnItem(Assets.RightHeadsetItem, -val3); BreakClientRpc(); } } [ClientRpc] public void BreakClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val2 = default(ClientRpcParams); FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(301355523u, val2, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val, 301355523u, val2, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; ((GrabbableObject)this).deactivated = true; itemAudio.Stop(); ((GrabbableObject)this).DestroyObjectInHand(((GrabbableObject)this).playerHeldBy); } } } protected override void __initializeVariables() { ((NoisemakerProp)this).__initializeVariables(); } protected override void __initializeRpcs() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Expected O, but got Unknown //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Expected O, but got Unknown //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Expected O, but got Unknown //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Expected O, but got Unknown //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Expected O, but got Unknown ((NetworkBehaviour)this).__registerRpc(3032412797u, new RpcReceiveHandler(__rpc_handler_3032412797), "PlayRandomSoundServerRpc"); ((NetworkBehaviour)this).__registerRpc(1612812337u, new RpcReceiveHandler(__rpc_handler_1612812337), "PlaySoundClientRpc"); ((NetworkBehaviour)this).__registerRpc(3726082168u, new RpcReceiveHandler(__rpc_handler_3726082168), "ItemGrabServerRpc"); ((NetworkBehaviour)this).__registerRpc(1583903099u, new RpcReceiveHandler(__rpc_handler_1583903099), "ItemGrabClientRpc"); ((NetworkBehaviour)this).__registerRpc(1507338783u, new RpcReceiveHandler(__rpc_handler_1507338783), "ItemDropServerRpc"); ((NetworkBehaviour)this).__registerRpc(3140763079u, new RpcReceiveHandler(__rpc_handler_3140763079), "ItemDropClientRpc"); ((NetworkBehaviour)this).__registerRpc(1848940189u, new RpcReceiveHandler(__rpc_handler_1848940189), "BreakServerRpc"); ((NetworkBehaviour)this).__registerRpc(301355523u, new RpcReceiveHandler(__rpc_handler_301355523), "BreakClientRpc"); ((NoisemakerProp)this).__initializeRpcs(); } private static void __rpc_handler_3032412797(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((CasqueBehaviour)(object)target).PlayRandomSoundServerRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1612812337(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int soundId = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref soundId); target.__rpc_exec_stage = (__RpcExecStage)1; ((CasqueBehaviour)(object)target).PlaySoundClientRpc(soundId); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3726082168(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: Unknown result type (might be due