Please disclose if your mod was created primarily 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 LethalMDK v1.2.0
LethalMDK.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Cryptography; using System.Security.Permissions; using System.Text; using BepInEx; using GameNetcodeStuff; using HarmonyLib; using Unity.Netcode; using UnityEngine; using UnityMDK; using UnityMDK.Injection; using UnityMDK.Logging; using UnityMDK.Reflection; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("LethalMDK")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("LethalMDK")] [assembly: AssemblyTitle("LethalMDK")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace LethalMDK { [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("Saradora.LethalMDK", "Lethal MDK", "1.2.0")] public class PluginInitializer : BaseUnityPlugin { private readonly Harmony _harmonyInstance = new Harmony("Saradora.LethalMDK"); private void Awake() { _harmonyInstance.PatchAll(); } } public static class LethalMDK { public const string ModGuid = "Saradora.LethalMDK"; public const string ModVersion = "1.2.0"; public const string ModName = "Lethal MDK"; } public class LayerMasks { public static readonly int Default = 1 << Layers.Default; public static readonly int InteractableObject = 1 << Layers.InteractableObject; public static readonly int Room = 1 << Layers.Room; public static readonly int ScanNode = 1 << Layers.ScanNode; } public static class Layers { public static readonly int Default = LayerMask.NameToLayer("Default"); public static readonly int TransparentFX = LayerMask.NameToLayer("TransparentFX"); public static readonly int IgnoreRaycast = LayerMask.NameToLayer("Ignore Raycast"); public static readonly int Player = LayerMask.NameToLayer("Player"); public static readonly int Water = LayerMask.NameToLayer("Water"); public static readonly int UI = LayerMask.NameToLayer("UI"); public static readonly int Props = LayerMask.NameToLayer("Props"); public static readonly int HelmetVisor = LayerMask.NameToLayer("HelmetVisor"); public static readonly int Room = LayerMask.NameToLayer("Room"); public static readonly int InteractableObject = LayerMask.NameToLayer("InteractableObject"); public static readonly int Foliage = LayerMask.NameToLayer("Foliage"); public static readonly int Colliders = LayerMask.NameToLayer("Colliders"); public static readonly int PhysicsObject = LayerMask.NameToLayer("PhysicsObject"); public static readonly int Triggers = LayerMask.NameToLayer("Triggers"); public static readonly int MapRadar = LayerMask.NameToLayer("MapRadar"); public static readonly int NavigationSurface = LayerMask.NameToLayer("NavigationSurface"); public static readonly int RoomLight = LayerMask.NameToLayer("RoomLight"); public static readonly int Anomaly = LayerMask.NameToLayer("Anomaly"); public static readonly int LineOfSight = LayerMask.NameToLayer("LineOfSight"); public static readonly int Enemies = LayerMask.NameToLayer("Enemies"); public static readonly int PlayerRagdoll = LayerMask.NameToLayer("PlayerRagdoll"); public static readonly int MapHazards = LayerMask.NameToLayer("MapHazards"); public static readonly int ScanNode = LayerMask.NameToLayer("ScanNode"); public static readonly int EnemiesNotRendered = LayerMask.NameToLayer("EnemiesNotRendered"); public static readonly int MiscLevelGeometry = LayerMask.NameToLayer("MiscLevelGeometry"); public static readonly int Terrain = LayerMask.NameToLayer("Terrain"); public static readonly int PlaceableShipObjects = LayerMask.NameToLayer("PlaceableShipObjects"); public static readonly int PlacementBlocker = LayerMask.NameToLayer("PlacementBlocker"); public static readonly int Railing = LayerMask.NameToLayer("Railing"); public static readonly int DecalStickableSurface = LayerMask.NameToLayer("DecalStickableSurface"); } public class Tags { public static readonly string InteractTrigger = "InteractTrigger"; } public class Player { public static PlayerControllerB LocalPlayer { get { if (!Object.op_Implicit((Object)(object)GameNetworkManager.Instance)) { return null; } return GameNetworkManager.Instance.localPlayerController; } } } [SceneConstructor] public class Prefabs { public const string P4x4BigStairTile = "4x4BigStairTile"; public const string P4x4ServerRoomTile = "4x4ServerRoomTile"; public const string PAirhorn = "Airhorn"; public const string PBaboonHawkEnemy = "BaboonHawkEnemy"; public const string PBBFlashlight = "BBFlashlight"; public const string PBeeHatContainer = "BeeHatContainer"; public const string PBigBolt = "BigBolt"; public const string PBigDoor = "BigDoor"; public const string PBigDoorSpawn = "BigDoorSpawn"; public const string PBinFullOfBottles = "BinFullOfBottles"; public const string PBinoculars = "Binoculars"; public const string PBlob = "Blob"; public const string PBloodDecal = "BloodDecal"; public const string PBodyScanDisplay = "BodyScanDisplay"; public const string PBoombox = "Boombox"; public const string PBreakerBox = "BreakerBox"; public const string PBrickDoorBlockerForkTile = "BrickDoorBlockerForkTile"; public const string PBunnyHatContainer = "BunnyHatContainer"; public const string PBunnyTailContainer = "BunnyTailContainer"; public const string PButlerBees = "ButlerBees"; public const string PButlerEnemy = "ButlerEnemy"; public const string PCandy = "Candy"; public const string PCashRegisterItem = "CashRegisterItem"; public const string PCatwalkTile2x1 = "CatwalkTile2x1"; public const string PCatwalkTile2x1Split = "CatwalkTile2x1Split"; public const string PCementDarkDoorBlocker = "CementDarkDoorBlocker"; public const string PCentipede = "Centipede"; public const string PChallengeLeaderboardSlotItem = "ChallengeLeaderboardSlotItem"; public const string PChangableSuit = "ChangableSuit"; public const string PChemicalJug = "ChemicalJug"; public const string PClipboardManual = "ClipboardManual"; public const string PCloverTile = "CloverTile"; public const string PCloverTileLampSpawn = "CloverTileLampSpawn"; public const string PCloverTileLampSpawnBVariant = "CloverTileLampSpawnB Variant"; public const string PCloverTileLampSpawnCVariant = "CloverTileLampSpawnC Variant"; public const string PCloverTileShelfSpawn = "CloverTileShelfSpawn"; public const string PCloverTileShelfSpawnBVariant = "CloverTileShelfSpawnB Variant"; public const string PCloverTileShelfSpawnDVariant = "CloverTileShelfSpawnD Variant"; public const string PClownhorn = "Clownhorn"; public const string PCog = "Cog"; public const string PComedyMask = "ComedyMask"; public const string PCookieMoldPan = "CookieMoldPan"; public const string PCrawler = "Crawler"; public const string PDefaultHDAdditionalLightData = "Default HDAdditionalLightData"; public const string PDefaultVolume = "Default Volume"; public const string PDentures = "Dentures"; public const string PDiagonal1Tile = "Diagonal1Tile"; public const string PDiscoBallContainer = "DiscoBallContainer"; public const string PDiyFlashbang = "DiyFlashbang"; public const string PDocileLocustBees = "DocileLocustBees"; public const string PDoorCodeUIObject = "DoorCodeUIObject"; public const string PDoubleDoorRoom = "DoubleDoorRoom"; public const string PDoublewingedBird = "DoublewingedBird"; public const string PDressGirl = "DressGirl"; public const string PDustpan = "Dustpan"; public const string PEasterEgg = "EasterEgg"; public const string PEasterEggExplosionParticle = "EasterEggExplosionParticle"; public const string PEggBeater = "EggBeater"; public const string PElevatorConnector = "ElevatorConnector"; public const string PEnginePart = "EnginePart"; public const string PEntranceTeleportA = "EntranceTeleportA"; public const string PEntranceTeleportB = "EntranceTeleportB"; public const string PExplosionEffect = "ExplosionEffect"; public const string PExtensionLadderItem = "ExtensionLadderItem"; public const string PFancyDoorBlockerMedHallway2 = "FancyDoorBlockerMedHallway2"; public const string PFancyDoorFrameMapSpawn = "FancyDoorFrameMapSpawn"; public const string PFancyDoorMapModel = "FancyDoorMapModel"; public const string PFancyDoorMapSpawn = "FancyDoorMapSpawn"; public const string PFancyGlass = "FancyGlass"; public const string PFancyLamp = "FancyLamp"; public const string PFancyRing = "FancyRing"; public const string PFancyWall2PillarDoorBlocker = "FancyWall2PillarDoorBlocker"; public const string PFancyWall3PillarDoorBlockerVariant = "FancyWall3PillarDoorBlocker Variant"; public const string PFancyWall4DoorBlocker = "FancyWall4DoorBlocker"; public const string PFishBowlContainer = "FishBowlContainer"; public const string PFishTestProp = "FishTestProp"; public const string PFlashBangParticle = "FlashBangParticle"; public const string PFlashlightItem = "FlashlightItem"; public const string PFlask = "Flask"; public const string PFlowerman = "Flowerman"; public const string PFlowerSnakeEnemy = "FlowerSnakeEnemy"; public const string PFootprintDecal = "FootprintDecal"; public const string PForestGiant = "ForestGiant"; public const string PGiantPumpkin = "GiantPumpkin"; public const string PGiftBox = "GiftBox"; public const string PGoldBar = "GoldBar"; public const string PGreyRockGrouping2 = "GreyRockGrouping2"; public const string PGreyRockGrouping4 = "GreyRockGrouping4"; public const string PHairbrush = "Hairbrush"; public const string PHairdryer = "Hairdryer"; public const string PHallwayBlocker = "HallwayBlocker"; public const string PHallwayBlockerNoOffset = "HallwayBlockerNoOffset"; public const string PHallwayBlockerNoOffsetCementDark = "HallwayBlockerNoOffsetCementDark"; public const string PHallwayCloverIntersection = "HallwayCloverIntersection"; public const string PHallwayCloverInverse = "HallwayCloverInverse"; public const string PHallwayCorner = "HallwayCorner"; public const string PHallwayTileTypeA = "HallwayTileTypeA"; public const string PHallwayTileTypeB = "HallwayTileTypeB"; public const string PHallwayTileTypeC = "HallwayTileTypeC"; public const string PHallwayTileTypeD = "HallwayTileTypeD"; public const string PHallwayWideOpeningConnector = "HallwayWideOpeningConnector"; public const string PHandBell = "HandBell"; public const string PHeadMask = "HeadMask"; public const string PHoarderBug = "HoarderBug"; public const string PInternalIdentityTransform = "InternalIdentityTransform"; public const string PInverseTeleporter = "InverseTeleporter"; public const string PJesterEnemy = "JesterEnemy"; public const string PJetpackItem = "JetpackItem"; public const string PKey = "Key"; public const string PKeybindsSectionText = "KeybindsSectionText"; public const string PKitchenTile = "KitchenTile"; public const string PKnifeItem = "KnifeItem"; public const string PLandmine = "Landmine"; public const string PLargeExplosionDecal = "LargeExplosionDecal"; public const string PLargeExplosionEffect = "LargeExplosionEffect"; public const string PLargeForkTileB = "LargeForkTileB"; public const string PLargeHallwayOpeningTile = "LargeHallwayOpeningTile"; public const string PLargeRock1 = "LargeRock1"; public const string PLargeRock2 = "LargeRock2"; public const string PLargeRock3 = "LargeRock3"; public const string PLargeRock4 = "LargeRock4"; public const string PLaserPointer = "LaserPointer"; public const string PLassoMan = "LassoMan"; public const string PLevel2StartRoomConnector = "Level2StartRoomConnector"; public const string PLibraryTile = "LibraryTile"; public const string PLivingRoomTile = "LivingRoomTile"; public const string PLobbyListItem = "LobbyListItem"; public const string PLobbyListItemChallenge = "LobbyListItemChallenge"; public const string PLockPickerItem = "LockPickerItem"; public const string PLRADAudio = "LRADAudio"; public const string PLRADAudio2 = "LRADAudio2"; public const string PLungApparatus = "LungApparatus"; public const string PLungApparatusTurnedOff = "LungApparatusTurnedOff"; public const string PMagic7Ball = "Magic7Ball"; public const string PMagnifyingGlass = "MagnifyingGlass"; public const string PManorStairTile = "ManorStairTile"; public const string PManorStartRoom = "ManorStartRoom"; public const string PMappingDevice = "MappingDevice"; public const string PMarbleWallDoorBlocker = "MarbleWallDoorBlocker"; public const string PMaskedPlayerEnemy = "MaskedPlayerEnemy"; public const string PMediumRoomHallway1B = "MediumRoomHallway1B"; public const string PMetalSheet = "MetalSheet"; public const string PMetalWallDoorBlocker = "MetalWallDoorBlocker"; public const string PMissileProjectile = "MissileProjectile"; public const string PMoon1 = "Moon1"; public const string PMoon2 = "Moon2"; public const string PMoon3 = "Moon3"; public const string PMouthDog = "MouthDog"; public const string PMug = "Mug"; public const string PNormalDoor = "NormalDoor"; public const string PNormalDoorBlocker = "NormalDoorBlocker"; public const string PNormalDoorBlockerBigTex = "NormalDoorBlockerBigTex"; public const string PNormalDoorBlockerWhiteCement = "NormalDoorBlockerWhiteCement"; public const string PNormalDoorBlockerWhiteCementNoExitDoor = "NormalDoorBlockerWhiteCementNoExitDoor"; public const string PNormalDoorBlockerWhiteWallpaper = "NormalDoorBlockerWhiteWallpaper"; public const string PNormalTableContainer = "NormalTableContainer"; public const string PNutcrackerEnemy = "NutcrackerEnemy"; public const string POfficeDoor = "OfficeDoor"; public const string POldPhone = "OldPhone"; public const string PPainting = "Painting"; public const string PPatcherGunItem = "PatcherGunItem"; public const string PPerfumeBottle = "PerfumeBottle"; public const string PPickleJar = "PickleJar"; public const string PPillBottle = "PillBottle"; public const string PPlaybackPrefab = "PlaybackPrefab"; public const string PPlayer = "Player"; public const string PPlayerRagdoll = "PlayerRagdoll"; public const string PPlayerRagdollBurntVariant = "PlayerRagdollBurnt Variant"; public const string PPlayerRagdollElectrocutedVariant = "PlayerRagdollElectrocuted Variant"; public const string PPlayerRagdollHeadBurstVariant = "PlayerRagdollHeadBurst Variant"; public const string PPlayerRagdollSpringVariant = "PlayerRagdollSpring Variant"; public const string PPlayerRagdollWithComedyMaskVariant = "PlayerRagdollWithComedyMask Variant"; public const string PPlayerRagdollWithTragedyMaskVariant = "PlayerRagdollWithTragedyMask Variant"; public const string PPlayerSpectateBox = "PlayerSpectateBox"; public const string PPlushiePJManContainer = "PlushiePJManContainer"; public const string PPufferEnemy = "PufferEnemy"; public const string PPufferEnemySmokeContainer = "PufferEnemySmokeContainer"; public const string PPumpkinUnlockableContainer = "PumpkinUnlockableContainer"; public const string PQuicksandContainer = "QuicksandContainer"; public const string PRadarBoosterDevice = "RadarBoosterDevice"; public const string PRadMechEnemy = "RadMechEnemy"; public const string PRadMechNestSpawnObject = "RadMechNestSpawnObject"; public const string PRagdollGrabbableObject = "RagdollGrabbableObject"; public const string PRecordPlayerContainer = "RecordPlayerContainer"; public const string PRedLocustBees = "RedLocustBees"; public const string PRedLocustHive = "RedLocustHive"; public const string PRedSodaCan = "RedSodaCan"; public const string PRemapKeySlot = "RemapKeySlot"; public const string PRemote = "Remote"; public const string PRobotToy = "RobotToy"; public const string PRomanticTableContainer = "RomanticTableContainer"; public const string PRubberDucky = "RubberDucky"; public const string PSandSpider = "SandSpider"; public const string PSandWorm = "SandWorm"; public const string PScrapIconMap = "ScrapIconMap"; public const string PShipCozyLights = "ShipCozyLights"; public const string PShipHorn = "ShipHorn"; public const string PShotgunItem = "ShotgunItem"; public const string PShotgunShell = "ShotgunShell"; public const string PShovelItem = "ShovelItem"; public const string PShower = "Shower"; public const string PSignalTranslator = "SignalTranslator"; public const string PSmallLRoom = "SmallLRoom"; public const string PSmallPillarRoom = "SmallPillarRoom"; public const string PSmallRoom2 = "SmallRoom2"; public const string PSmallStairTile = "SmallStairTile"; public const string PSpatializedPlaybackPrefabModified = "SpatializedPlaybackPrefabModified"; public const string PSpikeRoofTrapHazard = "SpikeRoofTrapHazard"; public const string PSpikeSlamBodyStickyPoint = "SpikeSlamBodyStickyPoint"; public const string PSprayDecal = "SprayDecal"; public const string PSprayPaintItem = "SprayPaintItem"; public const string PSpringMan = "SpringMan"; public const string PStartRoom = "StartRoom"; public const string PSteamValve = "SteamValve"; public const string PSteelDoor = "SteelDoor"; public const string PSteelDoorFrameMapSpawn = "SteelDoorFrameMapSpawn"; public const string PSteelDoorMapModel = "SteelDoorMapModel"; public const string PSteelDoorMapSpawn = "SteelDoorMapSpawn"; public const string PSteeringWheel = "SteeringWheel"; public const string PStickyNoteItem = "StickyNoteItem"; public const string PStopSign = "StopSign"; public const string PStorageShelfContainer = "StorageShelfContainer"; public const string PStretchyWeb = "StretchyWeb"; public const string PStunGrenade = "StunGrenade"; public const string PTeaKettle = "TeaKettle"; public const string PTeleporter = "Teleporter"; public const string PTelevisionContainer = "TelevisionContainer"; public const string PTestAnomaly = "TestAnomaly"; public const string PTestCapsuleEnemy = "TestCapsuleEnemy"; public const string PTestRoom = "TestRoom"; public const string PTHallwayIntersectionB = "THallwayIntersectionB"; public const string PToilet = "Toilet"; public const string PToothpaste = "Toothpaste"; public const string PToyCube = "ToyCube"; public const string PTragedyMask = "TragedyMask"; public const string PTree = "tree"; public const string PTreeLeafless002LOD0 = "treeLeafless.002_LOD0"; public const string PTreeLeafless003LOD0 = "treeLeafless.003_LOD0"; public const string PTreeLeaflessBrown001Variant = "treeLeaflessBrown.001 Variant"; public const string PTurretContainer = "TurretContainer"; public const string PTZPChemical = "TZPChemical"; public const string PVentEntrance = "VentEntrance"; public const string PWalkieTalkie = "WalkieTalkie"; public const string PWebHangerPhysics = "WebHangerPhysics"; public const string PWelcomeMatContainer = "WelcomeMatContainer"; public const string PWhoopieCushion = "WhoopieCushion"; public const string PWideHallwayOpeningBlocker1 = "WideHallwayOpeningBlocker (1)"; public const string PWideHallwayOpeningBlocker3 = "WideHallwayOpeningBlocker3"; public const string PWideHallwayOpeningBlockerB = "WideHallwayOpeningBlockerB"; public const string PWideHallwayOpeningBlockerBOffset2cVariant = "WideHallwayOpeningBlockerBOffset2c Variant"; public const string PWideHallwayOpeningBlockerCVariant = "WideHallwayOpeningBlockerC Variant"; public const string PWideHallwayOpeningBlockerGreenPillarsVariant = "WideHallwayOpeningBlockerGreenPillars Variant"; public const string PWindowTile = "WindowTile"; public const string PWoodPikesContainer = "WoodPikesContainer"; public const string PYieldSign = "YieldSign"; } } namespace LethalMDK.World { public static class ScanNodes { public enum EType { Utility, Creature, Scrap } } } namespace LethalMDK.Network { public static class NetworkPrefabs { public static GameObject GetEmptyPrefab(string name) { GameObject emptyPrefab = PrefabUtils.GetEmptyPrefab(name); NetworkObject obj = emptyPrefab.AddComponent<NetworkObject>(); byte[] value = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(Assembly.GetCallingAssembly().GetName().Name + name)); ReflectionUtility.SetField<uint>((object)obj, "GlobalObjectIdHash", BitConverter.ToUInt32(value, 0)); RegisterNetworkPrefab(emptyPrefab); return emptyPrefab; } public static void RegisterNetworkPrefab(GameObject prefab) { if (!Object.op_Implicit((Object)(object)NetworkManager.Singleton)) { Log.Error((object)"Network manager isn't ready"); } else { NetworkManager.Singleton.AddNetworkPrefab(prefab); } } } }