0% found this document useful (0 votes)
19 views68 pages

Harmony Log

This document contains patches to the Disconnect() and Update() methods in two different classes, GameNetworkManager and ShipBuildModeManager. The patches modify the original IL code of the two methods by adding additional logic before and after the original method body.

Uploaded by

henrawlinson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views68 pages

Harmony Log

This document contains patches to the Disconnect() and Update() methods in two different classes, GameNetworkManager and ShipBuildModeManager. The patches modify the original IL code of the two methods by adding additional logic before and after the original method body.

Uploaded by

henrawlinson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 68

### Patch: System.

Void GameNetworkManager::Disconnect()
### Replacement: static System.Void
GameNetworkManager::GameNetworkManager.Disconnect_Patch1(GameNetworkManager this)
IL_0000: // start original
IL_0000: ldarg.0
IL_0001: ldfld System.Boolean GameNetworkManager::isDisconnecting
IL_0006: brfalse => Label0
IL_000B: br => Label3
IL_0010: Label0
IL_0010: ldarg.0
IL_0011: ldc.i4.1
IL_0012: stfld System.Boolean GameNetworkManager::isDisconnecting
IL_0017: ldarg.0
IL_0018: ldfld System.Boolean GameNetworkManager::isHostingGame
IL_001D: brfalse => Label1
IL_0022: ldarg.0
IL_0023: ldc.i4.1
IL_0024: stfld System.Boolean GameNetworkManager::disallowConnection
IL_0029: Label1
IL_0029: ldarg.0
IL_002A: call System.Void GameNetworkManager::StartDisconnect()
IL_002F: ldarg.0
IL_0030: call System.Void GameNetworkManager::SaveGame()
IL_0035: call static Unity.Netcode.NetworkManager
Unity.Netcode.NetworkManager::get_Singleton()
IL_003A: ldnull
IL_003B: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_0040: brfalse => Label2
IL_0045: ldstr "Server is not active; quitting to main menu"
IL_004A: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_004F: ldarg.0
IL_0050: call System.Void GameNetworkManager::ResetGameValuesToDefault()
IL_0055: ldstr "MainMenu"
IL_005A: call static System.Void
UnityEngine.SceneManagement.SceneManager::LoadScene(System.String sceneName)
IL_005F: br => Label4
IL_0064: Label2
IL_0064: ldarg.0
IL_0065: ldarg.0
IL_0066: call System.Collections.IEnumerator
GameNetworkManager::DisconnectProcess()
IL_006B: call UnityEngine.Coroutine
UnityEngine.MonoBehaviour::StartCoroutine(System.Collections.IEnumerator routine)
IL_0070: pop
IL_0071: // end original
IL_0071: Label3
IL_0071: Label4
IL_0071: ldarg.0
IL_0072: call static System.Void
LethalMenu.Patches::Disconnect(GameNetworkManager __instance)
IL_0077: ret
DONE

### Patch: System.Void ShipBuildModeManager::Update()


### Replacement: static System.Void
ShipBuildModeManager::ShipBuildModeManager.Update_Patch1(ShipBuildModeManager this)
IL_0000: Local var 0: System.Boolean
IL_0000: Local var 1: PlayerActions/MovementActions
IL_0000: Local var 2: UnityEngine.Bounds
IL_0000: // start original
IL_0000: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_0005: ldnull
IL_0006: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_000B: brtrue => Label0
IL_0010: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_0015: ldfld GameNetcodeStuff.PlayerControllerB
GameNetworkManager::localPlayerController
IL_001A: ldnull
IL_001B: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_0020: brfalse => Label1
IL_0025: Label0
IL_0025: br => Label24
IL_002A: Label1
IL_002A: ldarg.0
IL_002B: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_0030: ldfld GameNetcodeStuff.PlayerControllerB
GameNetworkManager::localPlayerController
IL_0035: stfld GameNetcodeStuff.PlayerControllerB ShipBuildModeManager::player
IL_003A: ldarg.0
IL_003B: ldc.i4.0
IL_003C: call System.Boolean
ShipBuildModeManager::PlayerMeetsConditionsToBuild(System.Boolean log)
IL_0041: brtrue => Label2
IL_0046: ldarg.0
IL_0047: ldc.i4.1
IL_0048: call System.Void
ShipBuildModeManager::CancelBuildMode(System.Boolean cancelBeforePlacement)
IL_004D: Label2
IL_004D: ldarg.0
IL_004E: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_0053: ldnull
IL_0054: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_0059: brfalse => Label3
IL_005E: ldarg.0
IL_005F: ldc.i4.1
IL_0060: call System.Void
ShipBuildModeManager::CancelBuildMode(System.Boolean cancelBeforePlacement)
IL_0065: Label3
IL_0065: ldarg.0
IL_0066: ldfld System.Boolean ShipBuildModeManager::InBuildMode
IL_006B: brfalse => Label4
IL_0070: ldarg.0
IL_0071: ldfld UnityEngine.BoxCollider ShipBuildModeManager::currentCollider
IL_0076: ldnull
IL_0077: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_007C: brfalse => Label5
IL_0081: ldarg.0
IL_0082: ldarg.0
IL_0083: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_0088: ldfld UnityEngine.Collider PlaceableShipObject::placeObjectCollider
IL_008D: isinst UnityEngine.BoxCollider
IL_0092: stfld UnityEngine.BoxCollider ShipBuildModeManager::currentCollider
IL_0097: Label5
IL_0097: call static IngamePlayerSettings
IngamePlayerSettings::get_Instance()
IL_009C: ldfld UnityEngine.InputSystem.PlayerInput
IngamePlayerSettings::playerInput
IL_00A1: callvirt UnityEngine.InputSystem.InputActionAsset
UnityEngine.InputSystem.PlayerInput::get_actions()
IL_00A6: ldstr "ReloadBatteries"
IL_00AB: ldc.i4.0
IL_00AC: callvirt virtual UnityEngine.InputSystem.InputAction
UnityEngine.InputSystem.InputActionAsset::FindAction(System.String actionNameOrId,
System.Boolean throwIfNotFound)
IL_00B1: callvirt System.Boolean UnityEngine.InputSystem.InputAction::IsPressed()
IL_00B6: brtrue => Label6
IL_00BB: call static StartOfRound StartOfRound::get_Instance()
IL_00C0: ldfld System.Boolean StartOfRound::localPlayerUsingController
IL_00C5: brfalse => Label7
IL_00CA: ldarg.0
IL_00CB: ldfld PlayerActions ShipBuildModeManager::playerActions
IL_00D0: callvirt MovementActions PlayerActions::get_Movement()
IL_00D5: stloc.1
IL_00D6: ldloca.s 1 (PlayerActions+MovementActions)
IL_00D8: call UnityEngine.InputSystem.InputAction
MovementActions::get_InspectItem()
IL_00DD: callvirt System.Boolean UnityEngine.InputSystem.InputAction::IsPressed()
IL_00E2: brfalse => Label8
IL_00E7: Label6
IL_00E7: ldarg.0
IL_00E8: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_00ED: ldarg.0
IL_00EE: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_00F3: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_eulerAngles()
IL_00F8: ldfld System.Single UnityEngine.Vector3::x
IL_00FD: ldarg.0
IL_00FE: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_0103: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_eulerAngles()
IL_0108: ldfld System.Single UnityEngine.Vector3::y
IL_010D: call static System.Single UnityEngine.Time::get_deltaTime()
IL_0112: ldc.r4 155
IL_0117: mul
IL_0118: add
IL_0119: ldarg.0
IL_011A: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_011F: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_eulerAngles()
IL_0124: ldfld System.Single UnityEngine.Vector3::z
IL_0129: newobj System.Void UnityEngine.Vector3::.ctor(System.Single x,
System.Single y, System.Single z)
IL_012E: callvirt System.Void
UnityEngine.Transform::set_eulerAngles(UnityEngine.Vector3 value)
IL_0133: Label7
IL_0133: Label8
IL_0133: ldarg.0
IL_0134: ldarg.0
IL_0135: ldfld GameNetcodeStuff.PlayerControllerB ShipBuildModeManager::player
IL_013A: ldfld UnityEngine.Camera
GameNetcodeStuff.PlayerControllerB::gameplayCamera
IL_013F: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0144: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_0149: ldarg.0
IL_014A: ldfld GameNetcodeStuff.PlayerControllerB ShipBuildModeManager::player
IL_014F: ldfld UnityEngine.Camera
GameNetcodeStuff.PlayerControllerB::gameplayCamera
IL_0154: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0159: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_forward()
IL_015E: newobj System.Void UnityEngine.Ray::.ctor(UnityEngine.Vector3 origin,
UnityEngine.Vector3 direction)
IL_0163: stfld UnityEngine.Ray ShipBuildModeManager::playerCameraRay
IL_0168: ldarg.0
IL_0169: ldfld UnityEngine.Ray ShipBuildModeManager::playerCameraRay
IL_016E: ldarg.0
IL_016F: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_0174: ldc.r4 4
IL_0179: ldarg.0
IL_017A: ldfld System.Int32 ShipBuildModeManager::placementMask
IL_017F: ldc.i4.1
IL_0180: call static System.Boolean
UnityEngine.Physics::Raycast(UnityEngine.Ray ray, UnityEngine.RaycastHit& hitInfo,
System.Single maxDistance, System.Int32 layerMask,
UnityEngine.QueryTriggerInteraction queryTriggerInteraction)
IL_0185: brfalse => Label9
IL_018A: ldarg.0
IL_018B: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_0190: call UnityEngine.Vector3 UnityEngine.RaycastHit::get_normal()
IL_0195: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_019A: call static System.Single
UnityEngine.Vector3::Angle(UnityEngine.Vector3 from, UnityEngine.Vector3 to)
IL_019F: ldc.r4 45
IL_01A4: bge.un => Label10
IL_01A9: ldarg.0
IL_01AA: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_01AF: ldarg.0
IL_01B0: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_01B5: call UnityEngine.Vector3 UnityEngine.RaycastHit::get_point()
IL_01BA: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_01BF: ldarg.0
IL_01C0: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_01C5: ldfld System.Single PlaceableShipObject::yOffset
IL_01CA: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_01CF: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_01D4: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_01D9: br => Label11
IL_01DE: Label10
IL_01DE: ldarg.0
IL_01DF: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_01E4: ldfld System.Boolean PlaceableShipObject::AllowPlacementOnWalls
IL_01E9: brfalse => Label12
IL_01EE: ldarg.0
IL_01EF: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_01F4: ldarg.0
IL_01F5: ldarg.0
IL_01F6: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_01FB: call UnityEngine.Vector3 UnityEngine.RaycastHit::get_point()
IL_0200: ldarg.0
IL_0201: ldfld UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_0206: call UnityEngine.Vector3
ShipBuildModeManager::OffsetObjectFromWallBasedOnDimensions(UnityEngine.Vector3
targetPosition, UnityEngine.RaycastHit wall)
IL_020B: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_0210: ldarg.0
IL_0211: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_0216: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_021B: call static UnityEngine.Vector3 UnityEngine.Vector3::get_down()
IL_0220: ldarg.0
IL_0221: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_0226: ldarg.0
IL_0227: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_022C: ldfld System.Single PlaceableShipObject::yOffset
IL_0231: ldarg.0
IL_0232: ldfld System.Int32 ShipBuildModeManager::placementMask
IL_0237: ldc.i4.1
IL_0238: call static System.Boolean
UnityEngine.Physics::Raycast(UnityEngine.Vector3 origin, UnityEngine.Vector3
direction, UnityEngine.RaycastHit& hitInfo, System.Single maxDistance, System.Int32
layerMask, UnityEngine.QueryTriggerInteraction queryTriggerInteraction)
IL_023D: brfalse => Label13
IL_0242: ldarg.0
IL_0243: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_0248: ldarg.0
IL_0249: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_024E: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_0253: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_0258: ldarg.0
IL_0259: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_025E: call System.Single UnityEngine.RaycastHit::get_distance()
IL_0263: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_0268: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_026D: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_0272: br => Label14
IL_0277: Label12
IL_0277: ldarg.0
IL_0278: ldarg.0
IL_0279: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_027E: call UnityEngine.Vector3 UnityEngine.RaycastHit::get_point()
IL_0283: ldarg.0
IL_0284: ldfld UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_0289: call UnityEngine.Vector3
ShipBuildModeManager::OffsetObjectFromWallBasedOnDimensions(UnityEngine.Vector3
targetPosition, UnityEngine.RaycastHit wall)
IL_028E: call static UnityEngine.Vector3 UnityEngine.Vector3::get_down()
IL_0293: ldarg.0
IL_0294: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_0299: ldc.r4 20
IL_029E: ldarg.0
IL_029F: ldfld System.Int32 ShipBuildModeManager::placementMask
IL_02A4: ldc.i4.1
IL_02A5: call static System.Boolean
UnityEngine.Physics::Raycast(UnityEngine.Vector3 origin, UnityEngine.Vector3
direction, UnityEngine.RaycastHit& hitInfo, System.Single maxDistance, System.Int32
layerMask, UnityEngine.QueryTriggerInteraction queryTriggerInteraction)
IL_02AA: brfalse => Label15
IL_02AF: ldarg.0
IL_02B0: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_02B5: ldarg.0
IL_02B6: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_02BB: call UnityEngine.Vector3 UnityEngine.RaycastHit::get_point()
IL_02C0: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_02C5: ldarg.0
IL_02C6: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_02CB: ldfld System.Single PlaceableShipObject::yOffset
IL_02D0: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_02D5: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_02DA: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_02DF: br => Label16
IL_02E4: Label9
IL_02E4: ldarg.0
IL_02E5: ldflda UnityEngine.Ray ShipBuildModeManager::playerCameraRay
IL_02EA: ldc.r4 4
IL_02EF: call UnityEngine.Vector3 UnityEngine.Ray::GetPoint(System.Single
distance)
IL_02F4: call static UnityEngine.Vector3 UnityEngine.Vector3::get_down()
IL_02F9: ldarg.0
IL_02FA: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_02FF: ldc.r4 20
IL_0304: ldarg.0
IL_0305: ldfld System.Int32 ShipBuildModeManager::placementMask
IL_030A: ldc.i4.1
IL_030B: call static System.Boolean
UnityEngine.Physics::Raycast(UnityEngine.Vector3 origin, UnityEngine.Vector3
direction, UnityEngine.RaycastHit& hitInfo, System.Single maxDistance, System.Int32
layerMask, UnityEngine.QueryTriggerInteraction queryTriggerInteraction)
IL_0310: brfalse => Label17
IL_0315: ldarg.0
IL_0316: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_031B: ldarg.0
IL_031C: ldflda UnityEngine.RaycastHit ShipBuildModeManager::rayHit
IL_0321: call UnityEngine.Vector3 UnityEngine.RaycastHit::get_point()
IL_0326: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_032B: ldarg.0
IL_032C: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_0331: ldfld System.Single PlaceableShipObject::yOffset
IL_0336: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_033B: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_0340: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_0345: ldstr "yoffset: {0}"
IL_034A: ldarg.0
IL_034B: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_0350: ldfld System.Single PlaceableShipObject::yOffset
IL_0355: box System.Single
IL_035A: call static System.String System.String::Format(System.String
format, System.Object arg0)
IL_035F: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_0364: ldstr "{0}"
IL_0369: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_036E: ldarg.0
IL_036F: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_0374: ldfld System.Single PlaceableShipObject::yOffset
IL_0379: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_037E: box UnityEngine.Vector3
IL_0383: call static System.String System.String::Format(System.String
format, System.Object arg0)
IL_0388: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_038D: ldarg.0
IL_038E: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_0393: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_0398: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_039D: ldarg.0
IL_039E: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_03A3: ldfld System.Single PlaceableShipObject::yOffset
IL_03A8: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_03AD: call static UnityEngine.Color UnityEngine.Color::get_green()
IL_03B2: call static System.Void
UnityEngine.Debug::DrawLine(UnityEngine.Vector3 start, UnityEngine.Vector3 end,
UnityEngine.Color color)
IL_03B7: Label11
IL_03B7: Label13
IL_03B7: Label14
IL_03B7: Label15
IL_03B7: Label16
IL_03B7: Label17
IL_03B7: ldarg.0
IL_03B8: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_03BD: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_03C2: ldarg.0
IL_03C3: ldfld UnityEngine.BoxCollider ShipBuildModeManager::currentCollider
IL_03C8: callvirt UnityEngine.Vector3 UnityEngine.BoxCollider::get_size()
IL_03CD: ldc.r4 0.5
IL_03D2: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_03D7: ldc.r4 0.57
IL_03DC: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_03E1: ldarg.0
IL_03E2: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_03E7: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_eulerAngles()
IL_03EC: call static UnityEngine.Quaternion
UnityEngine.Quaternion::Euler(UnityEngine.Vector3 euler)
IL_03F1: ldarg.0
IL_03F2: ldfld System.Int32 ShipBuildModeManager::placementMaskAndBlockers
IL_03F7: ldc.i4.1
IL_03F8: call static System.Boolean
UnityEngine.Physics::CheckBox(UnityEngine.Vector3 center, UnityEngine.Vector3
halfExtents, UnityEngine.Quaternion orientation, System.Int32 layermask,
UnityEngine.QueryTriggerInteraction queryTriggerInteraction)
IL_03FD: stloc.0
IL_03FE: ldloc.0
IL_03FF: brtrue => Label18
IL_0404: ldarg.0
IL_0405: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_040A: ldfld System.Boolean PlaceableShipObject::doCollisionPointCheck
IL_040F: brfalse => Label19
IL_0414: ldarg.0
IL_0415: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_041A: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_041F: ldarg.0
IL_0420: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_0425: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_forward()
IL_042A: ldarg.0
IL_042B: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_0430: ldflda UnityEngine.Vector3 PlaceableShipObject::collisionPointCheck
IL_0435: ldfld System.Single UnityEngine.Vector3::z
IL_043A: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_043F: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_0444: ldarg.0
IL_0445: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_044A: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_right()
IL_044F: ldarg.0
IL_0450: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_0455: ldflda UnityEngine.Vector3 PlaceableShipObject::collisionPointCheck
IL_045A: ldfld System.Single UnityEngine.Vector3::x
IL_045F: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_0464: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_0469: ldarg.0
IL_046A: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_046F: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_up()
IL_0474: ldarg.0
IL_0475: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_047A: ldflda UnityEngine.Vector3 PlaceableShipObject::collisionPointCheck
IL_047F: ldfld System.Single UnityEngine.Vector3::y
IL_0484: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_0489: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_048E: dup
IL_048F: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_0494: ldc.r4 2
IL_0499: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_049E: call static UnityEngine.Color UnityEngine.Color::get_blue()
IL_04A3: call static System.Void
UnityEngine.Debug::DrawRay(UnityEngine.Vector3 start, UnityEngine.Vector3 dir,
UnityEngine.Color color)
IL_04A8: ldc.r4 1
IL_04AD: ldarg.0
IL_04AE: ldfld System.Int32 ShipBuildModeManager::placementMaskAndBlockers
IL_04B3: ldc.i4.1
IL_04B4: call static System.Boolean
UnityEngine.Physics::CheckSphere(UnityEngine.Vector3 position, System.Single
radius, System.Int32 layerMask, UnityEngine.QueryTriggerInteraction
queryTriggerInteraction)
IL_04B9: brfalse => Label20
IL_04BE: ldc.i4.1
IL_04BF: stloc.0
IL_04C0: Label18
IL_04C0: Label19
IL_04C0: Label20
IL_04C0: ldarg.0
IL_04C1: ldloc.0
IL_04C2: brtrue => Label21
IL_04C7: call static StartOfRound StartOfRound::get_Instance()
IL_04CC: ldfld UnityEngine.Collider StartOfRound::shipInnerRoomBounds
IL_04D1: callvirt UnityEngine.Bounds UnityEngine.Collider::get_bounds()
IL_04D6: stloc.2
IL_04D7: ldloca.s 2 (UnityEngine.Bounds)
IL_04D9: ldarg.0
IL_04DA: ldfld UnityEngine.Transform ShipBuildModeManager::ghostObject
IL_04DF: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_04E4: call System.Boolean UnityEngine.Bounds::Contains(UnityEngine.Vector3
point)
IL_04E9: br => Label22
IL_04EE: Label21
IL_04EE: ldc.i4.0
IL_04EF: Label22
IL_04EF: stfld System.Boolean ShipBuildModeManager::CanConfirmPosition
IL_04F4: ldloc.0
IL_04F5: brfalse => Label23
IL_04FA: ldarg.0
IL_04FB: ldfld UnityEngine.MeshRenderer
ShipBuildModeManager::ghostObjectRenderer
IL_0500: ldarg.0
IL_0501: ldfld UnityEngine.Material ShipBuildModeManager::ghostObjectRed
IL_0506: callvirt System.Void
UnityEngine.Renderer::set_sharedMaterial(UnityEngine.Material value)
IL_050B: br => Label25
IL_0510: Label23
IL_0510: ldarg.0
IL_0511: ldfld UnityEngine.MeshRenderer
ShipBuildModeManager::ghostObjectRenderer
IL_0516: ldarg.0
IL_0517: ldfld UnityEngine.Material ShipBuildModeManager::ghostObjectGreen
IL_051C: callvirt System.Void
UnityEngine.Renderer::set_sharedMaterial(UnityEngine.Material value)
IL_0521: br => Label26
IL_0526: Label4
IL_0526: ldarg.0
IL_0527: ldarg.0
IL_0528: ldfld System.Single ShipBuildModeManager::timeSincePlacingObject
IL_052D: call static System.Single UnityEngine.Time::get_deltaTime()
IL_0532: add
IL_0533: stfld System.Single ShipBuildModeManager::timeSincePlacingObject
IL_0538: // end original
IL_0538: Label24
IL_0538: Label25
IL_0538: Label26
IL_0538: ldarg.0
IL_0539: call static System.Void
LethalMenu.Cheats.BuildAnywhere::ShipBuildModeUpdate(ShipBuildModeManager
__instance)
IL_053E: ret
DONE

### Patch: System.Boolean


ShipBuildModeManager::PlayerMeetsConditionsToBuild(System.Boolean log)
### Replacement: static System.Boolean
ShipBuildModeManager::ShipBuildModeManager.PlayerMeetsConditionsToBuild_Patch1(Ship
BuildModeManager this, System.Boolean log)
IL_0000: Local var 0: UnityEngine.AnimatorStateInfo
IL_0000: Local var 1: System.Boolean
IL_0000: Local var 2: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 1 (System.Boolean)
IL_0009: ldc.i4 0
IL_000E: stloc 2 (System.Boolean)
IL_0012: ldc.i4.1
IL_0013: stloc 2 (System.Boolean)
IL_0017: ldloc 2 (System.Boolean)
IL_001B: brfalse => Label1
IL_0020: ldarg.0
IL_0021: ldloca 1 (System.Boolean)
IL_0025: call static System.Boolean
LethalMenu.Cheats.BuildAnywhere::PlayerMeetsConditions(ShipBuildModeManager
__instance, System.Boolean& __result)
IL_002A: stloc 2 (System.Boolean)
IL_002E: Label1
IL_002E: nop
IL_002F: ldloc 2 (System.Boolean)
IL_0033: brfalse => Label0
IL_0038: // start original
IL_0038: ldarg.0
IL_0039: ldfld System.Boolean ShipBuildModeManager::InBuildMode
IL_003E: brfalse => Label2
IL_0043: ldarg.0
IL_0044: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_0049: ldnull
IL_004A: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_004F: brtrue => Label3
IL_0054: ldarg.0
IL_0055: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_005A: ldfld System.Boolean PlaceableShipObject::inUse
IL_005F: brtrue => Label4
IL_0064: call static StartOfRound StartOfRound::get_Instance()
IL_0069: ldfld UnlockablesList StartOfRound::unlockablesList
IL_006E: ldfld System.Collections.Generic.List`1<UnlockableItem>
UnlockablesList::unlockables
IL_0073: ldarg.0
IL_0074: ldfld PlaceableShipObject ShipBuildModeManager::placingObject
IL_0079: ldfld System.Int32 PlaceableShipObject::unlockableID
IL_007E: callvirt virtual UnlockableItem
System.Collections.Generic.List`1<UnlockableItem>::get_Item(System.Int32 index)
IL_0083: ldfld System.Boolean UnlockableItem::inStorage
IL_0088: brfalse => Label5
IL_008D: Label3
IL_008D: Label4
IL_008D: ldarg.1
IL_008E: brfalse => Label6
IL_0093: ldstr "Could not build 1"
IL_0098: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_009D: Label6
IL_009D: ldc.i4.0
IL_009E: br => Label22
IL_00A3: Label2
IL_00A3: Label5
IL_00A3: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_00A8: ldfld GameNetcodeStuff.PlayerControllerB
GameNetworkManager::localPlayerController
IL_00AD: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isTypingChat
IL_00B2: brfalse => Label7
IL_00B7: ldarg.1
IL_00B8: brfalse => Label8
IL_00BD: ldstr "Could not build 2"
IL_00C2: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_00C7: Label8
IL_00C7: ldc.i4.0
IL_00C8: br => Label23
IL_00CD: Label7
IL_00CD: ldarg.0
IL_00CE: ldfld GameNetcodeStuff.PlayerControllerB ShipBuildModeManager::player
IL_00D3: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isPlayerDead
IL_00D8: brtrue => Label9
IL_00DD: ldarg.0
IL_00DE: ldfld GameNetcodeStuff.PlayerControllerB ShipBuildModeManager::player
IL_00E3: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::inSpecialInteractAnimation
IL_00E8: brtrue => Label10
IL_00ED: ldarg.0
IL_00EE: ldfld GameNetcodeStuff.PlayerControllerB ShipBuildModeManager::player
IL_00F3: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::activatingItem
IL_00F8: brfalse => Label11
IL_00FD: Label9
IL_00FD: Label10
IL_00FD: ldarg.1
IL_00FE: brfalse => Label12
IL_0103: ldstr "Could not build 3"
IL_0108: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_010D: Label12
IL_010D: ldc.i4.0
IL_010E: br => Label24
IL_0113: Label11
IL_0113: ldarg.0
IL_0114: ldfld GameNetcodeStuff.PlayerControllerB ShipBuildModeManager::player
IL_0119: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::disablingJetpackControls
IL_011E: brtrue => Label13
IL_0123: ldarg.0
IL_0124: ldfld GameNetcodeStuff.PlayerControllerB ShipBuildModeManager::player
IL_0129: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::jetpackControls
IL_012E: brfalse => Label14
IL_0133: Label13
IL_0133: ldarg.1
IL_0134: brfalse => Label15
IL_0139: ldstr "Could not build 4"
IL_013E: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_0143: Label15
IL_0143: ldc.i4.0
IL_0144: br => Label25
IL_0149: Label14
IL_0149: ldarg.0
IL_014A: ldfld GameNetcodeStuff.PlayerControllerB ShipBuildModeManager::player
IL_014F: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isInHangarShipRoom
IL_0154: brtrue => Label16
IL_0159: ldarg.1
IL_015A: brfalse => Label17
IL_015F: ldstr "Could not build 5"
IL_0164: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_0169: Label17
IL_0169: ldc.i4.0
IL_016A: br => Label26
IL_016F: Label16
IL_016F: call static StartOfRound StartOfRound::get_Instance()
IL_0174: ldfld System.Single StartOfRound::fearLevel
IL_0179: ldc.r4 0.4
IL_017E: ble.un => Label18
IL_0183: ldarg.1
IL_0184: brfalse => Label19
IL_0189: ldstr "Could not build 6"
IL_018E: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_0193: Label19
IL_0193: ldc.i4.0
IL_0194: br => Label27
IL_0199: Label18
IL_0199: call static StartOfRound StartOfRound::get_Instance()
IL_019E: ldfld UnityEngine.Animator StartOfRound::shipAnimator
IL_01A3: ldc.i4.0
IL_01A4: callvirt UnityEngine.AnimatorStateInfo
UnityEngine.Animator::GetCurrentAnimatorStateInfo(System.Int32 layerIndex)
IL_01A9: stloc.0
IL_01AA: ldloca.s 0 (UnityEngine.AnimatorStateInfo)
IL_01AC: call System.Int32 UnityEngine.AnimatorStateInfo::get_tagHash()
IL_01B1: ldstr "ShipIdle"
IL_01B6: call static System.Int32
UnityEngine.Animator::StringToHash(System.String name)
IL_01BB: beq => Label20
IL_01C0: ldarg.1
IL_01C1: brfalse => Label21
IL_01C6: ldstr "Could not build 7"
IL_01CB: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_01D0: Label21
IL_01D0: ldc.i4.0
IL_01D1: br => Label28
IL_01D6: Label20
IL_01D6: ldc.i4.1
IL_01D7: // end original
IL_01D7: Label22
IL_01D7: Label23
IL_01D7: Label24
IL_01D7: Label25
IL_01D7: Label26
IL_01D7: Label27
IL_01D7: Label28
IL_01D7: stloc 1 (System.Boolean)
IL_01DB: Label0
IL_01DB: ldloc 1 (System.Boolean)
IL_01DF: ret
DONE

### Patch: System.Void


GameNetcodeStuff.PlayerControllerB::KillPlayerClientRpc(System.Int32 playerId,
System.Boolean spawnBody, UnityEngine.Vector3 bodyVelocity, System.Int32
causeOfDeath, System.Int32 deathAnimation)
### Replacement: static System.Void
GameNetcodeStuff.PlayerControllerB::GameNetcodeStuff.PlayerControllerB.KillPlayerCl
ientRpc_Patch1(GameNetcodeStuff.PlayerControllerB this, System.Int32 playerId,
System.Boolean spawnBody, UnityEngine.Vector3 bodyVelocity, System.Int32
causeOfDeath, System.Int32 deathAnimation)
IL_0000: Local var 0: GameNetcodeStuff.PlayerControllerB
IL_0000: Local var 1: Unity.Netcode.NetworkManager
IL_0000: Local var 2: Unity.Netcode.FastBufferWriter
IL_0000: Local var 3: Unity.Netcode.ClientRpcParams
IL_0000: Local var 4: Unity.Netcode.FastBufferWriter/ForPrimitives
IL_0000: ldarg.0
IL_0001: ldarg 1
IL_0005: ldarg 4
IL_0009: call static System.Void
LethalMenu.Cheats.DeathNotification::KillPlayerClientRpcPatch(GameNetcodeStuff.Play
erControllerB __instance, System.Int32 playerId, System.Int32 causeOfDeath)
IL_000E: // start original
IL_000E: ldarg.0
IL_000F: call Unity.Netcode.NetworkManager
Unity.Netcode.NetworkBehaviour::get_NetworkManager()
IL_0014: stloc 1 (Unity.Netcode.NetworkManager)
IL_0018: ldloc 1 (Unity.Netcode.NetworkManager)
IL_001C: brfalse => Label0
IL_0021: ldloc 1 (Unity.Netcode.NetworkManager)
IL_0025: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsListening()
IL_002A: brtrue => Label1
IL_002F: Label0
IL_002F: br => Label13
IL_0034: Label1
IL_0034: nop
IL_0035: ldarg.0
IL_0036: ldfld Unity.Netcode.__RpcExecStage
Unity.Netcode.NetworkBehaviour::__rpc_exec_stage
IL_003B: ldc.i4 2
IL_0040: ceq
IL_0042: ldc.i4 0
IL_0047: ceq
IL_0049: brfalse => Label2
IL_004E: ldloc 1 (Unity.Netcode.NetworkManager)
IL_0052: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsServer()
IL_0057: brtrue => Label3
IL_005C: ldloc 1 (Unity.Netcode.NetworkManager)
IL_0060: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsHost()
IL_0065: brfalse => Label4
IL_006A: Label3
IL_006A: nop
IL_006B: ldarg.0
IL_006C: ldc.i4 168339603
IL_0071: ldloc 3 (Unity.Netcode.ClientRpcParams)
IL_0075: ldc.i4 0
IL_007A: call Unity.Netcode.FastBufferWriter
Unity.Netcode.NetworkBehaviour::__beginSendClientRpc(System.UInt32 rpcMethodId,
Unity.Netcode.ClientRpcParams clientRpcParams, Unity.Netcode.RpcDelivery
rpcDelivery)
IL_007F: stloc 2 (Unity.Netcode.FastBufferWriter)
IL_0083: ldloc 2 (Unity.Netcode.FastBufferWriter)
IL_0087: ldarg 1
IL_008B: call static System.Void
Unity.Netcode.BytePacker::WriteValueBitPacked(Unity.Netcode.FastBufferWriter
writer, System.Int32 value)
IL_0090: ldloca 2 (Unity.Netcode.FastBufferWriter)
IL_0094: ldarga 2
IL_0098: ldloca 4 (Unity.Netcode.FastBufferWriter+ForPrimitives)
IL_009C: initobj Unity.Netcode.FastBufferWriter+ForPrimitives
IL_00A2: ldloc 4 (Unity.Netcode.FastBufferWriter+ForPrimitives)
IL_00A6: call System.Void
Unity.Netcode.FastBufferWriter::WriteValueSafe(System.Boolean& value,
Unity.Netcode.ForPrimitives unused)
IL_00AB: ldloca 2 (Unity.Netcode.FastBufferWriter)
IL_00AF: ldarga 3
IL_00B3: call System.Void
Unity.Netcode.FastBufferWriter::WriteValueSafe(UnityEngine.Vector3& value)
IL_00B8: ldloc 2 (Unity.Netcode.FastBufferWriter)
IL_00BC: ldarg 4
IL_00C0: call static System.Void
Unity.Netcode.BytePacker::WriteValueBitPacked(Unity.Netcode.FastBufferWriter
writer, System.Int32 value)
IL_00C5: ldloc 2 (Unity.Netcode.FastBufferWriter)
IL_00C9: ldarg 5
IL_00CD: call static System.Void
Unity.Netcode.BytePacker::WriteValueBitPacked(Unity.Netcode.FastBufferWriter
writer, System.Int32 value)
IL_00D2: nop
IL_00D3: ldarg.0
IL_00D4: ldloca 2 (Unity.Netcode.FastBufferWriter)
IL_00D8: ldc.i4 168339603
IL_00DD: ldloc 3 (Unity.Netcode.ClientRpcParams)
IL_00E1: ldc.i4 0
IL_00E6: call System.Void
Unity.Netcode.NetworkBehaviour::__endSendClientRpc(Unity.Netcode.FastBufferWriter&
bufferWriter, System.UInt32 rpcMethodId, Unity.Netcode.ClientRpcParams
clientRpcParams, Unity.Netcode.RpcDelivery rpcDelivery)
IL_00EB: Label2
IL_00EB: Label4
IL_00EB: nop
IL_00EC: ldarg.0
IL_00ED: ldfld Unity.Netcode.__RpcExecStage
Unity.Netcode.NetworkBehaviour::__rpc_exec_stage
IL_00F2: ldc.i4 2
IL_00F7: ceq
IL_00F9: brfalse => Label5
IL_00FE: ldloc 1 (Unity.Netcode.NetworkManager)
IL_0102: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsClient()
IL_0107: brtrue => Label6
IL_010C: ldloc 1 (Unity.Netcode.NetworkManager)
IL_0110: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsHost()
IL_0115: brtrue => Label7
IL_011A: Label5
IL_011A: br => Label14
IL_011F: Label6
IL_011F: Label7
IL_011F: nop
IL_0120: call static StartOfRound StartOfRound::get_Instance()
IL_0125: ldfld EndOfGameStats StartOfRound::gameStats
IL_012A: dup
IL_012B: ldfld System.Int32 EndOfGameStats::deaths
IL_0130: ldc.i4.1
IL_0131: add
IL_0132: stfld System.Int32 EndOfGameStats::deaths
IL_0137: ldstr "A player died. player object: "
IL_013C: ldarg.0
IL_013D: call UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_0142: callvirt System.String UnityEngine.Object::get_name()
IL_0147: call static System.String System.String::Concat(System.String str0,
System.String str1)
IL_014C: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_0151: ldarg.0
IL_0152: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsServer()
IL_0157: brtrue => Label8
IL_015C: ldstr "Setting living players minus one."
IL_0161: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_0166: ldarg.0
IL_0167: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_016C: dup
IL_016D: ldfld System.Int32 StartOfRound::livingPlayers
IL_0172: ldc.i4.1
IL_0173: sub
IL_0174: stfld System.Int32 StartOfRound::livingPlayers
IL_0179: ldarg.0
IL_017A: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_017F: ldfld System.Int32 StartOfRound::livingPlayers
IL_0184: box System.Int32
IL_0189: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_018E: ldarg.0
IL_018F: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_0194: ldfld System.Int32 StartOfRound::livingPlayers
IL_0199: brtrue => Label9
IL_019E: ldarg.0
IL_019F: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_01A4: ldc.i4.1
IL_01A5: stfld System.Boolean StartOfRound::allPlayersDead
IL_01AA: ldarg.0
IL_01AB: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_01B0: ldc.i4.0
IL_01B1: callvirt System.Void StartOfRound::ShipLeaveAutomatically(System.Boolean
leavingOnMidnight)
IL_01B6: Label8
IL_01B6: Label9
IL_01B6: ldarg.0
IL_01B7: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_01BC: ldfld UnityEngine.GameObject[] StartOfRound::allPlayerObjects
IL_01C1: ldarg.1
IL_01C2: ldelem.ref
IL_01C3: callvirt GameNetcodeStuff.PlayerControllerB
UnityEngine.GameObject::GetComponent()
IL_01C8: stloc.0
IL_01C9: ldloc.0
IL_01CA: ldc.i4.0
IL_01CB: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::bleedingHeavily
IL_01D0: ldarg.0
IL_01D1: ldfld UnityEngine.AudioSource
GameNetcodeStuff.PlayerControllerB::statusEffectAudio
IL_01D6: callvirt System.Void UnityEngine.AudioSource::Stop()
IL_01DB: ldarg.0
IL_01DC: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsOwner()
IL_01E1: ldc.i4.0
IL_01E2: ceq
IL_01E4: ldarg.2
IL_01E5: and
IL_01E6: brfalse => Label10
IL_01EB: ldarg.0
IL_01EC: ldarg.1
IL_01ED: ldarg.3
IL_01EE: ldarg.s 4
IL_01F0: ldloc.0
IL_01F1: ldarg.s 5
IL_01F3: ldnull
IL_01F4: call System.Void
GameNetcodeStuff.PlayerControllerB::SpawnDeadBody(System.Int32 playerId,
UnityEngine.Vector3 bodyVelocity, System.Int32 causeOfDeath,
GameNetcodeStuff.PlayerControllerB deadPlayerController, System.Int32
deathAnimation, UnityEngine.Transform overridePosition)
IL_01F9: ldarg.0
IL_01FA: ldarg.2
IL_01FB: ldc.i4.0
IL_01FC: call System.Void
GameNetcodeStuff.PlayerControllerB::DropAllHeldItems(System.Boolean itemsFall,
System.Boolean disconnecting)
IL_0201: Label10
IL_0201: ldarg.0
IL_0202: ldloc.0
IL_0203: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0208: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_020D: stfld UnityEngine.Vector3
GameNetcodeStuff.PlayerControllerB::placeOfDeath
IL_0212: ldarg.0
IL_0213: ldarg.0
IL_0214: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_0219: ldfld UnityEngine.GameObject[] StartOfRound::allPlayerObjects
IL_021E: ldarg.1
IL_021F: ldelem.ref
IL_0220: ldc.i4.0
IL_0221: ldc.i4.0
IL_0222: call System.Void
GameNetcodeStuff.PlayerControllerB::DisablePlayerModel(UnityEngine.GameObject
playerObject, System.Boolean enable, System.Boolean disableLocalArms)
IL_0227: ldloc.0
IL_0228: ldc.i4.1
IL_0229: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::setPositionOfDeadPlayer
IL_022E: ldloc.0
IL_022F: ldc.i4.1
IL_0230: stfld System.Boolean GameNetcodeStuff.PlayerControllerB::isPlayerDead
IL_0235: ldloc.0
IL_0236: ldc.i4.0
IL_0237: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isPlayerControlled
IL_023C: ldloc.0
IL_023D: ldc.i4.0
IL_023E: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::snapToServerPosition
IL_0243: ldloc.0
IL_0244: ldc.i4.0
IL_0245: stfld System.Boolean GameNetcodeStuff.PlayerControllerB::isUnderwater
IL_024A: ldloc.0
IL_024B: ldc.i4.0
IL_024C: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isHoldingObject
IL_0251: ldloc.0
IL_0252: ldnull
IL_0253: stfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::currentlyHeldObjectServer
IL_0258: call static SoundManager SoundManager::get_Instance()
IL_025D: ldfld System.Single[] SoundManager::playerVoicePitchTargets
IL_0262: ldarg.1
IL_0263: ldc.r4 1
IL_0268: stelem.r4
IL_0269: call static SoundManager SoundManager::get_Instance()
IL_026E: ldfld System.Single[] SoundManager::playerVoicePitchLerpSpeed
IL_0273: ldarg.1
IL_0274: ldc.r4 3
IL_0279: stelem.r4
IL_027A: ldloc.0
IL_027B: ldarg.s 4
IL_027D: stfld CauseOfDeath GameNetcodeStuff.PlayerControllerB::causeOfDeath
IL_0282: ldarg.0
IL_0283: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsOwner()
IL_0288: brtrue => Label11
IL_028D: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_0292: ldfld GameNetcodeStuff.PlayerControllerB
GameNetworkManager::localPlayerController
IL_0297: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isPlayerDead
IL_029C: brfalse => Label12
IL_02A1: call static HUDManager HUDManager::get_Instance()
IL_02A6: callvirt System.Void HUDManager::UpdateBoxesSpectateUI()
IL_02AB: Label11
IL_02AB: Label12
IL_02AB: call static StartOfRound StartOfRound::get_Instance()
IL_02B0: callvirt System.Void StartOfRound::UpdatePlayerVoiceEffects()
IL_02B5: // end original
IL_02B5: Label13
IL_02B5: Label14
IL_02B5: ret
DONE

### Patch: System.Boolean


EnemyAI::PlayerIsTargetable(GameNetcodeStuff.PlayerControllerB playerScript,
System.Boolean cannotBeInShip, System.Boolean overrideInsideFactoryCheck)
### Replacement: static System.Boolean
EnemyAI::EnemyAI.PlayerIsTargetable_Patch1(EnemyAI this,
GameNetcodeStuff.PlayerControllerB playerScript, System.Boolean cannotBeInShip,
System.Boolean overrideInsideFactoryCheck)
IL_0000: Local var 0: System.Boolean
IL_0000: Local var 1: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 0 (System.Boolean)
IL_0009: ldc.i4 0
IL_000E: stloc 1 (System.Boolean)
IL_0012: ldc.i4.1
IL_0013: stloc 1 (System.Boolean)
IL_0017: ldloc 1 (System.Boolean)
IL_001B: brfalse => Label1
IL_0020: ldloca 0 (System.Boolean)
IL_0024: ldarg.0
IL_0025: ldarg 1
IL_0029: ldarg 2
IL_002D: ldarg 3
IL_0031: call static System.Boolean
LethalMenu.Cheats.GhostMode::PlayerIsTargetablePrefix(System.Boolean& __result,
EnemyAI __instance, GameNetcodeStuff.PlayerControllerB playerScript, System.Boolean
cannotBeInShip, System.Boolean overrideInsideFactoryCheck)
IL_0036: stloc 1 (System.Boolean)
IL_003A: Label1
IL_003A: nop
IL_003B: ldloc 1 (System.Boolean)
IL_003F: brfalse => Label0
IL_0044: // start original
IL_0044: ldarg.2
IL_0045: brfalse => Label2
IL_004A: ldarg.1
IL_004B: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isInHangarShipRoom
IL_0050: brfalse => Label3
IL_0055: ldc.i4.0
IL_0056: br => Label12
IL_005B: Label2
IL_005B: Label3
IL_005B: ldarg.1
IL_005C: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isPlayerControlled
IL_0061: brfalse => Label4
IL_0066: ldarg.1
IL_0067: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isPlayerDead
IL_006C: brtrue => Label5
IL_0071: ldarg.1
IL_0072: ldfld EnemyAI
GameNetcodeStuff.PlayerControllerB::inAnimationWithEnemy
IL_0077: ldnull
IL_0078: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_007D: brfalse => Label6
IL_0082: ldarg.3
IL_0083: brtrue => Label7
IL_0088: ldarg.1
IL_0089: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isInsideFactory
IL_008E: ldarg.0
IL_008F: ldfld System.Boolean EnemyAI::isOutside
IL_0094: beq => Label8
IL_0099: Label7
IL_0099: ldarg.1
IL_009A: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sinkingValue
IL_009F: ldc.r4 0.73
IL_00A4: bge.un => Label9
IL_00A9: ldarg.0
IL_00AA: ldfld System.Boolean EnemyAI::isOutside
IL_00AF: brfalse => Label10
IL_00B4: call static StartOfRound StartOfRound::get_Instance()
IL_00B9: ldfld System.Boolean StartOfRound::hangarDoorsClosed
IL_00BE: brfalse => Label11
IL_00C3: ldarg.1
IL_00C4: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isInHangarShipRoom
IL_00C9: ldarg.0
IL_00CA: ldfld System.Boolean EnemyAI::isInsidePlayerShip
IL_00CF: ceq
IL_00D1: br => Label13
IL_00D6: Label10
IL_00D6: Label11
IL_00D6: ldc.i4.1
IL_00D7: br => Label14
IL_00DC: Label4
IL_00DC: Label5
IL_00DC: Label6
IL_00DC: Label8
IL_00DC: Label9
IL_00DC: ldc.i4.0
IL_00DD: // end original
IL_00DD: Label12
IL_00DD: Label13
IL_00DD: Label14
IL_00DD: stloc 0 (System.Boolean)
IL_00E1: Label0
IL_00E1: ldloc 0 (System.Boolean)
IL_00E5: ret
DONE

### Patch: System.Void


GameNetcodeStuff.PlayerControllerB::DamagePlayer(System.Int32 damageNumber,
System.Boolean hasDamageSFX, System.Boolean callRPC, CauseOfDeath causeOfDeath,
System.Int32 deathAnimation, System.Boolean fallDamage, UnityEngine.Vector3 force)
### Replacement: static System.Void
GameNetcodeStuff.PlayerControllerB::GameNetcodeStuff.PlayerControllerB.DamagePlayer
_Patch1(GameNetcodeStuff.PlayerControllerB this, System.Int32 damageNumber,
System.Boolean hasDamageSFX, System.Boolean callRPC, CauseOfDeath causeOfDeath,
System.Int32 deathAnimation, System.Boolean fallDamage, UnityEngine.Vector3 force)
IL_0000: Local var 0: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 0 (System.Boolean)
IL_0009: ldc.i4.1
IL_000A: stloc 0 (System.Boolean)
IL_000E: ldloc 0 (System.Boolean)
IL_0012: brfalse => Label1
IL_0017: ldarg 1
IL_001B: ldarg 2
IL_001F: ldarg 3
IL_0023: ldarg 4
IL_0027: ldarg 5
IL_002B: ldarg 6
IL_002F: ldarg 7
IL_0033: call static System.Boolean
LethalMenu.Cheats.GodMode::PrefixDamagePlayer(System.Int32 damageNumber,
System.Boolean hasDamageSFX, System.Boolean callRPC, CauseOfDeath causeOfDeath,
System.Int32 deathAnimation, System.Boolean fallDamage, UnityEngine.Vector3 force)
IL_0038: stloc 0 (System.Boolean)
IL_003C: Label1
IL_003C: nop
IL_003D: ldloc 0 (System.Boolean)
IL_0041: brfalse => Label0
IL_0046: // start original
IL_0046: ldarg.0
IL_0047: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsOwner()
IL_004C: brtrue => Label2
IL_0051: br => Label22
IL_0056: Label2
IL_0056: ldarg.0
IL_0057: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isPlayerDead
IL_005C: brfalse => Label3
IL_0061: br => Label23
IL_0066: Label3
IL_0066: ldarg.0
IL_0067: call System.Boolean
GameNetcodeStuff.PlayerControllerB::AllowPlayerDeath()
IL_006C: brtrue => Label4
IL_0071: br => Label24
IL_0076: Label4
IL_0076: ldarg.0
IL_0077: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_007C: ldarg.1
IL_007D: sub
IL_007E: ldc.i4.0
IL_007F: bgt => Label5
IL_0084: ldarg.0
IL_0085: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::criticallyInjured
IL_008A: brtrue => Label6
IL_008F: ldarg.1
IL_0090: ldc.i4.s 50
IL_0092: bge => Label7
IL_0097: ldarg.0
IL_0098: ldc.i4.5
IL_0099: stfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_009E: br => Label8
IL_00A3: Label5
IL_00A3: Label6
IL_00A3: Label7
IL_00A3: ldarg.0
IL_00A4: ldarg.0
IL_00A5: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_00AA: ldarg.1
IL_00AB: sub
IL_00AC: ldc.i4.0
IL_00AD: ldc.i4.s 100
IL_00AF: call static System.Int32 UnityEngine.Mathf::Clamp(System.Int32
value, System.Int32 min, System.Int32 max)
IL_00B4: stfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_00B9: Label8
IL_00B9: ldstr "player\'s health after taking {0} damage: {1}"
IL_00BE: ldarg.1
IL_00BF: box System.Int32
IL_00C4: ldarg.0
IL_00C5: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_00CA: box System.Int32
IL_00CF: call static System.String System.String::Format(System.String
format, System.Object arg0, System.Object arg1)
IL_00D4: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_00D9: call static HUDManager HUDManager::get_Instance()
IL_00DE: ldarg.0
IL_00DF: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_00E4: ldc.i4.1
IL_00E5: callvirt System.Void HUDManager::UpdateHealthUI(System.Int32 health,
System.Boolean hurtPlayer)
IL_00EA: ldarg.0
IL_00EB: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_00F0: ldc.i4.0
IL_00F1: bgt => Label9
IL_00F6: ldarg.0
IL_00F7: ldarg.s 7
IL_00F9: ldc.i4.1
IL_00FA: ldarg.s 4
IL_00FC: ldarg.s 5
IL_00FE: call System.Void
GameNetcodeStuff.PlayerControllerB::KillPlayer(UnityEngine.Vector3 bodyVelocity,
System.Boolean spawnBody, CauseOfDeath causeOfDeath, System.Int32 deathAnimation)
IL_0103: br => Label10
IL_0108: Label9
IL_0108: ldarg.0
IL_0109: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_010E: ldc.i4.s 10
IL_0110: bge => Label11
IL_0115: ldarg.0
IL_0116: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::criticallyInjured
IL_011B: brtrue => Label12
IL_0120: call static HUDManager HUDManager::get_Instance()
IL_0125: ldc.i4.1
IL_0126: callvirt System.Void HUDManager::ShakeCamera(ScreenShakeType shakeType)
IL_012B: ldarg.0
IL_012C: ldc.i4.1
IL_012D: call System.Void
GameNetcodeStuff.PlayerControllerB::MakeCriticallyInjured(System.Boolean enable)
IL_0132: br => Label13
IL_0137: Label11
IL_0137: Label12
IL_0137: ldarg.1
IL_0138: ldc.i4.s 30
IL_013A: ble => Label14
IL_013F: ldarg.0
IL_0140: ldarg.0
IL_0141: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_0146: ldarg.1
IL_0147: conv.r4
IL_0148: ldc.r4 125
IL_014D: div
IL_014E: add
IL_014F: ldc.r4 0
IL_0154: ldc.r4 1
IL_0159: call static System.Single UnityEngine.Mathf::Clamp(System.Single
value, System.Single min, System.Single max)
IL_015E: stfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_0163: Label14
IL_0163: ldarg.3
IL_0164: brfalse => Label15
IL_0169: ldarg.0
IL_016A: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsServer()
IL_016F: brfalse => Label16
IL_0174: ldarg.0
IL_0175: ldarg.1
IL_0176: ldarg.0
IL_0177: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_017C: call System.Void
GameNetcodeStuff.PlayerControllerB::DamagePlayerClientRpc(System.Int32
damageNumber, System.Int32 newHealthAmount)
IL_0181: br => Label17
IL_0186: Label16
IL_0186: ldarg.0
IL_0187: ldarg.1
IL_0188: ldarg.0
IL_0189: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_018E: call System.Void
GameNetcodeStuff.PlayerControllerB::DamagePlayerServerRpc(System.Int32
damageNumber, System.Int32 newHealthAmount)
IL_0193: Label13
IL_0193: Label15
IL_0193: Label17
IL_0193: ldarg.s 6
IL_0195: brfalse => Label18
IL_019A: call static HUDManager HUDManager::get_Instance()
IL_019F: ldfld UnityEngine.AudioSource HUDManager::UIAudio
IL_01A4: call static StartOfRound StartOfRound::get_Instance()
IL_01A9: ldfld UnityEngine.AudioClip StartOfRound::fallDamageSFX
IL_01AE: ldc.r4 1
IL_01B3: callvirt System.Void
UnityEngine.AudioSource::PlayOneShot(UnityEngine.AudioClip clip, System.Single
volumeScale)
IL_01B8: ldarg.0
IL_01B9: ldfld UnityEngine.AudioSource
GameNetcodeStuff.PlayerControllerB::movementAudio
IL_01BE: call static StartOfRound StartOfRound::get_Instance()
IL_01C3: ldfld UnityEngine.AudioClip StartOfRound::fallDamageSFX
IL_01C8: ldc.r4 1
IL_01CD: call static System.Void
WalkieTalkie::TransmitOneShotAudio(UnityEngine.AudioSource audioSource,
UnityEngine.AudioClip clip, System.Single vol)
IL_01D2: ldarg.0
IL_01D3: call System.Void
GameNetcodeStuff.PlayerControllerB::BreakLegsSFXClientRpc()
IL_01D8: br => Label19
IL_01DD: Label18
IL_01DD: ldarg.2
IL_01DE: brfalse => Label20
IL_01E3: call static HUDManager HUDManager::get_Instance()
IL_01E8: ldfld UnityEngine.AudioSource HUDManager::UIAudio
IL_01ED: call static StartOfRound StartOfRound::get_Instance()
IL_01F2: ldfld UnityEngine.AudioClip StartOfRound::damageSFX
IL_01F7: ldc.r4 1
IL_01FC: callvirt System.Void
UnityEngine.AudioSource::PlayOneShot(UnityEngine.AudioClip clip, System.Single
volumeScale)
IL_0201: Label10
IL_0201: Label19
IL_0201: Label20
IL_0201: ldarg.0
IL_0202: ldc.i4.0
IL_0203: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::takingFallDamage
IL_0208: ldarg.0
IL_0209: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::inSpecialInteractAnimation
IL_020E: brtrue => Label21
IL_0213: ldarg.0
IL_0214: ldfld UnityEngine.Animator
GameNetcodeStuff.PlayerControllerB::playerBodyAnimator
IL_0219: ldstr "Damage"
IL_021E: callvirt System.Void UnityEngine.Animator::SetTrigger(System.String
name)
IL_0223: Label21
IL_0223: ldarg.0
IL_0224: ldc.r4 1
IL_0229: stfld System.Single
GameNetcodeStuff.PlayerControllerB::specialAnimationWeight
IL_022E: ldarg.0
IL_022F: ldc.r4 0.7
IL_0234: call System.Void
GameNetcodeStuff.PlayerControllerB::PlayQuickSpecialAnimation(System.Single
animTime)
IL_0239: // end original
IL_0239: Label22
IL_0239: Label23
IL_0239: Label24
IL_0239: Label0
IL_0239: ret
DONE

### Patch: System.Void


GameNetcodeStuff.PlayerControllerB::KillPlayer(UnityEngine.Vector3 bodyVelocity,
System.Boolean spawnBody, CauseOfDeath causeOfDeath, System.Int32 deathAnimation)
### Replacement: static System.Void
GameNetcodeStuff.PlayerControllerB::GameNetcodeStuff.PlayerControllerB.KillPlayer_P
atch1(GameNetcodeStuff.PlayerControllerB this, UnityEngine.Vector3 bodyVelocity,
System.Boolean spawnBody, CauseOfDeath causeOfDeath, System.Int32 deathAnimation)
IL_0000: Local var 0: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 0 (System.Boolean)
IL_0009: ldc.i4.1
IL_000A: stloc 0 (System.Boolean)
IL_000E: ldloc 0 (System.Boolean)
IL_0012: brfalse => Label1
IL_0017: ldarg 1
IL_001B: ldarg 2
IL_001F: ldarg 3
IL_0023: ldarg 4
IL_0027: call static System.Boolean
LethalMenu.Cheats.GodMode::PrefixKillPlayer(UnityEngine.Vector3 bodyVelocity,
System.Boolean spawnBody, CauseOfDeath causeOfDeath, System.Int32 deathAnimation)
IL_002C: stloc 0 (System.Boolean)
IL_0030: Label1
IL_0030: nop
IL_0031: ldloc 0 (System.Boolean)
IL_0035: brfalse => Label0
IL_003A: // start original
IL_003A: ldarg.0
IL_003B: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsOwner()
IL_0040: brtrue => Label2
IL_0045: br => Label6
IL_004A: Label2
IL_004A: ldarg.0
IL_004B: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isPlayerDead
IL_0050: brfalse => Label3
IL_0055: br => Label7
IL_005A: Label3
IL_005A: ldarg.0
IL_005B: call System.Boolean
GameNetcodeStuff.PlayerControllerB::AllowPlayerDeath()
IL_0060: brtrue => Label4
IL_0065: br => Label8
IL_006A: Label4
IL_006A: ldarg.0
IL_006B: ldc.i4.1
IL_006C: stfld System.Boolean GameNetcodeStuff.PlayerControllerB::isPlayerDead
IL_0071: ldarg.0
IL_0072: ldc.i4.0
IL_0073: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isPlayerControlled
IL_0078: ldarg.0
IL_0079: ldfld UnityEngine.SkinnedMeshRenderer
GameNetcodeStuff.PlayerControllerB::thisPlayerModelArms
IL_007E: ldc.i4.0
IL_007F: callvirt System.Void UnityEngine.Renderer::set_enabled(System.Boolean
value)
IL_0084: ldarg.0
IL_0085: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::localVisor
IL_008A: ldarg.0
IL_008B: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_0090: ldfld UnityEngine.Transform StartOfRound::notSpawnedPosition
IL_0095: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_009A: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_009F: ldarg.0
IL_00A0: ldarg.0
IL_00A1: call UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_00A6: ldc.i4.0
IL_00A7: ldc.i4.0
IL_00A8: call System.Void
GameNetcodeStuff.PlayerControllerB::DisablePlayerModel(UnityEngine.GameObject
playerObject, System.Boolean enable, System.Boolean disableLocalArms)
IL_00AD: ldarg.0
IL_00AE: ldc.i4.0
IL_00AF: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isInsideFactory
IL_00B4: ldarg.0
IL_00B5: ldc.i4.0
IL_00B6: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::IsInspectingItem
IL_00BB: ldarg.0
IL_00BC: ldc.i4.0
IL_00BD: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::inTerminalMenu
IL_00C2: ldarg.0
IL_00C3: ldc.i4.0
IL_00C4: stfld System.Boolean GameNetcodeStuff.PlayerControllerB::twoHanded
IL_00C9: ldarg.0
IL_00CA: ldc.r4 1
IL_00CF: stfld System.Single GameNetcodeStuff.PlayerControllerB::carryWeight
IL_00D4: ldarg.0
IL_00D5: ldc.r4 0
IL_00DA: stfld System.Single GameNetcodeStuff.PlayerControllerB::fallValue
IL_00DF: ldarg.0
IL_00E0: ldc.r4 0
IL_00E5: stfld System.Single
GameNetcodeStuff.PlayerControllerB::fallValueUncapped
IL_00EA: ldarg.0
IL_00EB: ldc.i4.0
IL_00EC: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::takingFallDamage
IL_00F1: ldarg.0
IL_00F2: ldc.i4.0
IL_00F3: stfld System.Boolean GameNetcodeStuff.PlayerControllerB::isSinking
IL_00F8: ldarg.0
IL_00F9: ldc.i4.0
IL_00FA: stfld System.Boolean GameNetcodeStuff.PlayerControllerB::isUnderwater
IL_00FF: call static StartOfRound StartOfRound::get_Instance()
IL_0104: ldc.r4 1
IL_0109: stfld System.Single StartOfRound::drowningTimer
IL_010E: call static HUDManager HUDManager::get_Instance()
IL_0113: ldc.i4.0
IL_0114: stfld System.Boolean HUDManager::setUnderwaterFilter
IL_0119: ldarg.0
IL_011A: ldc.i4.0
IL_011B: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::wasUnderwaterLastFrame
IL_0120: ldarg.0
IL_0121: ldc.i4.0
IL_0122: stfld System.Int32
GameNetcodeStuff.PlayerControllerB::sourcesCausingSinking
IL_0127: ldarg.0
IL_0128: ldc.r4 0
IL_012D: stfld System.Single GameNetcodeStuff.PlayerControllerB::sinkingValue
IL_0132: ldarg.0
IL_0133: ldc.r4 1
IL_0138: stfld System.Single
GameNetcodeStuff.PlayerControllerB::hinderedMultiplier
IL_013D: ldarg.0
IL_013E: ldc.i4.0
IL_013F: stfld System.Int32
GameNetcodeStuff.PlayerControllerB::isMovementHindered
IL_0144: ldarg.0
IL_0145: ldnull
IL_0146: stfld EnemyAI
GameNetcodeStuff.PlayerControllerB::inAnimationWithEnemy
IL_014B: call static Terminal UnityEngine.Object::FindObjectOfType()
IL_0150: ldc.i4.0
IL_0151: stfld System.Boolean Terminal::terminalInUse
IL_0156: ldarg.0
IL_0157: ldarg.0
IL_0158: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_015D: ldfld UnityEngine.Camera StartOfRound::spectateCamera
IL_0162: callvirt UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_0167: call System.Void
GameNetcodeStuff.PlayerControllerB::ChangeAudioListenerToObject(UnityEngine.GameObj
ect addToObject)
IL_016C: call static SoundManager SoundManager::get_Instance()
IL_0171: ldc.i4.0
IL_0172: ldc.r4 1
IL_0177: callvirt System.Void SoundManager::SetDiageticMixerSnapshot(System.Int32
snapshotID, System.Single transitionTime)
IL_017C: call static HUDManager HUDManager::get_Instance()
IL_0181: ldc.i4.1
IL_0182: callvirt System.Void
HUDManager::SetNearDepthOfFieldEnabled(System.Boolean enabled)
IL_0187: call static HUDManager HUDManager::get_Instance()
IL_018C: ldfld UnityEngine.Animator HUDManager::HUDAnimator
IL_0191: ldstr "biohazardDamage"
IL_0196: ldc.i4.0
IL_0197: callvirt System.Void UnityEngine.Animator::SetBool(System.String name,
System.Boolean value)
IL_019C: ldstr "Running kill player function for LOCAL client, player object:
"
IL_01A1: ldarg.0
IL_01A2: call UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_01A7: callvirt System.String UnityEngine.Object::get_name()
IL_01AC: call static System.String System.String::Concat(System.String str0,
System.String str1)
IL_01B1: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_01B6: call static HUDManager HUDManager::get_Instance()
IL_01BB: ldfld UnityEngine.Animator HUDManager::gameOverAnimator
IL_01C0: ldstr "gameOver"
IL_01C5: callvirt System.Void UnityEngine.Animator::SetTrigger(System.String
name)
IL_01CA: call static HUDManager HUDManager::get_Instance()
IL_01CF: ldc.i4.1
IL_01D0: callvirt System.Void HUDManager::HideHUD(System.Boolean hide)
IL_01D5: ldarg.0
IL_01D6: call System.Void
GameNetcodeStuff.PlayerControllerB::StopHoldInteractionOnTrigger()
IL_01DB: ldarg.0
IL_01DC: ldarg.0
IL_01DD: ldfld System.UInt64
GameNetcodeStuff.PlayerControllerB::playerClientId
IL_01E2: conv.i4
IL_01E3: ldarg.2
IL_01E4: ldarg.1
IL_01E5: ldarg.3
IL_01E6: ldarg.s 4
IL_01E8: call System.Void
GameNetcodeStuff.PlayerControllerB::KillPlayerServerRpc(System.Int32 playerId,
System.Boolean spawnBody, UnityEngine.Vector3 bodyVelocity, System.Int32
causeOfDeath, System.Int32 deathAnimation)
IL_01ED: ldarg.2
IL_01EE: brfalse => Label5
IL_01F3: ldarg.0
IL_01F4: ldarg.0
IL_01F5: ldfld System.UInt64
GameNetcodeStuff.PlayerControllerB::playerClientId
IL_01FA: conv.i4
IL_01FB: ldarg.1
IL_01FC: ldarg.3
IL_01FD: ldarg.0
IL_01FE: ldarg.s 4
IL_0200: ldnull
IL_0201: call System.Void
GameNetcodeStuff.PlayerControllerB::SpawnDeadBody(System.Int32 playerId,
UnityEngine.Vector3 bodyVelocity, System.Int32 causeOfDeath,
GameNetcodeStuff.PlayerControllerB deadPlayerController, System.Int32
deathAnimation, UnityEngine.Transform overridePosition)
IL_0206: Label5
IL_0206: call static StartOfRound StartOfRound::get_Instance()
IL_020B: call static StartOfRound StartOfRound::get_Instance()
IL_0210: ldfld UnityEngine.Camera StartOfRound::spectateCamera
IL_0215: callvirt System.Void StartOfRound::SwitchCamera(UnityEngine.Camera
newCamera)
IL_021A: ldarg.0
IL_021B: ldc.r4 1.5
IL_0220: stfld System.Single
GameNetcodeStuff.PlayerControllerB::isInGameOverAnimation
IL_0225: ldarg.0
IL_0226: ldfld TMPro.TextMeshProUGUI
GameNetcodeStuff.PlayerControllerB::cursorTip
IL_022B: ldstr ""
IL_0230: callvirt virtual System.Void TMPro.TMP_Text::set_text(System.String
value)
IL_0235: ldarg.0
IL_0236: ldfld UnityEngine.UI.Image
GameNetcodeStuff.PlayerControllerB::cursorIcon
IL_023B: ldc.i4.0
IL_023C: callvirt System.Void UnityEngine.Behaviour::set_enabled(System.Boolean
value)
IL_0241: ldarg.0
IL_0242: ldarg.2
IL_0243: ldc.i4.0
IL_0244: call System.Void
GameNetcodeStuff.PlayerControllerB::DropAllHeldItems(System.Boolean itemsFall,
System.Boolean disconnecting)
IL_0249: ldarg.0
IL_024A: call System.Void
GameNetcodeStuff.PlayerControllerB::DisableJetpackControlsLocally()
IL_024F: // end original
IL_024F: Label6
IL_024F: Label7
IL_024F: Label8
IL_024F: Label0
IL_024F: ret
DONE

### Patch: System.Void FlowermanAI::KillPlayerAnimationServerRpc(System.Int32


playerObjectId)
### Replacement: static System.Void
FlowermanAI::FlowermanAI.KillPlayerAnimationServerRpc_Patch1(FlowermanAI this,
System.Int32 playerObjectId)
IL_0000: Local var 0: Unity.Netcode.NetworkManager
IL_0000: Local var 1: Unity.Netcode.FastBufferWriter
IL_0000: Local var 2: Unity.Netcode.ServerRpcParams
IL_0000: Local var 3: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 3 (System.Boolean)
IL_0009: ldc.i4.1
IL_000A: stloc 3 (System.Boolean)
IL_000E: ldloc 3 (System.Boolean)
IL_0012: brfalse => Label1
IL_0017: ldarg 1
IL_001B: call static System.Boolean
LethalMenu.Cheats.GodMode::PrefixFlowermanKill(System.Int32 playerObjectId)
IL_0020: stloc 3 (System.Boolean)
IL_0024: Label1
IL_0024: nop
IL_0025: ldloc 3 (System.Boolean)
IL_0029: brfalse => Label0
IL_002E: // start original
IL_002E: ldarg.0
IL_002F: call Unity.Netcode.NetworkManager
Unity.Netcode.NetworkBehaviour::get_NetworkManager()
IL_0034: stloc 0 (Unity.Netcode.NetworkManager)
IL_0038: ldloc 0 (Unity.Netcode.NetworkManager)
IL_003C: brfalse => Label2
IL_0041: ldloc 0 (Unity.Netcode.NetworkManager)
IL_0045: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsListening()
IL_004A: brtrue => Label3
IL_004F: Label2
IL_004F: br => Label12
IL_0054: Label3
IL_0054: nop
IL_0055: ldarg.0
IL_0056: ldfld Unity.Netcode.__RpcExecStage
Unity.Netcode.NetworkBehaviour::__rpc_exec_stage
IL_005B: ldc.i4 1
IL_0060: ceq
IL_0062: ldc.i4 0
IL_0067: ceq
IL_0069: brfalse => Label4
IL_006E: ldloc 0 (Unity.Netcode.NetworkManager)
IL_0072: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsClient()
IL_0077: brtrue => Label5
IL_007C: ldloc 0 (Unity.Netcode.NetworkManager)
IL_0080: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsHost()
IL_0085: brfalse => Label6
IL_008A: Label5
IL_008A: nop
IL_008B: ldarg.0
IL_008C: ldc.i4 -1374265757
IL_0091: ldloc 2 (Unity.Netcode.ServerRpcParams)
IL_0095: ldc.i4 0
IL_009A: call Unity.Netcode.FastBufferWriter
Unity.Netcode.NetworkBehaviour::__beginSendServerRpc(System.UInt32 rpcMethodId,
Unity.Netcode.ServerRpcParams serverRpcParams, Unity.Netcode.RpcDelivery
rpcDelivery)
IL_009F: stloc 1 (Unity.Netcode.FastBufferWriter)
IL_00A3: ldloc 1 (Unity.Netcode.FastBufferWriter)
IL_00A7: ldarg 1
IL_00AB: call static System.Void
Unity.Netcode.BytePacker::WriteValueBitPacked(Unity.Netcode.FastBufferWriter
writer, System.Int32 value)
IL_00B0: nop
IL_00B1: ldarg.0
IL_00B2: ldloca 1 (Unity.Netcode.FastBufferWriter)
IL_00B6: ldc.i4 -1374265757
IL_00BB: ldloc 2 (Unity.Netcode.ServerRpcParams)
IL_00BF: ldc.i4 0
IL_00C4: call System.Void
Unity.Netcode.NetworkBehaviour::__endSendServerRpc(Unity.Netcode.FastBufferWriter&
bufferWriter, System.UInt32 rpcMethodId, Unity.Netcode.ServerRpcParams
serverRpcParams, Unity.Netcode.RpcDelivery rpcDelivery)
IL_00C9: Label4
IL_00C9: Label6
IL_00C9: nop
IL_00CA: ldarg.0
IL_00CB: ldfld Unity.Netcode.__RpcExecStage
Unity.Netcode.NetworkBehaviour::__rpc_exec_stage
IL_00D0: ldc.i4 1
IL_00D5: ceq
IL_00D7: brfalse => Label7
IL_00DC: ldloc 0 (Unity.Netcode.NetworkManager)
IL_00E0: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsServer()
IL_00E5: brtrue => Label8
IL_00EA: ldloc 0 (Unity.Netcode.NetworkManager)
IL_00EE: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsHost()
IL_00F3: brtrue => Label9
IL_00F8: Label7
IL_00F8: br => Label13
IL_00FD: Label8
IL_00FD: Label9
IL_00FD: nop
IL_00FE: ldarg.0
IL_00FF: ldfld System.Boolean FlowermanAI::inKillAnimation
IL_0104: brtrue => Label10
IL_0109: ldarg.0
IL_010A: ldfld System.Boolean FlowermanAI::carryingPlayerBody
IL_010F: brtrue => Label11
IL_0114: ldarg.0
IL_0115: ldc.i4.1
IL_0116: stfld System.Boolean FlowermanAI::inKillAnimation
IL_011B: ldarg.0
IL_011C: ldc.i4.1
IL_011D: stfld System.Boolean EnemyAI::inSpecialAnimation
IL_0122: ldarg.0
IL_0123: ldc.i4.0
IL_0124: stfld System.Boolean EnemyAI::isClientCalculatingAI
IL_0129: ldarg.0
IL_012A: call static StartOfRound StartOfRound::get_Instance()
IL_012F: ldfld GameNetcodeStuff.PlayerControllerB[]
StartOfRound::allPlayerScripts
IL_0134: ldarg.1
IL_0135: ldelem.ref
IL_0136: stfld GameNetcodeStuff.PlayerControllerB
EnemyAI::inSpecialAnimationWithPlayer
IL_013B: ldarg.0
IL_013C: ldfld GameNetcodeStuff.PlayerControllerB
EnemyAI::inSpecialAnimationWithPlayer
IL_0141: ldarg.0
IL_0142: stfld EnemyAI
GameNetcodeStuff.PlayerControllerB::inAnimationWithEnemy
IL_0147: ldarg.0
IL_0148: ldarg.1
IL_0149: call System.Void
FlowermanAI::KillPlayerAnimationClientRpc(System.Int32 playerObjectId)
IL_014E: br => Label14
IL_0153: Label10
IL_0153: Label11
IL_0153: ldarg.0
IL_0154: ldarg.1
IL_0155: call System.Void
FlowermanAI::CancelKillAnimationClientRpc(System.Int32 playerObjectId)
IL_015A: // end original
IL_015A: Label12
IL_015A: Label13
IL_015A: Label14
IL_015A: Label0
IL_015A: ret
DONE

### Patch: System.Void ForestGiantAI::GrabPlayerServerRpc(System.Int32 playerId)


### Replacement: static System.Void
ForestGiantAI::ForestGiantAI.GrabPlayerServerRpc_Patch1(ForestGiantAI this,
System.Int32 playerId)
IL_0000: Local var 0: UnityEngine.Vector3
IL_0000: Local var 1: System.Int32
IL_0000: Local var 2: UnityEngine.RaycastHit
IL_0000: Local var 3: Unity.Netcode.NetworkManager
IL_0000: Local var 4: Unity.Netcode.FastBufferWriter
IL_0000: Local var 5: Unity.Netcode.ServerRpcParams
IL_0000: Local var 6: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 6 (System.Boolean)
IL_0009: ldc.i4.1
IL_000A: stloc 6 (System.Boolean)
IL_000E: ldloc 6 (System.Boolean)
IL_0012: brfalse => Label1
IL_0017: ldarg 1
IL_001B: call static System.Boolean
LethalMenu.Cheats.GodMode::PrefixGiantKill(System.Int32 playerId)
IL_0020: stloc 6 (System.Boolean)
IL_0024: Label1
IL_0024: nop
IL_0025: ldloc 6 (System.Boolean)
IL_0029: brfalse => Label0
IL_002E: // start original
IL_002E: ldarg.0
IL_002F: call Unity.Netcode.NetworkManager
Unity.Netcode.NetworkBehaviour::get_NetworkManager()
IL_0034: stloc 3 (Unity.Netcode.NetworkManager)
IL_0038: ldloc 3 (Unity.Netcode.NetworkManager)
IL_003C: brfalse => Label2
IL_0041: ldloc 3 (Unity.Netcode.NetworkManager)
IL_0045: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsListening()
IL_004A: brtrue => Label3
IL_004F: Label2
IL_004F: br => Label12
IL_0054: Label3
IL_0054: nop
IL_0055: ldarg.0
IL_0056: ldfld Unity.Netcode.__RpcExecStage
Unity.Netcode.NetworkBehaviour::__rpc_exec_stage
IL_005B: ldc.i4 1
IL_0060: ceq
IL_0062: ldc.i4 0
IL_0067: ceq
IL_0069: brfalse => Label4
IL_006E: ldloc 3 (Unity.Netcode.NetworkManager)
IL_0072: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsClient()
IL_0077: brtrue => Label5
IL_007C: ldloc 3 (Unity.Netcode.NetworkManager)
IL_0080: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsHost()
IL_0085: brfalse => Label6
IL_008A: Label5
IL_008A: nop
IL_008B: ldarg.0
IL_008C: ldc.i4 -1329039810
IL_0091: ldloc 5 (Unity.Netcode.ServerRpcParams)
IL_0095: ldc.i4 0
IL_009A: call Unity.Netcode.FastBufferWriter
Unity.Netcode.NetworkBehaviour::__beginSendServerRpc(System.UInt32 rpcMethodId,
Unity.Netcode.ServerRpcParams serverRpcParams, Unity.Netcode.RpcDelivery
rpcDelivery)
IL_009F: stloc 4 (Unity.Netcode.FastBufferWriter)
IL_00A3: ldloc 4 (Unity.Netcode.FastBufferWriter)
IL_00A7: ldarg 1
IL_00AB: call static System.Void
Unity.Netcode.BytePacker::WriteValueBitPacked(Unity.Netcode.FastBufferWriter
writer, System.Int32 value)
IL_00B0: nop
IL_00B1: ldarg.0
IL_00B2: ldloca 4 (Unity.Netcode.FastBufferWriter)
IL_00B6: ldc.i4 -1329039810
IL_00BB: ldloc 5 (Unity.Netcode.ServerRpcParams)
IL_00BF: ldc.i4 0
IL_00C4: call System.Void
Unity.Netcode.NetworkBehaviour::__endSendServerRpc(Unity.Netcode.FastBufferWriter&
bufferWriter, System.UInt32 rpcMethodId, Unity.Netcode.ServerRpcParams
serverRpcParams, Unity.Netcode.RpcDelivery rpcDelivery)
IL_00C9: Label4
IL_00C9: Label6
IL_00C9: nop
IL_00CA: ldarg.0
IL_00CB: ldfld Unity.Netcode.__RpcExecStage
Unity.Netcode.NetworkBehaviour::__rpc_exec_stage
IL_00D0: ldc.i4 1
IL_00D5: ceq
IL_00D7: brfalse => Label7
IL_00DC: ldloc 3 (Unity.Netcode.NetworkManager)
IL_00E0: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsServer()
IL_00E5: brtrue => Label8
IL_00EA: ldloc 3 (Unity.Netcode.NetworkManager)
IL_00EE: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsHost()
IL_00F3: brtrue => Label9
IL_00F8: Label7
IL_00F8: br => Label13
IL_00FD: Label8
IL_00FD: Label9
IL_00FD: nop
IL_00FE: ldarg.0
IL_00FF: ldfld GameNetcodeStuff.PlayerControllerB
EnemyAI::inSpecialAnimationWithPlayer
IL_0104: ldnull
IL_0105: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_010A: brfalse => Label10
IL_010F: br => Label14
IL_0114: Label10
IL_0114: ldarg.0
IL_0115: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_011A: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_011F: stloc.0
IL_0120: ldarg.0
IL_0121: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0126: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_eulerAngles()
IL_012B: ldfld System.Single UnityEngine.Vector3::y
IL_0130: conv.i4
IL_0131: stloc.1
IL_0132: ldarg.0
IL_0133: ldfld UnityEngine.Transform ForestGiantAI::centerPosition
IL_0138: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_013D: ldarg.0
IL_013E: ldfld UnityEngine.Transform ForestGiantAI::centerPosition
IL_0143: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_forward()
IL_0148: ldloca.s 2 (UnityEngine.RaycastHit)
IL_014A: ldc.r4 6
IL_014F: call static StartOfRound StartOfRound::get_Instance()
IL_0154: ldfld System.Int32 StartOfRound::collidersAndRoomMaskAndDefault
IL_0159: ldc.i4.1
IL_015A: call static System.Boolean
UnityEngine.Physics::Raycast(UnityEngine.Vector3 origin, UnityEngine.Vector3
direction, UnityEngine.RaycastHit& hitInfo, System.Single maxDistance, System.Int32
layerMask, UnityEngine.QueryTriggerInteraction queryTriggerInteraction)
IL_015F: brfalse => Label11
IL_0164: call static RoundManager RoundManager::get_Instance()
IL_0169: ldloc.0
IL_016A: ldc.r4 20
IL_016F: ldc.i4.5
IL_0170: callvirt System.Single
RoundManager::YRotationThatFacesTheFarthestFromPosition(UnityEngine.Vector3 pos,
System.Single maxDistance, System.Int32 resolution)
IL_0175: conv.i4
IL_0176: stloc.1
IL_0177: Label11
IL_0177: ldarg.0
IL_0178: ldarg.1
IL_0179: ldloc.0
IL_017A: ldloc.1
IL_017B: call System.Void ForestGiantAI::GrabPlayerClientRpc(System.Int32
playerId, UnityEngine.Vector3 enemyPosition, System.Int32 enemyYRot)
IL_0180: // end original
IL_0180: Label12
IL_0180: Label13
IL_0180: Label14
IL_0180: Label0
IL_0180: ret
DONE

### Patch: System.Void JesterAI::KillPlayerServerRpc(System.Int32 playerId)


### Replacement: static System.Void
JesterAI::JesterAI.KillPlayerServerRpc_Patch1(JesterAI this, System.Int32 playerId)
IL_0000: Local var 0: Unity.Netcode.NetworkManager
IL_0000: Local var 1: Unity.Netcode.FastBufferWriter
IL_0000: Local var 2: Unity.Netcode.ServerRpcParams
IL_0000: Local var 3: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 3 (System.Boolean)
IL_0009: ldc.i4.1
IL_000A: stloc 3 (System.Boolean)
IL_000E: ldloc 3 (System.Boolean)
IL_0012: brfalse => Label1
IL_0017: ldarg 1
IL_001B: call static System.Boolean
LethalMenu.Cheats.GodMode::PrefixJesterKill(System.Int32 playerId)
IL_0020: stloc 3 (System.Boolean)
IL_0024: Label1
IL_0024: nop
IL_0025: ldloc 3 (System.Boolean)
IL_0029: brfalse => Label0
IL_002E: // start original
IL_002E: ldarg.0
IL_002F: call Unity.Netcode.NetworkManager
Unity.Netcode.NetworkBehaviour::get_NetworkManager()
IL_0034: stloc 0 (Unity.Netcode.NetworkManager)
IL_0038: ldloc 0 (Unity.Netcode.NetworkManager)
IL_003C: brfalse => Label2
IL_0041: ldloc 0 (Unity.Netcode.NetworkManager)
IL_0045: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsListening()
IL_004A: brtrue => Label3
IL_004F: Label2
IL_004F: br => Label12
IL_0054: Label3
IL_0054: nop
IL_0055: ldarg.0
IL_0056: ldfld Unity.Netcode.__RpcExecStage
Unity.Netcode.NetworkBehaviour::__rpc_exec_stage
IL_005B: ldc.i4 1
IL_0060: ceq
IL_0062: ldc.i4 0
IL_0067: ceq
IL_0069: brfalse => Label4
IL_006E: ldloc 0 (Unity.Netcode.NetworkManager)
IL_0072: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsClient()
IL_0077: brtrue => Label5
IL_007C: ldloc 0 (Unity.Netcode.NetworkManager)
IL_0080: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsHost()
IL_0085: brfalse => Label6
IL_008A: Label5
IL_008A: nop
IL_008B: ldarg.0
IL_008C: ldc.i4 -848723846
IL_0091: ldloc 2 (Unity.Netcode.ServerRpcParams)
IL_0095: ldc.i4 0
IL_009A: call Unity.Netcode.FastBufferWriter
Unity.Netcode.NetworkBehaviour::__beginSendServerRpc(System.UInt32 rpcMethodId,
Unity.Netcode.ServerRpcParams serverRpcParams, Unity.Netcode.RpcDelivery
rpcDelivery)
IL_009F: stloc 1 (Unity.Netcode.FastBufferWriter)
IL_00A3: ldloc 1 (Unity.Netcode.FastBufferWriter)
IL_00A7: ldarg 1
IL_00AB: call static System.Void
Unity.Netcode.BytePacker::WriteValueBitPacked(Unity.Netcode.FastBufferWriter
writer, System.Int32 value)
IL_00B0: nop
IL_00B1: ldarg.0
IL_00B2: ldloca 1 (Unity.Netcode.FastBufferWriter)
IL_00B6: ldc.i4 -848723846
IL_00BB: ldloc 2 (Unity.Netcode.ServerRpcParams)
IL_00BF: ldc.i4 0
IL_00C4: call System.Void
Unity.Netcode.NetworkBehaviour::__endSendServerRpc(Unity.Netcode.FastBufferWriter&
bufferWriter, System.UInt32 rpcMethodId, Unity.Netcode.ServerRpcParams
serverRpcParams, Unity.Netcode.RpcDelivery rpcDelivery)
IL_00C9: Label4
IL_00C9: Label6
IL_00C9: nop
IL_00CA: ldarg.0
IL_00CB: ldfld Unity.Netcode.__RpcExecStage
Unity.Netcode.NetworkBehaviour::__rpc_exec_stage
IL_00D0: ldc.i4 1
IL_00D5: ceq
IL_00D7: brfalse => Label7
IL_00DC: ldloc 0 (Unity.Netcode.NetworkManager)
IL_00E0: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsServer()
IL_00E5: brtrue => Label8
IL_00EA: ldloc 0 (Unity.Netcode.NetworkManager)
IL_00EE: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsHost()
IL_00F3: brtrue => Label9
IL_00F8: Label7
IL_00F8: br => Label13
IL_00FD: Label8
IL_00FD: Label9
IL_00FD: nop
IL_00FE: ldarg.0
IL_00FF: ldfld System.Boolean JesterAI::inKillAnimation
IL_0104: brfalse => Label10
IL_0109: call static StartOfRound StartOfRound::get_Instance()
IL_010E: ldfld GameNetcodeStuff.PlayerControllerB[]
StartOfRound::allPlayerScripts
IL_0113: ldarg.1
IL_0114: ldelem.ref
IL_0115: callvirt System.Boolean
Unity.Netcode.NetworkBehaviour::get_IsOwnedByServer()
IL_011A: brfalse => Label11
IL_011F: Label10
IL_011F: ldarg.0
IL_0120: ldc.i4.1
IL_0121: stfld System.Boolean JesterAI::inKillAnimation
IL_0126: ldarg.0
IL_0127: ldarg.1
IL_0128: call System.Void JesterAI::KillPlayerClientRpc(System.Int32
playerId)
IL_012D: br => Label14
IL_0132: Label11
IL_0132: ldarg.0
IL_0133: call System.Void JesterAI::CancelKillPlayerClientRpc()
IL_0138: // end original
IL_0138: Label12
IL_0138: Label13
IL_0138: Label14
IL_0138: Label0
IL_0138: ret
DONE

### Patch: System.Void MaskedPlayerEnemy::KillPlayerAnimationServerRpc(System.Int32


playerObjectId)
### Replacement: static System.Void
MaskedPlayerEnemy::MaskedPlayerEnemy.KillPlayerAnimationServerRpc_Patch1(MaskedPlay
erEnemy this, System.Int32 playerObjectId)
IL_0000: Local var 0: Unity.Netcode.NetworkManager
IL_0000: Local var 1: Unity.Netcode.FastBufferWriter
IL_0000: Local var 2: Unity.Netcode.ServerRpcParams
IL_0000: Local var 3: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 3 (System.Boolean)
IL_0009: ldc.i4.1
IL_000A: stloc 3 (System.Boolean)
IL_000E: ldloc 3 (System.Boolean)
IL_0012: brfalse => Label1
IL_0017: ldarg 1
IL_001B: call static System.Boolean
LethalMenu.Cheats.GodMode::PrefixMaskedPlayerKill(System.Int32 playerObjectId)
IL_0020: stloc 3 (System.Boolean)
IL_0024: Label1
IL_0024: nop
IL_0025: ldloc 3 (System.Boolean)
IL_0029: brfalse => Label0
IL_002E: // start original
IL_002E: ldarg.0
IL_002F: call Unity.Netcode.NetworkManager
Unity.Netcode.NetworkBehaviour::get_NetworkManager()
IL_0034: stloc 0 (Unity.Netcode.NetworkManager)
IL_0038: ldloc 0 (Unity.Netcode.NetworkManager)
IL_003C: brfalse => Label2
IL_0041: ldloc 0 (Unity.Netcode.NetworkManager)
IL_0045: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsListening()
IL_004A: brtrue => Label3
IL_004F: Label2
IL_004F: br => Label11
IL_0054: Label3
IL_0054: nop
IL_0055: ldarg.0
IL_0056: ldfld Unity.Netcode.__RpcExecStage
Unity.Netcode.NetworkBehaviour::__rpc_exec_stage
IL_005B: ldc.i4 1
IL_0060: ceq
IL_0062: ldc.i4 0
IL_0067: ceq
IL_0069: brfalse => Label4
IL_006E: ldloc 0 (Unity.Netcode.NetworkManager)
IL_0072: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsClient()
IL_0077: brtrue => Label5
IL_007C: ldloc 0 (Unity.Netcode.NetworkManager)
IL_0080: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsHost()
IL_0085: brfalse => Label6
IL_008A: Label5
IL_008A: nop
IL_008B: ldarg.0
IL_008C: ldc.i4 -1102464839
IL_0091: ldloc 2 (Unity.Netcode.ServerRpcParams)
IL_0095: ldc.i4 0
IL_009A: call Unity.Netcode.FastBufferWriter
Unity.Netcode.NetworkBehaviour::__beginSendServerRpc(System.UInt32 rpcMethodId,
Unity.Netcode.ServerRpcParams serverRpcParams, Unity.Netcode.RpcDelivery
rpcDelivery)
IL_009F: stloc 1 (Unity.Netcode.FastBufferWriter)
IL_00A3: ldloc 1 (Unity.Netcode.FastBufferWriter)
IL_00A7: ldarg 1
IL_00AB: call static System.Void
Unity.Netcode.BytePacker::WriteValueBitPacked(Unity.Netcode.FastBufferWriter
writer, System.Int32 value)
IL_00B0: nop
IL_00B1: ldarg.0
IL_00B2: ldloca 1 (Unity.Netcode.FastBufferWriter)
IL_00B6: ldc.i4 -1102464839
IL_00BB: ldloc 2 (Unity.Netcode.ServerRpcParams)
IL_00BF: ldc.i4 0
IL_00C4: call System.Void
Unity.Netcode.NetworkBehaviour::__endSendServerRpc(Unity.Netcode.FastBufferWriter&
bufferWriter, System.UInt32 rpcMethodId, Unity.Netcode.ServerRpcParams
serverRpcParams, Unity.Netcode.RpcDelivery rpcDelivery)
IL_00C9: Label4
IL_00C9: Label6
IL_00C9: nop
IL_00CA: ldarg.0
IL_00CB: ldfld Unity.Netcode.__RpcExecStage
Unity.Netcode.NetworkBehaviour::__rpc_exec_stage
IL_00D0: ldc.i4 1
IL_00D5: ceq
IL_00D7: brfalse => Label7
IL_00DC: ldloc 0 (Unity.Netcode.NetworkManager)
IL_00E0: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsServer()
IL_00E5: brtrue => Label8
IL_00EA: ldloc 0 (Unity.Netcode.NetworkManager)
IL_00EE: callvirt System.Boolean Unity.Netcode.NetworkManager::get_IsHost()
IL_00F3: brtrue => Label9
IL_00F8: Label7
IL_00F8: br => Label12
IL_00FD: Label8
IL_00FD: Label9
IL_00FD: nop
IL_00FE: ldarg.0
IL_00FF: ldfld System.Boolean MaskedPlayerEnemy::inKillAnimation
IL_0104: brtrue => Label10
IL_0109: ldarg.0
IL_010A: ldc.i4.1
IL_010B: stfld System.Boolean MaskedPlayerEnemy::inKillAnimation
IL_0110: ldarg.0
IL_0111: ldc.i4.1
IL_0112: stfld System.Boolean EnemyAI::inSpecialAnimation
IL_0117: ldarg.0
IL_0118: ldc.i4.0
IL_0119: stfld System.Boolean EnemyAI::isClientCalculatingAI
IL_011E: ldarg.0
IL_011F: call static StartOfRound StartOfRound::get_Instance()
IL_0124: ldfld GameNetcodeStuff.PlayerControllerB[]
StartOfRound::allPlayerScripts
IL_0129: ldarg.1
IL_012A: ldelem.ref
IL_012B: stfld GameNetcodeStuff.PlayerControllerB
EnemyAI::inSpecialAnimationWithPlayer
IL_0130: ldarg.0
IL_0131: ldfld GameNetcodeStuff.PlayerControllerB
EnemyAI::inSpecialAnimationWithPlayer
IL_0136: ldarg.0
IL_0137: stfld EnemyAI
GameNetcodeStuff.PlayerControllerB::inAnimationWithEnemy
IL_013C: ldarg.0
IL_013D: ldarg.1
IL_013E: call System.Void
MaskedPlayerEnemy::KillPlayerAnimationClientRpc(System.Int32 playerObjectId)
IL_0143: br => Label13
IL_0148: Label10
IL_0148: ldarg.0
IL_0149: ldarg.1
IL_014A: call System.Void
MaskedPlayerEnemy::CancelKillAnimationClientRpc(System.Int32 playerObjectId)
IL_014F: // end original
IL_014F: Label11
IL_014F: Label12
IL_014F: Label13
IL_014F: Label0
IL_014F: ret
DONE

### Patch: virtual System.Void MouthDogAI::OnCollideWithPlayer(UnityEngine.Collider


other)
### Replacement: static System.Void
MouthDogAI::MouthDogAI.OnCollideWithPlayer_Patch1(MouthDogAI this,
UnityEngine.Collider other)
IL_0000: Local var 0: GameNetcodeStuff.PlayerControllerB
IL_0000: Local var 1: UnityEngine.RaycastHit
IL_0000: Local var 2: UnityEngine.Vector3
IL_0000: Local var 3: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 3 (System.Boolean)
IL_0009: ldc.i4.1
IL_000A: stloc 3 (System.Boolean)
IL_000E: ldloc 3 (System.Boolean)
IL_0012: brfalse => Label1
IL_0017: ldarg.0
IL_0018: ldarg 1
IL_001C: call static System.Boolean
LethalMenu.Cheats.GodMode::PrefixDogKill(MouthDogAI __instance,
UnityEngine.Collider other)
IL_0021: stloc 3 (System.Boolean)
IL_0025: Label1
IL_0025: nop
IL_0026: ldloc 3 (System.Boolean)
IL_002A: brfalse => Label0
IL_002F: // start original
IL_002F: ldarg.0
IL_0030: ldarg.1
IL_0031: call virtual System.Void
EnemyAI::OnCollideWithPlayer(UnityEngine.Collider other)
IL_0036: ldarg.0
IL_0037: ldarg.1
IL_0038: ldarg.0
IL_0039: ldfld System.Boolean MouthDogAI::inKillAnimation
IL_003E: ldc.i4.0
IL_003F: call GameNetcodeStuff.PlayerControllerB
EnemyAI::MeetsStandardPlayerCollisionConditions(UnityEngine.Collider other,
System.Boolean inKillAnimation, System.Boolean overrideIsInsideFactoryCheck)
IL_0044: stloc.0
IL_0045: ldloc.0
IL_0046: ldnull
IL_0047: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_004C: brfalse => Label2
IL_0051: ldarg.0
IL_0052: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0057: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_005C: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_0061: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_0066: ldloc.0
IL_0067: ldfld UnityEngine.Camera
GameNetcodeStuff.PlayerControllerB::gameplayCamera
IL_006C: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0071: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_0076: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Subtraction(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_007B: ldc.r4 100
IL_0080: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_0085: call static UnityEngine.Vector3
UnityEngine.Vector3::Normalize(UnityEngine.Vector3 value)
IL_008A: stloc.2
IL_008B: ldarg.0
IL_008C: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0091: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_0096: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_009B: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_00A0: ldloc.2
IL_00A1: ldc.r4 0.5
IL_00A6: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_00AB: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_00B0: ldloc.0
IL_00B1: ldfld UnityEngine.Camera
GameNetcodeStuff.PlayerControllerB::gameplayCamera
IL_00B6: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_00BB: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_00C0: ldloca.s 1 (UnityEngine.RaycastHit)
IL_00C2: call static StartOfRound StartOfRound::get_Instance()
IL_00C7: ldfld System.Int32 StartOfRound::collidersAndRoomMask
IL_00CC: ldc.i4.1
IL_00CD: call static System.Boolean
UnityEngine.Physics::Linecast(UnityEngine.Vector3 start, UnityEngine.Vector3 end,
UnityEngine.RaycastHit& hitInfo, System.Int32 layerMask,
UnityEngine.QueryTriggerInteraction queryTriggerInteraction)
IL_00D2: brfalse => Label3
IL_00D7: ldloca.s 1 (UnityEngine.RaycastHit)
IL_00D9: call UnityEngine.Collider UnityEngine.RaycastHit::get_collider()
IL_00DE: ldarg.0
IL_00DF: ldfld UnityEngine.Collider MouthDogAI::debugCollider
IL_00E4: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_00E9: brfalse => Label4
IL_00EE: br => Label10
IL_00F3: Label4
IL_00F3: ldstr "Eyeless dog collide, linecast obstructed: "
IL_00F8: ldloca.s 1 (UnityEngine.RaycastHit)
IL_00FA: call UnityEngine.Collider UnityEngine.RaycastHit::get_collider()
IL_00FF: callvirt UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_0104: callvirt System.String UnityEngine.Object::get_name()
IL_0109: call static System.String System.String::Concat(System.String str0,
System.String str1)
IL_010E: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_0113: ldarg.0
IL_0114: ldloca.s 1 (UnityEngine.RaycastHit)
IL_0116: call UnityEngine.Collider UnityEngine.RaycastHit::get_collider()
IL_011B: stfld UnityEngine.Collider MouthDogAI::debugCollider
IL_0120: br => Label11
IL_0125: Label3
IL_0125: ldarg.0
IL_0126: ldfld System.Int32 EnemyAI::currentBehaviourStateIndex
IL_012B: ldc.i4.3
IL_012C: bne.un => Label5
IL_0131: ldloc.0
IL_0132: ldarg.0
IL_0133: stfld EnemyAI
GameNetcodeStuff.PlayerControllerB::inAnimationWithEnemy
IL_0138: ldarg.0
IL_0139: ldloc.0
IL_013A: ldfld System.UInt64
GameNetcodeStuff.PlayerControllerB::playerClientId
IL_013F: conv.i4
IL_0140: call System.Void MouthDogAI::KillPlayerServerRpc(System.Int32
playerId)
IL_0145: br => Label12
IL_014A: Label5
IL_014A: ldarg.0
IL_014B: ldfld System.Int32 EnemyAI::currentBehaviourStateIndex
IL_0150: brfalse => Label6
IL_0155: ldarg.0
IL_0156: ldfld System.Int32 EnemyAI::currentBehaviourStateIndex
IL_015B: ldc.i4.1
IL_015C: bne.un => Label7
IL_0161: Label6
IL_0161: ldarg.0
IL_0162: call System.Void MouthDogAI::ChaseLocalPlayer()
IL_0167: br => Label13
IL_016C: Label7
IL_016C: ldarg.0
IL_016D: ldfld System.Int32 EnemyAI::currentBehaviourStateIndex
IL_0172: ldc.i4.2
IL_0173: bne.un => Label8
IL_0178: ldarg.0
IL_0179: ldfld System.Boolean MouthDogAI::inLunge
IL_017E: brtrue => Label9
IL_0183: ldarg.0
IL_0184: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0189: ldarg.1
IL_018A: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_018F: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_0194: callvirt System.Void UnityEngine.Transform::LookAt(UnityEngine.Vector3
worldPosition)
IL_0199: ldarg.0
IL_019A: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_019F: ldc.r4 0
IL_01A4: ldarg.0
IL_01A5: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_01AA: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_eulerAngles()
IL_01AF: ldfld System.Single UnityEngine.Vector3::y
IL_01B4: ldc.r4 0
IL_01B9: newobj System.Void UnityEngine.Vector3::.ctor(System.Single x,
System.Single y, System.Single z)
IL_01BE: callvirt System.Void
UnityEngine.Transform::set_localEulerAngles(UnityEngine.Vector3 value)
IL_01C3: ldarg.0
IL_01C4: ldc.i4.1
IL_01C5: stfld System.Boolean MouthDogAI::inLunge
IL_01CA: ldarg.0
IL_01CB: call System.Void MouthDogAI::EnterLunge()
IL_01D0: // end original
IL_01D0: Label2
IL_01D0: Label8
IL_01D0: Label9
IL_01D0: Label10
IL_01D0: Label11
IL_01D0: Label12
IL_01D0: Label13
IL_01D0: Label0
IL_01D0: ret
DONE

### Patch: virtual System.Void


CentipedeAI::OnCollideWithPlayer(UnityEngine.Collider other)
### Replacement: static System.Void
CentipedeAI::CentipedeAI.OnCollideWithPlayer_Patch1(CentipedeAI this,
UnityEngine.Collider other)
IL_0000: Local var 0: GameNetcodeStuff.PlayerControllerB
IL_0000: Local var 1: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 1 (System.Boolean)
IL_0009: ldc.i4.1
IL_000A: stloc 1 (System.Boolean)
IL_000E: ldloc 1 (System.Boolean)
IL_0012: brfalse => Label1
IL_0017: ldarg.0
IL_0018: ldarg 1
IL_001C: call static System.Boolean
LethalMenu.Cheats.GodMode::PrefixCentipedeCling(CentipedeAI __instance,
UnityEngine.Collider other)
IL_0021: stloc 1 (System.Boolean)
IL_0025: Label1
IL_0025: nop
IL_0026: ldloc 1 (System.Boolean)
IL_002A: brfalse => Label0
IL_002F: // start original
IL_002F: ldarg.0
IL_0030: ldarg.1
IL_0031: call virtual System.Void
EnemyAI::OnCollideWithPlayer(UnityEngine.Collider other)
IL_0036: ldarg.0
IL_0037: ldfld System.Single EnemyAI::stunNormalizedTimer
IL_003C: ldc.r4 0
IL_0041: blt.un => Label2
IL_0046: br => Label6
IL_004B: Label2
IL_004B: ldarg.0
IL_004C: ldfld System.Int32 EnemyAI::currentBehaviourStateIndex
IL_0051: ldc.i4.2
IL_0052: bne.un => Label3
IL_0057: ldarg.0
IL_0058: ldfld GameNetcodeStuff.PlayerControllerB
CentipedeAI::clingingToPlayer
IL_005D: ldnull
IL_005E: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_0063: brfalse => Label4
IL_0068: Label3
IL_0068: br => Label7
IL_006D: Label4
IL_006D: ldarg.0
IL_006E: ldarg.1
IL_006F: ldc.i4.0
IL_0070: ldc.i4.0
IL_0071: call GameNetcodeStuff.PlayerControllerB
EnemyAI::MeetsStandardPlayerCollisionConditions(UnityEngine.Collider other,
System.Boolean inKillAnimation, System.Boolean overrideIsInsideFactoryCheck)
IL_0076: stloc.0
IL_0077: ldloc.0
IL_0078: ldnull
IL_0079: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_007E: brfalse => Label5
IL_0083: ldarg.0
IL_0084: ldloc.0
IL_0085: stfld GameNetcodeStuff.PlayerControllerB
CentipedeAI::clingingToPlayer
IL_008A: ldarg.0
IL_008B: ldloc.0
IL_008C: ldfld System.UInt64
GameNetcodeStuff.PlayerControllerB::playerClientId
IL_0091: call System.Void CentipedeAI::ClingToPlayerServerRpc(System.UInt64
playerObjectId)
IL_0096: // end original
IL_0096: Label5
IL_0096: Label6
IL_0096: Label7
IL_0096: Label0
IL_0096: ret
DONE

### Patch: System.Void GameNetcodeStuff.PlayerControllerB::LateUpdate()


### Replacement: static System.Void
GameNetcodeStuff.PlayerControllerB::GameNetcodeStuff.PlayerControllerB.LateUpdate_P
atch1(GameNetcodeStuff.PlayerControllerB this)
IL_0000: Local var 0: System.Single
IL_0000: Local var 1: System.Single
IL_0000: Local var 2: System.Single
IL_0000: Local var 3: UnityEngine.Vector3
IL_0000: // start original
IL_0000: ldarg.0
IL_0001: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isFirstFrameLateUpdate
IL_0006: brfalse => Label0
IL_000B: ldarg.0
IL_000C: ldc.i4.0
IL_000D: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isFirstFrameLateUpdate
IL_0012: ldarg.0
IL_0013: ldarg.0
IL_0014: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_0019: ldfld UnityEngine.Transform StartOfRound::elevatorTransform
IL_001E: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_0023: stfld UnityEngine.Vector3
GameNetcodeStuff.PlayerControllerB::previousElevatorPosition
IL_0028: br => Label1
IL_002D: Label0
IL_002D: ldarg.0
IL_002E: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsOwner()
IL_0033: brfalse => Label2
IL_0038: ldarg.0
IL_0039: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isPlayerControlled
IL_003E: brfalse => Label3
IL_0043: ldarg.0
IL_0044: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsServer()
IL_0049: brfalse => Label4
IL_004E: ldarg.0
IL_004F: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isHostPlayerObject
IL_0054: brfalse => Label5
IL_0059: Label4
IL_0059: ldarg.0
IL_005A: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isInElevator
IL_005F: brfalse => Label6
IL_0064: ldarg.0
IL_0065: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::wasInElevatorLastFrame
IL_006A: brtrue => Label7
IL_006F: ldarg.0
IL_0070: ldc.i4.1
IL_0071: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::wasInElevatorLastFrame
IL_0076: ldarg.0
IL_0077: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_007C: ldarg.0
IL_007D: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_0082: ldfld UnityEngine.Transform StartOfRound::elevatorTransform
IL_0087: callvirt System.Void
UnityEngine.Transform::SetParent(UnityEngine.Transform p)
IL_008C: br => Label8
IL_0091: Label6
IL_0091: ldarg.0
IL_0092: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::wasInElevatorLastFrame
IL_0097: brfalse => Label9
IL_009C: ldarg.0
IL_009D: ldc.i4.0
IL_009E: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::wasInElevatorLastFrame
IL_00A3: ldarg.0
IL_00A4: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_00A9: ldarg.0
IL_00AA: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_00AF: ldfld UnityEngine.Transform StartOfRound::playersContainer
IL_00B4: callvirt System.Void
UnityEngine.Transform::SetParent(UnityEngine.Transform p)
IL_00B9: Label1
IL_00B9: Label2
IL_00B9: Label3
IL_00B9: Label5
IL_00B9: Label7
IL_00B9: Label8
IL_00B9: Label9
IL_00B9: ldarg.0
IL_00BA: ldarg.0
IL_00BB: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_00C0: ldfld UnityEngine.Transform StartOfRound::elevatorTransform
IL_00C5: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_00CA: stfld UnityEngine.Vector3
GameNetcodeStuff.PlayerControllerB::previousElevatorPosition
IL_00CF: ldarg.0
IL_00D0: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isTestingPlayer
IL_00D5: brtrue => Label10
IL_00DA: call static Unity.Netcode.NetworkManager
Unity.Netcode.NetworkManager::get_Singleton()
IL_00DF: ldnull
IL_00E0: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_00E5: brfalse => Label11
IL_00EA: br => Label72
IL_00EF: Label11
IL_00EF: ldarg.0
IL_00F0: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsOwner()
IL_00F5: brtrue => Label12
IL_00FA: ldarg.0
IL_00FB: ldfld UnityEngine.CanvasGroup
GameNetcodeStuff.PlayerControllerB::usernameAlpha
IL_0100: callvirt System.Single UnityEngine.CanvasGroup::get_alpha()
IL_0105: ldc.r4 0
IL_010A: blt.un => Label13
IL_010F: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_0114: ldfld GameNetcodeStuff.PlayerControllerB
GameNetworkManager::localPlayerController
IL_0119: ldnull
IL_011A: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_011F: brfalse => Label14
IL_0124: ldarg.0
IL_0125: ldfld UnityEngine.CanvasGroup
GameNetcodeStuff.PlayerControllerB::usernameAlpha
IL_012A: dup
IL_012B: callvirt System.Single UnityEngine.CanvasGroup::get_alpha()
IL_0130: call static System.Single UnityEngine.Time::get_deltaTime()
IL_0135: sub
IL_0136: callvirt System.Void UnityEngine.CanvasGroup::set_alpha(System.Single
value)
IL_013B: ldarg.0
IL_013C: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::usernameBillboard
IL_0141: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_0146: ldfld GameNetcodeStuff.PlayerControllerB
GameNetworkManager::localPlayerController
IL_014B: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::localVisorTargetPoint
IL_0150: callvirt System.Void UnityEngine.Transform::LookAt(UnityEngine.Transform
target)
IL_0155: br => Label15
IL_015A: Label12
IL_015A: Label13
IL_015A: Label14
IL_015A: ldarg.0
IL_015B: ldfld UnityEngine.Canvas
GameNetcodeStuff.PlayerControllerB::usernameCanvas
IL_0160: callvirt UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_0165: callvirt System.Boolean UnityEngine.GameObject::get_activeSelf()
IL_016A: brfalse => Label16
IL_016F: ldarg.0
IL_0170: ldfld UnityEngine.Canvas
GameNetcodeStuff.PlayerControllerB::usernameCanvas
IL_0175: callvirt UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_017A: ldc.i4.0
IL_017B: callvirt System.Void UnityEngine.GameObject::SetActive(System.Boolean
value)
IL_0180: Label10
IL_0180: Label15
IL_0180: Label16
IL_0180: ldarg.0
IL_0181: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsOwner()
IL_0186: brfalse => Label17
IL_018B: ldarg.0
IL_018C: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsServer()
IL_0191: brfalse => Label18
IL_0196: ldarg.0
IL_0197: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isHostPlayerObject
IL_019C: brfalse => Label19
IL_01A1: Label18
IL_01A1: ldarg.0
IL_01A2: call System.Void
GameNetcodeStuff.PlayerControllerB::PlayerLookInput()
IL_01A7: ldarg.0
IL_01A8: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isPlayerControlled
IL_01AD: brfalse => Label20
IL_01B2: ldarg.0
IL_01B3: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isPlayerDead
IL_01B8: brtrue => Label21
IL_01BD: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_01C2: ldnull
IL_01C3: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_01C8: brfalse => Label22
IL_01CD: ldc.r4 0.14
IL_01D2: stloc.2
IL_01D3: ldarg.0
IL_01D4: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::inSpecialInteractAnimation
IL_01D9: brfalse => Label23
IL_01DE: ldc.r4 0.06
IL_01E3: stloc.2
IL_01E4: br => Label24
IL_01E9: Label23
IL_01E9: ldarg.0
IL_01EA: ldarg.0
IL_01EB: ldc.r4 10
IL_01F0: call System.Boolean
GameNetcodeStuff.PlayerControllerB::NearOtherPlayers(GameNetcodeStuff.PlayerControl
lerB playerScript, System.Single checkRadius)
IL_01F5: brfalse => Label25
IL_01FA: ldc.r4 0.1
IL_01FF: stloc.2
IL_0200: br => Label26
IL_0205: Label25
IL_0205: ldc.r4 0.24
IL_020A: stloc.2
IL_020B: Label24
IL_020B: Label26
IL_020B: ldarg.0
IL_020C: ldfld UnityEngine.Vector3
GameNetcodeStuff.PlayerControllerB::oldPlayerPosition
IL_0211: ldarg.0
IL_0212: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0217: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_localPosition()
IL_021C: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Subtraction(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_0221: stloc.3
IL_0222: ldloca.s 3 (UnityEngine.Vector3)
IL_0224: call System.Single UnityEngine.Vector3::get_sqrMagnitude()
IL_0229: ldloc.2
IL_022A: bgt => Label27
IL_022F: ldarg.0
IL_0230: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::updatePositionForNewlyJoinedClient
IL_0235: brfalse => Label28
IL_023A: Label27
IL_023A: ldarg.0
IL_023B: ldc.i4.0
IL_023C: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::updatePositionForNewlyJoinedClient
IL_0241: ldarg.0
IL_0242: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_0247: ldfld System.Boolean StartOfRound::newGameIsLoading
IL_024C: brtrue => Label29
IL_0251: ldarg.0
IL_0252: ldarg.0
IL_0253: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::thisPlayerBody
IL_0258: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_localPosition()
IL_025D: ldarg.0
IL_025E: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isInElevator
IL_0263: ldarg.0
IL_0264: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isExhausted
IL_0269: ldarg.0
IL_026A: ldfld UnityEngine.CharacterController
GameNetcodeStuff.PlayerControllerB::thisController
IL_026F: callvirt System.Boolean
UnityEngine.CharacterController::get_isGrounded()
IL_0274: call System.Void
GameNetcodeStuff.PlayerControllerB::UpdatePlayerPositionServerRpc(UnityEngine.Vecto
r3 newPos, System.Boolean inElevator, System.Boolean exhausted, System.Boolean
isPlayerGrounded)
IL_0279: ldarg.0
IL_027A: ldarg.0
IL_027B: call UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0280: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_localPosition()
IL_0285: stfld UnityEngine.Vector3
GameNetcodeStuff.PlayerControllerB::oldPlayerPosition
IL_028A: Label28
IL_028A: Label29
IL_028A: ldarg.0
IL_028B: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::currentlyHeldObjectServer
IL_0290: ldnull
IL_0291: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_0296: brfalse => Label30
IL_029B: ldarg.0
IL_029C: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isHoldingObject
IL_02A1: brfalse => Label31
IL_02A6: ldarg.0
IL_02A7: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::grabbedObjectValidated
IL_02AC: brfalse => Label32
IL_02B1: ldarg.0
IL_02B2: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::currentlyHeldObjectServer
IL_02B7: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_02BC: ldarg.0
IL_02BD: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::currentlyHeldObjectServer
IL_02C2: ldfld Item GrabbableObject::itemProperties
IL_02C7: ldfld UnityEngine.Vector3 Item::positionOffset
IL_02CC: callvirt System.Void
UnityEngine.Transform::set_localPosition(UnityEngine.Vector3 value)
IL_02D1: ldarg.0
IL_02D2: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::currentlyHeldObjectServer
IL_02D7: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_02DC: ldarg.0
IL_02DD: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::currentlyHeldObjectServer
IL_02E2: ldfld Item GrabbableObject::itemProperties
IL_02E7: ldfld UnityEngine.Vector3 Item::rotationOffset
IL_02EC: callvirt System.Void
UnityEngine.Transform::set_localEulerAngles(UnityEngine.Vector3 value)
IL_02F1: Label22
IL_02F1: Label30
IL_02F1: Label31
IL_02F1: Label32
IL_02F1: ldarg.0
IL_02F2: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::localVisor
IL_02F7: ldarg.0
IL_02F8: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::localVisorTargetPoint
IL_02FD: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_0302: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_0307: ldarg.0
IL_0308: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::localVisor
IL_030D: ldarg.0
IL_030E: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::localVisor
IL_0313: callvirt UnityEngine.Quaternion UnityEngine.Transform::get_rotation()
IL_0318: ldarg.0
IL_0319: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::localVisorTargetPoint
IL_031E: callvirt UnityEngine.Quaternion UnityEngine.Transform::get_rotation()
IL_0323: ldc.r4 53
IL_0328: call static System.Single UnityEngine.Time::get_deltaTime()
IL_032D: ldc.r4 0.0167
IL_0332: ldc.r4 20
IL_0337: call static System.Single UnityEngine.Mathf::Clamp(System.Single
value, System.Single min, System.Single max)
IL_033C: mul
IL_033D: call static UnityEngine.Quaternion
UnityEngine.Quaternion::Lerp(UnityEngine.Quaternion a, UnityEngine.Quaternion b,
System.Single t)
IL_0342: callvirt System.Void
UnityEngine.Transform::set_rotation(UnityEngine.Quaternion value)
IL_0347: ldc.r4 1
IL_034C: stloc.0
IL_034D: ldarg.0
IL_034E: ldfld System.Single GameNetcodeStuff.PlayerControllerB::drunkness
IL_0353: ldc.r4 0.02
IL_0358: ble.un => Label33
IL_035D: ldloc.0
IL_035E: call static StartOfRound StartOfRound::get_Instance()
IL_0363: ldfld UnityEngine.AnimationCurve StartOfRound::drunknessSpeedEffect
IL_0368: ldarg.0
IL_0369: ldfld System.Single GameNetcodeStuff.PlayerControllerB::drunkness
IL_036E: callvirt System.Single
UnityEngine.AnimationCurve::Evaluate(System.Single time)
IL_0373: ldc.r4 1.25
IL_0378: sub
IL_0379: call static System.Single UnityEngine.Mathf::Abs(System.Single f)
IL_037E: mul
IL_037F: stloc.0
IL_0380: Label33
IL_0380: ldarg.0
IL_0381: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isSprinting
IL_0386: brfalse => Label34
IL_038B: ldarg.0
IL_038C: ldarg.0
IL_038D: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_0392: call static System.Single UnityEngine.Time::get_deltaTime()
IL_0397: ldarg.0
IL_0398: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintTime
IL_039D: div
IL_039E: ldarg.0
IL_039F: ldfld System.Single GameNetcodeStuff.PlayerControllerB::carryWeight
IL_03A4: mul
IL_03A5: ldloc.0
IL_03A6: mul
IL_03A7: sub
IL_03A8: ldc.r4 0
IL_03AD: ldc.r4 1
IL_03B2: call static System.Single UnityEngine.Mathf::Clamp(System.Single
value, System.Single min, System.Single max)
IL_03B7: stfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_03BC: br => Label35
IL_03C1: Label34
IL_03C1: ldarg.0
IL_03C2: ldfld System.Int32
GameNetcodeStuff.PlayerControllerB::isMovementHindered
IL_03C7: ldc.i4.0
IL_03C8: ble => Label36
IL_03CD: ldarg.0
IL_03CE: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isWalking
IL_03D3: brfalse => Label37
IL_03D8: ldarg.0
IL_03D9: ldarg.0
IL_03DA: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_03DF: call static System.Single UnityEngine.Time::get_deltaTime()
IL_03E4: ldarg.0
IL_03E5: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintTime
IL_03EA: div
IL_03EB: ldloc.0
IL_03EC: mul
IL_03ED: ldc.r4 0.5
IL_03F2: mul
IL_03F3: sub
IL_03F4: ldc.r4 0
IL_03F9: ldc.r4 1
IL_03FE: call static System.Single UnityEngine.Mathf::Clamp(System.Single
value, System.Single min, System.Single max)
IL_0403: stfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_0408: br => Label38
IL_040D: Label36
IL_040D: ldarg.0
IL_040E: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isWalking
IL_0413: brtrue => Label39
IL_0418: ldarg.0
IL_0419: ldarg.0
IL_041A: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_041F: call static System.Single UnityEngine.Time::get_deltaTime()
IL_0424: ldarg.0
IL_0425: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintTime
IL_042A: ldc.r4 4
IL_042F: add
IL_0430: div
IL_0431: ldloc.0
IL_0432: mul
IL_0433: add
IL_0434: ldc.r4 0
IL_0439: ldc.r4 1
IL_043E: call static System.Single UnityEngine.Mathf::Clamp(System.Single
value, System.Single min, System.Single max)
IL_0443: stfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_0448: br => Label40
IL_044D: Label39
IL_044D: ldarg.0
IL_044E: ldarg.0
IL_044F: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_0454: call static System.Single UnityEngine.Time::get_deltaTime()
IL_0459: ldarg.0
IL_045A: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintTime
IL_045F: ldc.r4 9
IL_0464: add
IL_0465: div
IL_0466: ldloc.0
IL_0467: mul
IL_0468: add
IL_0469: ldc.r4 0
IL_046E: ldc.r4 1
IL_0473: call static System.Single UnityEngine.Mathf::Clamp(System.Single
value, System.Single min, System.Single max)
IL_0478: stfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_047D: Label40
IL_047D: ldarg.0
IL_047E: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isExhausted
IL_0483: brfalse => Label41
IL_0488: ldarg.0
IL_0489: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_048E: ldc.r4 0.2
IL_0493: ble.un => Label42
IL_0498: ldarg.0
IL_0499: ldc.i4.0
IL_049A: stfld System.Boolean GameNetcodeStuff.PlayerControllerB::isExhausted
IL_049F: Label35
IL_049F: Label37
IL_049F: Label38
IL_049F: Label41
IL_049F: Label42
IL_049F: ldarg.0
IL_04A0: ldfld UnityEngine.UI.Image
GameNetcodeStuff.PlayerControllerB::sprintMeterUI
IL_04A5: ldarg.0
IL_04A6: ldfld System.Single GameNetcodeStuff.PlayerControllerB::sprintMeter
IL_04AB: callvirt System.Void UnityEngine.UI.Image::set_fillAmount(System.Single
value)
IL_04B0: ldarg.0
IL_04B1: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isHoldingObject
IL_04B6: brfalse => Label43
IL_04BB: ldarg.0
IL_04BC: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::currentlyHeldObjectServer
IL_04C1: ldnull
IL_04C2: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_04C7: brfalse => Label44
IL_04CC: ldarg.0
IL_04CD: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::currentlyHeldObjectServer
IL_04D2: ldfld Item GrabbableObject::itemProperties
IL_04D7: ldfld System.Boolean Item::requiresBattery
IL_04DC: brfalse => Label45
IL_04E1: call static HUDManager HUDManager::get_Instance()
IL_04E6: ldfld UnityEngine.UI.Image HUDManager::batteryMeter
IL_04EB: ldarg.0
IL_04EC: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::currentlyHeldObjectServer
IL_04F1: ldfld Battery GrabbableObject::insertedBattery
IL_04F6: ldfld System.Single Battery::charge
IL_04FB: ldc.r4 1.3
IL_0500: div
IL_0501: callvirt System.Void UnityEngine.UI.Image::set_fillAmount(System.Single
value)
IL_0506: call static HUDManager HUDManager::get_Instance()
IL_050B: ldfld UnityEngine.UI.Image HUDManager::batteryMeter
IL_0510: callvirt UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_0515: ldc.i4.1
IL_0516: callvirt System.Void UnityEngine.GameObject::SetActive(System.Boolean
value)
IL_051B: call static HUDManager HUDManager::get_Instance()
IL_0520: ldfld UnityEngine.UI.Image HUDManager::batteryIcon
IL_0525: ldc.i4.1
IL_0526: callvirt System.Void UnityEngine.Behaviour::set_enabled(System.Boolean
value)
IL_052B: ldarg.0
IL_052C: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::currentlyHeldObjectServer
IL_0531: ldfld Battery GrabbableObject::insertedBattery
IL_0536: ldfld System.Single Battery::charge
IL_053B: ldc.r4 1.3
IL_0540: div
IL_0541: stloc.1
IL_0542: br => Label46
IL_0547: Label43
IL_0547: Label44
IL_0547: Label45
IL_0547: ldarg.0
IL_0548: ldfld UnityEngine.Light
GameNetcodeStuff.PlayerControllerB::helmetLight
IL_054D: callvirt System.Boolean UnityEngine.Behaviour::get_enabled()
IL_0552: brfalse => Label47
IL_0557: call static HUDManager HUDManager::get_Instance()
IL_055C: ldfld UnityEngine.UI.Image HUDManager::batteryMeter
IL_0561: ldarg.0
IL_0562: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::pocketedFlashlight
IL_0567: ldfld Battery GrabbableObject::insertedBattery
IL_056C: ldfld System.Single Battery::charge
IL_0571: ldc.r4 1.3
IL_0576: div
IL_0577: callvirt System.Void UnityEngine.UI.Image::set_fillAmount(System.Single
value)
IL_057C: call static HUDManager HUDManager::get_Instance()
IL_0581: ldfld UnityEngine.UI.Image HUDManager::batteryMeter
IL_0586: callvirt UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_058B: ldc.i4.1
IL_058C: callvirt System.Void UnityEngine.GameObject::SetActive(System.Boolean
value)
IL_0591: call static HUDManager HUDManager::get_Instance()
IL_0596: ldfld UnityEngine.UI.Image HUDManager::batteryIcon
IL_059B: ldc.i4.1
IL_059C: callvirt System.Void UnityEngine.Behaviour::set_enabled(System.Boolean
value)
IL_05A1: ldarg.0
IL_05A2: ldfld GrabbableObject
GameNetcodeStuff.PlayerControllerB::pocketedFlashlight
IL_05A7: ldfld Battery GrabbableObject::insertedBattery
IL_05AC: ldfld System.Single Battery::charge
IL_05B1: ldc.r4 1.3
IL_05B6: div
IL_05B7: stloc.1
IL_05B8: br => Label48
IL_05BD: Label47
IL_05BD: call static HUDManager HUDManager::get_Instance()
IL_05C2: ldfld UnityEngine.UI.Image HUDManager::batteryMeter
IL_05C7: callvirt UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_05CC: ldc.i4.0
IL_05CD: callvirt System.Void UnityEngine.GameObject::SetActive(System.Boolean
value)
IL_05D2: call static HUDManager HUDManager::get_Instance()
IL_05D7: ldfld UnityEngine.UI.Image HUDManager::batteryIcon
IL_05DC: ldc.i4.0
IL_05DD: callvirt System.Void UnityEngine.Behaviour::set_enabled(System.Boolean
value)
IL_05E2: ldc.r4 1
IL_05E7: stloc.1
IL_05E8: Label46
IL_05E8: Label48
IL_05E8: call static HUDManager HUDManager::get_Instance()
IL_05ED: ldfld UnityEngine.Animator HUDManager::batteryBlinkUI
IL_05F2: ldstr "blink"
IL_05F7: ldloc.1
IL_05F8: ldc.r4 0.2
IL_05FD: bge.un => Label49
IL_0602: ldloc.1
IL_0603: ldc.r4 0
IL_0608: cgt
IL_060A: br => Label50
IL_060F: Label49
IL_060F: ldc.i4.0
IL_0610: Label50
IL_0610: callvirt System.Void UnityEngine.Animator::SetBool(System.String name,
System.Boolean value)
IL_0615: ldarg.0
IL_0616: ldarg.0
IL_0617: ldfld System.Single
GameNetcodeStuff.PlayerControllerB::timeSinceSwitchingSlots
IL_061C: call static System.Single UnityEngine.Time::get_deltaTime()
IL_0621: add
IL_0622: stfld System.Single
GameNetcodeStuff.PlayerControllerB::timeSinceSwitchingSlots
IL_0627: ldarg.0
IL_0628: ldfld System.Single
GameNetcodeStuff.PlayerControllerB::limpMultiplier
IL_062D: ldc.r4 0
IL_0632: ble.un => Label51
IL_0637: ldarg.0
IL_0638: ldarg.0
IL_0639: ldfld System.Single
GameNetcodeStuff.PlayerControllerB::limpMultiplier
IL_063E: call static System.Single UnityEngine.Time::get_deltaTime()
IL_0643: ldc.r4 2
IL_0648: div
IL_0649: sub
IL_064A: stfld System.Single
GameNetcodeStuff.PlayerControllerB::limpMultiplier
IL_064F: Label51
IL_064F: ldarg.0
IL_0650: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_0655: ldc.i4.s 20
IL_0657: bge => Label52
IL_065C: ldarg.0
IL_065D: ldfld System.Single
GameNetcodeStuff.PlayerControllerB::healthRegenerateTimer
IL_0662: ldc.r4 0
IL_0667: bgt.un => Label53
IL_066C: ldarg.0
IL_066D: ldc.r4 1
IL_0672: stfld System.Single
GameNetcodeStuff.PlayerControllerB::healthRegenerateTimer
IL_0677: ldarg.0
IL_0678: ldarg.0
IL_0679: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_067E: ldc.i4.1
IL_067F: add
IL_0680: stfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_0685: ldarg.0
IL_0686: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_068B: ldc.i4.s 20
IL_068D: blt => Label54
IL_0692: ldarg.0
IL_0693: ldc.i4.0
IL_0694: call System.Void
GameNetcodeStuff.PlayerControllerB::MakeCriticallyInjured(System.Boolean enable)
IL_0699: Label54
IL_0699: call static HUDManager HUDManager::get_Instance()
IL_069E: ldarg.0
IL_069F: ldfld System.Int32 GameNetcodeStuff.PlayerControllerB::health
IL_06A4: ldc.i4.0
IL_06A5: callvirt System.Void HUDManager::UpdateHealthUI(System.Int32 health,
System.Boolean hurtPlayer)
IL_06AA: br => Label55
IL_06AF: Label53
IL_06AF: ldarg.0
IL_06B0: ldarg.0
IL_06B1: ldfld System.Single
GameNetcodeStuff.PlayerControllerB::healthRegenerateTimer
IL_06B6: call static System.Single UnityEngine.Time::get_deltaTime()
IL_06BB: sub
IL_06BC: stfld System.Single
GameNetcodeStuff.PlayerControllerB::healthRegenerateTimer
IL_06C1: Label52
IL_06C1: Label55
IL_06C1: ldarg.0
IL_06C2: call System.Void
GameNetcodeStuff.PlayerControllerB::SetHoverTipAndCurrentInteractTrigger()
IL_06C7: Label17
IL_06C7: Label19
IL_06C7: Label20
IL_06C7: Label21
IL_06C7: ldarg.0
IL_06C8: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::inSpecialInteractAnimation
IL_06CD: brtrue => Label56
IL_06D2: ldarg.0
IL_06D3: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::localArmsMatchCamera
IL_06D8: brfalse => Label57
IL_06DD: ldarg.0
IL_06DE: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::localArmsTransform
IL_06E3: ldarg.0
IL_06E4: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::cameraContainerTransform
IL_06E9: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_06EE: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_06F3: ldarg.0
IL_06F4: ldfld UnityEngine.Camera
GameNetcodeStuff.PlayerControllerB::gameplayCamera
IL_06F9: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_06FE: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_up()
IL_0703: ldc.r4 -0.5
IL_0708: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_070D: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_0712: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_0717: ldarg.0
IL_0718: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::playerModelArmsMetarig
IL_071D: ldarg.0
IL_071E: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::localArmsRotationTarget
IL_0723: callvirt UnityEngine.Quaternion UnityEngine.Transform::get_rotation()
IL_0728: callvirt System.Void
UnityEngine.Transform::set_rotation(UnityEngine.Quaternion value)
IL_072D: Label56
IL_072D: Label57
IL_072D: ldarg.0
IL_072E: ldfld StartOfRound GameNetcodeStuff.PlayerControllerB::playersManager
IL_0733: ldfld System.Boolean StartOfRound::overrideSpectateCamera
IL_0738: brfalse => Label58
IL_073D: br => Label73
IL_0742: Label58
IL_0742: ldarg.0
IL_0743: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsOwner()
IL_0748: brfalse => Label59
IL_074D: ldarg.0
IL_074E: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isPlayerDead
IL_0753: brfalse => Label60
IL_0758: ldarg.0
IL_0759: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsServer()
IL_075E: brfalse => Label61
IL_0763: ldarg.0
IL_0764: ldfld System.Boolean
GameNetcodeStuff.PlayerControllerB::isHostPlayerObject
IL_0769: brfalse => Label62
IL_076E: Label61
IL_076E: ldarg.0
IL_076F: ldfld System.Single
GameNetcodeStuff.PlayerControllerB::isInGameOverAnimation
IL_0774: ldc.r4 0
IL_0779: ble.un => Label63
IL_077E: ldarg.0
IL_077F: ldfld DeadBodyInfo GameNetcodeStuff.PlayerControllerB::deadBody
IL_0784: ldnull
IL_0785: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_078A: brfalse => Label64
IL_078F: ldarg.0
IL_0790: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::spectateCameraPivot
IL_0795: ldarg.0
IL_0796: ldfld DeadBodyInfo GameNetcodeStuff.PlayerControllerB::deadBody
IL_079B: ldfld UnityEngine.Rigidbody[] DeadBodyInfo::bodyParts
IL_07A0: ldc.i4.0
IL_07A1: ldelem.ref
IL_07A2: callvirt UnityEngine.Vector3 UnityEngine.Rigidbody::get_position()
IL_07A7: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_07AC: ldarg.0
IL_07AD: call System.Void
GameNetcodeStuff.PlayerControllerB::RaycastSpectateCameraAroundPivot()
IL_07B2: br => Label74
IL_07B7: Label63
IL_07B7: Label64
IL_07B7: ldarg.0
IL_07B8: ldfld GameNetcodeStuff.PlayerControllerB
GameNetcodeStuff.PlayerControllerB::spectatedPlayerScript
IL_07BD: ldnull
IL_07BE: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_07C3: brfalse => Label65
IL_07C8: ldarg.0
IL_07C9: ldfld GameNetcodeStuff.PlayerControllerB
GameNetcodeStuff.PlayerControllerB::spectatedPlayerScript
IL_07CE: ldfld System.Boolean GameNetcodeStuff.PlayerControllerB::isPlayerDead
IL_07D3: brfalse => Label66
IL_07D8: call static StartOfRound StartOfRound::get_Instance()
IL_07DD: ldfld System.Boolean StartOfRound::allPlayersDead
IL_07E2: brfalse => Label67
IL_07E7: call static StartOfRound StartOfRound::get_Instance()
IL_07EC: ldc.i4.1
IL_07ED: ldnull
IL_07EE: callvirt System.Void
StartOfRound::SetSpectateCameraToGameOverMode(System.Boolean enableGameOver,
GameNetcodeStuff.PlayerControllerB localPlayer)
IL_07F3: Label67
IL_07F3: ldarg.0
IL_07F4: ldfld System.Single
GameNetcodeStuff.PlayerControllerB::spectatedPlayerDeadTimer
IL_07F9: ldc.r4 1.5
IL_07FE: blt.un => Label68
IL_0803: ldarg.0
IL_0804: ldc.r4 0
IL_0809: stfld System.Single
GameNetcodeStuff.PlayerControllerB::spectatedPlayerDeadTimer
IL_080E: ldarg.0
IL_080F: call System.Void
GameNetcodeStuff.PlayerControllerB::SpectateNextPlayer()
IL_0814: br => Label69
IL_0819: Label68
IL_0819: ldarg.0
IL_081A: ldarg.0
IL_081B: ldfld System.Single
GameNetcodeStuff.PlayerControllerB::spectatedPlayerDeadTimer
IL_0820: call static System.Single UnityEngine.Time::get_deltaTime()
IL_0825: add
IL_0826: stfld System.Single
GameNetcodeStuff.PlayerControllerB::spectatedPlayerDeadTimer
IL_082B: ldarg.0
IL_082C: ldfld GameNetcodeStuff.PlayerControllerB
GameNetcodeStuff.PlayerControllerB::spectatedPlayerScript
IL_0831: ldfld DeadBodyInfo GameNetcodeStuff.PlayerControllerB::deadBody
IL_0836: ldnull
IL_0837: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_083C: brfalse => Label70
IL_0841: ldarg.0
IL_0842: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::spectateCameraPivot
IL_0847: ldarg.0
IL_0848: ldfld GameNetcodeStuff.PlayerControllerB
GameNetcodeStuff.PlayerControllerB::spectatedPlayerScript
IL_084D: ldfld DeadBodyInfo GameNetcodeStuff.PlayerControllerB::deadBody
IL_0852: ldfld UnityEngine.Rigidbody[] DeadBodyInfo::bodyParts
IL_0857: ldc.i4.0
IL_0858: ldelem.ref
IL_0859: callvirt UnityEngine.Vector3 UnityEngine.Rigidbody::get_position()
IL_085E: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_0863: ldarg.0
IL_0864: call System.Void
GameNetcodeStuff.PlayerControllerB::RaycastSpectateCameraAroundPivot()
IL_0869: Label70
IL_0869: br => Label75
IL_086E: Label66
IL_086E: Label69
IL_086E: ldarg.0
IL_086F: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::spectateCameraPivot
IL_0874: ldarg.0
IL_0875: ldfld GameNetcodeStuff.PlayerControllerB
GameNetcodeStuff.PlayerControllerB::spectatedPlayerScript
IL_087A: ldfld UnityEngine.Transform
GameNetcodeStuff.PlayerControllerB::lowerSpine
IL_087F: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_0884: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_0889: ldc.r4 0.7
IL_088E: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_0893: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_0898: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_089D: ldarg.0
IL_089E: call System.Void
GameNetcodeStuff.PlayerControllerB::RaycastSpectateCameraAroundPivot()
IL_08A3: br => Label76
IL_08A8: Label65
IL_08A8: call static StartOfRound StartOfRound::get_Instance()
IL_08AD: ldfld System.Boolean StartOfRound::allPlayersDead
IL_08B2: brfalse => Label71
IL_08B7: call static StartOfRound StartOfRound::get_Instance()
IL_08BC: ldc.i4.1
IL_08BD: ldnull
IL_08BE: callvirt System.Void
StartOfRound::SetSpectateCameraToGameOverMode(System.Boolean enableGameOver,
GameNetcodeStuff.PlayerControllerB localPlayer)
IL_08C3: ldarg.0
IL_08C4: ldc.i4.1
IL_08C5: call System.Void
GameNetcodeStuff.PlayerControllerB::SetSpectatedPlayerEffects(System.Boolean
allPlayersDead)
IL_08CA: br => Label77
IL_08CF: Label71
IL_08CF: ldarg.0
IL_08D0: call System.Void
GameNetcodeStuff.PlayerControllerB::SpectateNextPlayer()
IL_08D5: // end original
IL_08D5: Label59
IL_08D5: Label60
IL_08D5: Label62
IL_08D5: Label72
IL_08D5: Label73
IL_08D5: Label74
IL_08D5: Label75
IL_08D5: Label76
IL_08D5: Label77
IL_08D5: ldarg.0
IL_08D6: call static System.Void
LethalMenu.Cheats.ThroughWalls::PlayerLateUpdate(GameNetcodeStuff.PlayerControllerB
__instance)
IL_08DB: ret
DONE

### Patch: System.Void ShotgunItem::ShootGun(UnityEngine.Vector3 shotgunPosition,


UnityEngine.Vector3 shotgunForward)
### Replacement: static System.Void
ShotgunItem::ShotgunItem.ShootGun_Patch1(ShotgunItem this, UnityEngine.Vector3
shotgunPosition, UnityEngine.Vector3 shotgunForward)
IL_0000: Local var 0: System.Boolean
IL_0000: Local var 1: GameNetcodeStuff.PlayerControllerB
IL_0000: Local var 2: System.Single
IL_0000: Local var 3: System.Boolean
IL_0000: Local var 4: System.Int32
IL_0000: Local var 5: System.Single
IL_0000: Local var 6: UnityEngine.Vector3
IL_0000: Local var 7: UnityEngine.Ray
IL_0000: Local var 8: UnityEngine.RaycastHit
IL_0000: Local var 9: System.Int32
IL_0000: Local var 10: IHittable
IL_0000: Local var 11: System.Int32
IL_0000: Local var 12: EnemyAI
IL_0000: Local var 13: System.Int32
IL_0000: Local var 14: System.Single
IL_0000: // start original
IL_0000: ldarg.0
IL_0001: ldc.i4.0
IL_0002: stfld System.Boolean ShotgunItem::isReloading
IL_0007: ldc.i4.0
IL_0008: stloc.0
IL_0009: ldarg.0
IL_000A: ldfld System.Boolean GrabbableObject::isHeld
IL_000F: brfalse => Label0
IL_0014: ldarg.0
IL_0015: ldfld GameNetcodeStuff.PlayerControllerB
GrabbableObject::playerHeldBy
IL_001A: ldnull
IL_001B: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_0020: brfalse => Label1
IL_0025: ldarg.0
IL_0026: ldfld GameNetcodeStuff.PlayerControllerB
GrabbableObject::playerHeldBy
IL_002B: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_0030: ldfld GameNetcodeStuff.PlayerControllerB
GameNetworkManager::localPlayerController
IL_0035: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_003A: brfalse => Label2
IL_003F: ldarg.0
IL_0040: ldfld GameNetcodeStuff.PlayerControllerB
GrabbableObject::playerHeldBy
IL_0045: ldfld UnityEngine.Animator
GameNetcodeStuff.PlayerControllerB::playerBodyAnimator
IL_004A: ldstr "ShootShotgun"
IL_004F: callvirt System.Void UnityEngine.Animator::SetTrigger(System.String
name)
IL_0054: ldc.i4.1
IL_0055: stloc.0
IL_0056: Label0
IL_0056: Label1
IL_0056: Label2
IL_0056: ldarg.0
IL_0057: ldfld UnityEngine.AudioSource ShotgunItem::gunShootAudio
IL_005C: ldarg.0
IL_005D: ldfld UnityEngine.AudioClip[] ShotgunItem::gunShootSFX
IL_0062: ldc.i4.1
IL_0063: ldc.r4 1
IL_0068: ldc.i4 1840
IL_006D: call static System.Int32
RoundManager::PlayRandomClip(UnityEngine.AudioSource audioSource,
UnityEngine.AudioClip[] clipsArray, System.Boolean randomize, System.Single
oneShotVolume, System.Int32 audibleNoiseID)
IL_0072: pop
IL_0073: ldarg.0
IL_0074: ldfld UnityEngine.AudioSource ShotgunItem::gunShootAudio
IL_0079: ldarg.0
IL_007A: ldfld UnityEngine.AudioClip[] ShotgunItem::gunShootSFX
IL_007F: ldc.i4.0
IL_0080: ldelem.ref
IL_0081: ldc.r4 1
IL_0086: call static System.Void
WalkieTalkie::TransmitOneShotAudio(UnityEngine.AudioSource audioSource,
UnityEngine.AudioClip clip, System.Single vol)
IL_008B: ldarg.0
IL_008C: ldfld UnityEngine.ParticleSystem ShotgunItem::gunShootParticle
IL_0091: ldc.i4.1
IL_0092: callvirt System.Void UnityEngine.ParticleSystem::Play(System.Boolean
withChildren)
IL_0097: ldarg.0
IL_0098: ldarg.0
IL_0099: ldfld System.Int32 ShotgunItem::shellsLoaded
IL_009E: ldc.i4.1
IL_009F: sub
IL_00A0: ldc.i4.0
IL_00A1: ldc.i4.2
IL_00A2: call static System.Int32 UnityEngine.Mathf::Clamp(System.Int32
value, System.Int32 min, System.Int32 max)
IL_00A7: stfld System.Int32 ShotgunItem::shellsLoaded
IL_00AC: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_00B1: ldfld GameNetcodeStuff.PlayerControllerB
GameNetworkManager::localPlayerController
IL_00B6: stloc.1
IL_00B7: ldloc.1
IL_00B8: ldnull
IL_00B9: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_00BE: brfalse => Label3
IL_00C3: br => Label32
IL_00C8: Label3
IL_00C8: ldloc.1
IL_00C9: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_00CE: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_00D3: ldarg.0
IL_00D4: ldfld UnityEngine.Transform ShotgunItem::shotgunRayPoint
IL_00D9: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_00DE: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_position()
IL_00E3: call static System.Single
UnityEngine.Vector3::Distance(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_00E8: stloc.2
IL_00E9: ldc.i4.0
IL_00EA: stloc.3
IL_00EB: ldc.i4.0
IL_00EC: stloc.s 4 (System.Int32)
IL_00EE: ldc.r4 0
IL_00F3: stloc.s 5 (System.Single)
IL_00F5: ldloc.1
IL_00F6: ldfld UnityEngine.Collider
GameNetcodeStuff.PlayerControllerB::playerCollider
IL_00FB: ldarg.1
IL_00FC: callvirt UnityEngine.Vector3
UnityEngine.Collider::ClosestPoint(UnityEngine.Vector3 position)
IL_0101: stloc.s 6 (UnityEngine.Vector3)
IL_0103: ldloc.0
IL_0104: brtrue => Label4
IL_0109: ldarg.1
IL_010A: ldloc.s 6 (UnityEngine.Vector3)
IL_010C: call static StartOfRound StartOfRound::get_Instance()
IL_0111: ldfld System.Int32 StartOfRound::collidersAndRoomMaskAndDefault
IL_0116: ldc.i4.1
IL_0117: call static System.Boolean
UnityEngine.Physics::Linecast(UnityEngine.Vector3 start, UnityEngine.Vector3 end,
System.Int32 layerMask, UnityEngine.QueryTriggerInteraction
queryTriggerInteraction)
IL_011C: brtrue => Label5
IL_0121: ldarg.2
IL_0122: ldloc.s 6 (UnityEngine.Vector3)
IL_0124: ldarg.1
IL_0125: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Subtraction(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_012A: call static System.Single
UnityEngine.Vector3::Angle(UnityEngine.Vector3 from, UnityEngine.Vector3 to)
IL_012F: ldc.r4 30
IL_0134: bge.un => Label6
IL_0139: ldc.i4.1
IL_013A: stloc.3
IL_013B: Label4
IL_013B: Label5
IL_013B: Label6
IL_013B: ldloc.2
IL_013C: ldc.r4 5
IL_0141: bge.un => Label7
IL_0146: ldc.r4 0.8
IL_014B: stloc.s 5 (System.Single)
IL_014D: call static HUDManager HUDManager::get_Instance()
IL_0152: ldc.i4.1
IL_0153: callvirt System.Void HUDManager::ShakeCamera(ScreenShakeType shakeType)
IL_0158: ldc.i4.s 100
IL_015A: stloc.s 4 (System.Int32)
IL_015C: Label7
IL_015C: ldloc.2
IL_015D: ldc.r4 15
IL_0162: bge.un => Label8
IL_0167: ldc.r4 0.5
IL_016C: stloc.s 5 (System.Single)
IL_016E: call static HUDManager HUDManager::get_Instance()
IL_0173: ldc.i4.1
IL_0174: callvirt System.Void HUDManager::ShakeCamera(ScreenShakeType shakeType)
IL_0179: ldc.i4.s 100
IL_017B: stloc.s 4 (System.Int32)
IL_017D: br => Label9
IL_0182: Label8
IL_0182: ldloc.2
IL_0183: ldc.r4 23
IL_0188: bge.un => Label10
IL_018D: call static HUDManager HUDManager::get_Instance()
IL_0192: ldc.i4.0
IL_0193: callvirt System.Void HUDManager::ShakeCamera(ScreenShakeType shakeType)
IL_0198: ldc.i4.s 40
IL_019A: stloc.s 4 (System.Int32)
IL_019C: br => Label11
IL_01A1: Label10
IL_01A1: ldloc.2
IL_01A2: ldc.r4 30
IL_01A7: bge.un => Label12
IL_01AC: ldc.i4.s 20
IL_01AE: stloc.s 4 (System.Int32)
IL_01B0: Label9
IL_01B0: Label11
IL_01B0: Label12
IL_01B0: ldloc.s 5 (System.Single)
IL_01B2: ldc.r4 0
IL_01B7: ble.un => Label13
IL_01BC: call static SoundManager SoundManager::get_Instance()
IL_01C1: ldfld System.Single SoundManager::timeSinceEarsStartedRinging
IL_01C6: ldc.r4 16
IL_01CB: ble.un => Label14
IL_01D0: ldarg.0
IL_01D1: ldarg.0
IL_01D2: ldloc.s 5 (System.Single)
IL_01D4: call System.Collections.IEnumerator
ShotgunItem::delayedEarsRinging(System.Single effectSeverity)
IL_01D9: call UnityEngine.Coroutine
UnityEngine.MonoBehaviour::StartCoroutine(System.Collections.IEnumerator routine)
IL_01DE: pop
IL_01DF: Label13
IL_01DF: Label14
IL_01DF: ldloca.s 7 (UnityEngine.Ray)
IL_01E1: ldarg.1
IL_01E2: ldarg.2
IL_01E3: call System.Void UnityEngine.Ray::.ctor(UnityEngine.Vector3 origin,
UnityEngine.Vector3 direction)
IL_01E8: ldloc.s 7 (UnityEngine.Ray)
IL_01EA: ldloca.s 8 (UnityEngine.RaycastHit)
IL_01EC: ldc.r4 30
IL_01F1: call static StartOfRound StartOfRound::get_Instance()
IL_01F6: ldfld System.Int32 StartOfRound::collidersAndRoomMaskAndDefault
IL_01FB: ldc.i4.1
IL_01FC: call static System.Boolean
UnityEngine.Physics::Raycast(UnityEngine.Ray ray, UnityEngine.RaycastHit& hitInfo,
System.Single maxDistance, System.Int32 layerMask,
UnityEngine.QueryTriggerInteraction queryTriggerInteraction)
IL_0201: brfalse => Label15
IL_0206: ldarg.0
IL_0207: ldfld UnityEngine.AudioSource ShotgunItem::gunBulletsRicochetAudio
IL_020C: callvirt UnityEngine.Transform UnityEngine.Component::get_transform()
IL_0211: ldloca.s 7 (UnityEngine.Ray)
IL_0213: ldloca.s 8 (UnityEngine.RaycastHit)
IL_0215: call System.Single UnityEngine.RaycastHit::get_distance()
IL_021A: ldc.r4 0.5
IL_021F: sub
IL_0220: call UnityEngine.Vector3 UnityEngine.Ray::GetPoint(System.Single
distance)
IL_0225: callvirt System.Void
UnityEngine.Transform::set_position(UnityEngine.Vector3 value)
IL_022A: ldarg.0
IL_022B: ldfld UnityEngine.AudioSource ShotgunItem::gunBulletsRicochetAudio
IL_0230: callvirt System.Void UnityEngine.AudioSource::Play()
IL_0235: Label15
IL_0235: ldloc.3
IL_0236: brfalse => Label16
IL_023B: ldstr "Dealing {0} damage to player"
IL_0240: ldloc.s 4 (System.Int32)
IL_0242: box System.Int32
IL_0247: call static System.String System.String::Format(System.String
format, System.Object arg0)
IL_024C: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_0251: ldloc.1
IL_0252: ldloc.s 4 (System.Int32)
IL_0254: ldc.i4.1
IL_0255: ldc.i4.1
IL_0256: ldc.i4.7
IL_0257: ldc.i4.0
IL_0258: ldc.i4.0
IL_0259: ldarg.0
IL_025A: ldfld UnityEngine.Transform ShotgunItem::shotgunRayPoint
IL_025F: callvirt UnityEngine.Vector3 UnityEngine.Transform::get_forward()
IL_0264: ldc.r4 30
IL_0269: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_026E: callvirt System.Void
GameNetcodeStuff.PlayerControllerB::DamagePlayer(System.Int32 damageNumber,
System.Boolean hasDamageSFX, System.Boolean callRPC, CauseOfDeath causeOfDeath,
System.Int32 deathAnimation, System.Boolean fallDamage, UnityEngine.Vector3 force)
IL_0273: Label16
IL_0273: ldarg.0
IL_0274: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_0279: brtrue => Label17
IL_027E: ldarg.0
IL_027F: ldc.i4.s 10
IL_0281: newarr UnityEngine.RaycastHit
IL_0286: stfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_028B: Label17
IL_028B: ldloca.s 7 (UnityEngine.Ray)
IL_028D: ldarg.1
IL_028E: ldarg.2
IL_028F: ldc.r4 10
IL_0294: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
IL_0299: call static UnityEngine.Vector3
UnityEngine.Vector3::op_Subtraction(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_029E: ldarg.2
IL_029F: call System.Void UnityEngine.Ray::.ctor(UnityEngine.Vector3 origin,
UnityEngine.Vector3 direction)
IL_02A4: ldloc.s 7 (UnityEngine.Ray)
IL_02A6: ldc.r4 5
IL_02AB: ldarg.0
IL_02AC: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_02B1: ldc.r4 15
IL_02B6: ldc.i4 524288
IL_02BB: ldc.i4.2
IL_02BC: call static System.Int32
UnityEngine.Physics::SphereCastNonAlloc(UnityEngine.Ray ray, System.Single radius,
UnityEngine.RaycastHit[] results, System.Single maxDistance, System.Int32
layerMask, UnityEngine.QueryTriggerInteraction queryTriggerInteraction)
IL_02C1: stloc.s 9 (System.Int32)
IL_02C3: ldstr "Enemies hit: {0}"
IL_02C8: ldloc.s 9 (System.Int32)
IL_02CA: box System.Int32
IL_02CF: call static System.String System.String::Format(System.String
format, System.Object arg0)
IL_02D4: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_02D9: ldc.i4.0
IL_02DA: stloc.s 13 (System.Int32)
IL_02DC: br => Label18
IL_02E1: Label31
IL_02E1: ldstr "Raycasting enemy"
IL_02E6: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_02EB: ldarg.0
IL_02EC: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_02F1: ldloc.s 13 (System.Int32)
IL_02F3: ldelema UnityEngine.RaycastHit
IL_02F8: call UnityEngine.Transform UnityEngine.RaycastHit::get_transform()
IL_02FD: callvirt EnemyAICollisionDetect UnityEngine.Component::GetComponent()
IL_0302: call static System.Boolean
UnityEngine.Object::op_Implicit(UnityEngine.Object exists)
IL_0307: brtrue => Label19
IL_030C: br => Label33
IL_0311: Label19
IL_0311: ldarg.0
IL_0312: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_0317: ldloc.s 13 (System.Int32)
IL_0319: ldelema UnityEngine.RaycastHit
IL_031E: call UnityEngine.Transform UnityEngine.RaycastHit::get_transform()
IL_0323: callvirt EnemyAICollisionDetect UnityEngine.Component::GetComponent()
IL_0328: ldfld EnemyAI EnemyAICollisionDetect::mainScript
IL_032D: stloc.s 12 (EnemyAI)
IL_032F: ldarg.0
IL_0330: ldfld EnemyAI ShotgunItem::heldByEnemy
IL_0335: ldnull
IL_0336: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_033B: brfalse => Label20
IL_0340: ldarg.0
IL_0341: ldfld EnemyAI ShotgunItem::heldByEnemy
IL_0346: ldloc.s 12 (EnemyAI)
IL_0348: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_034D: brfalse => Label21
IL_0352: ldstr "Shotgun is held by enemy, skipping enemy raycast"
IL_0357: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_035C: br => Label34
IL_0361: Label20
IL_0361: Label21
IL_0361: ldarg.0
IL_0362: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_0367: ldloc.s 13 (System.Int32)
IL_0369: ldelema UnityEngine.RaycastHit
IL_036E: call System.Single UnityEngine.RaycastHit::get_distance()
IL_0373: ldc.r4 0
IL_0378: bne.un => Label22
IL_037D: ldstr "Spherecast started inside enemy collider"
IL_0382: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_0387: br => Label35
IL_038C: Label22
IL_038C: ldarg.1
IL_038D: ldarg.0
IL_038E: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_0393: ldloc.s 13 (System.Int32)
IL_0395: ldelema UnityEngine.RaycastHit
IL_039A: call UnityEngine.Vector3 UnityEngine.RaycastHit::get_point()
IL_039F: ldloca.s 8 (UnityEngine.RaycastHit)
IL_03A1: call static StartOfRound StartOfRound::get_Instance()
IL_03A6: ldfld System.Int32 StartOfRound::collidersAndRoomMaskAndDefault
IL_03AB: ldc.i4.1
IL_03AC: call static System.Boolean
UnityEngine.Physics::Linecast(UnityEngine.Vector3 start, UnityEngine.Vector3 end,
UnityEngine.RaycastHit& hitInfo, System.Int32 layerMask,
UnityEngine.QueryTriggerInteraction queryTriggerInteraction)
IL_03B1: brfalse => Label23
IL_03B6: ldloca.s 8 (UnityEngine.RaycastHit)
IL_03B8: call UnityEngine.Vector3 UnityEngine.RaycastHit::get_point()
IL_03BD: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
IL_03C2: call static UnityEngine.Color UnityEngine.Color::get_red()
IL_03C7: ldc.r4 15
IL_03CC: call static System.Void
UnityEngine.Debug::DrawRay(UnityEngine.Vector3 start, UnityEngine.Vector3 dir,
UnityEngine.Color color, System.Single duration)
IL_03D1: ldarg.1
IL_03D2: ldarg.0
IL_03D3: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_03D8: ldloc.s 13 (System.Int32)
IL_03DA: ldelema UnityEngine.RaycastHit
IL_03DF: call UnityEngine.Vector3 UnityEngine.RaycastHit::get_point()
IL_03E4: call static UnityEngine.Color UnityEngine.Color::get_cyan()
IL_03E9: ldc.r4 15
IL_03EE: call static System.Void
UnityEngine.Debug::DrawLine(UnityEngine.Vector3 start, UnityEngine.Vector3 end,
UnityEngine.Color color, System.Single duration)
IL_03F3: ldstr "Raycast hit wall"
IL_03F8: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_03FD: br => Label24
IL_0402: Label23
IL_0402: ldarg.0
IL_0403: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_0408: ldloc.s 13 (System.Int32)
IL_040A: ldelema UnityEngine.RaycastHit
IL_040F: call UnityEngine.Transform UnityEngine.RaycastHit::get_transform()
IL_0414: ldloca.s 10 (IHittable)
IL_0416: callvirt System.Boolean
UnityEngine.Component::TryGetComponent(IHittable& component)
IL_041B: brfalse => Label25
IL_0420: ldarg.1
IL_0421: ldarg.0
IL_0422: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_0427: ldloc.s 13 (System.Int32)
IL_0429: ldelema UnityEngine.RaycastHit
IL_042E: call UnityEngine.Vector3 UnityEngine.RaycastHit::get_point()
IL_0433: call static System.Single
UnityEngine.Vector3::Distance(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
IL_0438: stloc.s 14 (System.Single)
IL_043A: ldloc.s 14 (System.Single)
IL_043C: ldc.r4 3.7
IL_0441: bge.un => Label26
IL_0446: ldc.i4.5
IL_0447: stloc.s 11 (System.Int32)
IL_0449: br => Label27
IL_044E: Label26
IL_044E: ldloc.s 14 (System.Single)
IL_0450: ldc.r4 6
IL_0455: bge.un => Label28
IL_045A: ldc.i4.3
IL_045B: stloc.s 11 (System.Int32)
IL_045D: br => Label29
IL_0462: Label28
IL_0462: ldc.i4.2
IL_0463: stloc.s 11 (System.Int32)
IL_0465: Label27
IL_0465: Label29
IL_0465: ldstr "Hit enemy, hitDamage: {0}"
IL_046A: ldloc.s 11 (System.Int32)
IL_046C: box System.Int32
IL_0471: call static System.String System.String::Format(System.String
format, System.Object arg0)
IL_0476: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_047B: ldloc.s 10 (IHittable)
IL_047D: ldloc.s 11 (System.Int32)
IL_047F: ldarg.2
IL_0480: ldarg.0
IL_0481: ldfld GameNetcodeStuff.PlayerControllerB
GrabbableObject::playerHeldBy
IL_0486: ldc.i4.1
IL_0487: callvirt abstract virtual System.Void IHittable::Hit(System.Int32 force,
UnityEngine.Vector3 hitDirection, GameNetcodeStuff.PlayerControllerB playerWhoHit,
System.Boolean playHitSFX)
IL_048C: br => Label30
IL_0491: Label25
IL_0491: ldstr "Could not get hittable script from collider, transform: "
IL_0496: ldarg.0
IL_0497: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_049C: ldloc.s 13 (System.Int32)
IL_049E: ldelema UnityEngine.RaycastHit
IL_04A3: call UnityEngine.Transform UnityEngine.RaycastHit::get_transform()
IL_04A8: callvirt System.String UnityEngine.Object::get_name()
IL_04AD: call static System.String System.String::Concat(System.String str0,
System.String str1)
IL_04B2: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_04B7: ldstr "collider: "
IL_04BC: ldarg.0
IL_04BD: ldfld UnityEngine.RaycastHit[] ShotgunItem::enemyColliders
IL_04C2: ldloc.s 13 (System.Int32)
IL_04C4: ldelema UnityEngine.RaycastHit
IL_04C9: call UnityEngine.Collider UnityEngine.RaycastHit::get_collider()
IL_04CE: callvirt System.String UnityEngine.Object::get_name()
IL_04D3: call static System.String System.String::Concat(System.String str0,
System.String str1)
IL_04D8: call static System.Void UnityEngine.Debug::Log(System.Object
message)
IL_04DD: Label24
IL_04DD: Label30
IL_04DD: ldloc.s 13 (System.Int32)
IL_04DF: ldc.i4.1
IL_04E0: add
IL_04E1: stloc.s 13 (System.Int32)
IL_04E3: Label18
IL_04E3: ldloc.s 13 (System.Int32)
IL_04E5: ldloc.s 9 (System.Int32)
IL_04E7: blt => Label31
IL_04EC: // end original
IL_04EC: Label32
IL_04EC: Label33
IL_04EC: Label34
IL_04EC: Label35
IL_04EC: ldarg.0
IL_04ED: call static System.Void
LethalMenu.Cheats.UnlimitedAmmo::ShotgunShootGun(ShotgunItem __instance)
IL_04F2: ret
DONE

### Patch: virtual System.Void ShotgunItem::ItemActivate(System.Boolean used,


System.Boolean buttonDown)
### Replacement: static System.Void
ShotgunItem::ShotgunItem.ItemActivate_Patch1(ShotgunItem this, System.Boolean used,
System.Boolean buttonDown)
IL_0000: // start original
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: ldarg.2
IL_0003: call virtual System.Void
GrabbableObject::ItemActivate(System.Boolean used, System.Boolean buttonDown)
IL_0008: ldarg.0
IL_0009: ldfld System.Boolean ShotgunItem::isReloading
IL_000E: brfalse => Label0
IL_0013: br => Label4
IL_0018: Label0
IL_0018: ldarg.0
IL_0019: ldfld System.Int32 ShotgunItem::shellsLoaded
IL_001E: brtrue => Label1
IL_0023: ldarg.0
IL_0024: call System.Void ShotgunItem::StartReloadGun()
IL_0029: br => Label5
IL_002E: Label1
IL_002E: ldarg.0
IL_002F: ldfld System.Boolean ShotgunItem::safetyOn
IL_0034: brfalse => Label2
IL_0039: ldarg.0
IL_003A: ldfld UnityEngine.AudioSource ShotgunItem::gunAudio
IL_003F: ldarg.0
IL_0040: ldfld UnityEngine.AudioClip ShotgunItem::gunSafetySFX
IL_0045: callvirt System.Void
UnityEngine.AudioSource::PlayOneShot(UnityEngine.AudioClip clip)
IL_004A: br => Label6
IL_004F: Label2
IL_004F: ldarg.0
IL_0050: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsOwner()
IL_0055: brtrue => Label3
IL_005A: br => Label7
IL_005F: Label3
IL_005F: ldarg.0
IL_0060: ldc.i4.1
IL_0061: call System.Void ShotgunItem::ShootGunAndSync(System.Boolean
heldByPlayer)
IL_0066: // end original
IL_0066: Label4
IL_0066: Label5
IL_0066: Label6
IL_0066: Label7
IL_0066: ldarg.0
IL_0067: call static System.Void
LethalMenu.Cheats.UnlimitedAmmo::ActiveShotGunPrefix(ShotgunItem __instance)
IL_006C: ret
DONE

### Patch: virtual System.Void


GrabbableObject::DestroyObjectInHand(GameNetcodeStuff.PlayerControllerB
playerHolding)
### Replacement: static System.Void
GrabbableObject::GrabbableObject.DestroyObjectInHand_Patch1(GrabbableObject this,
GameNetcodeStuff.PlayerControllerB playerHolding)
IL_0000: Local var 0: UnityEngine.MeshRenderer[]
IL_0000: Local var 1: UnityEngine.Collider[]
IL_0000: Local var 2: System.Int32
IL_0000: Local var 3: System.Int32
IL_0000: Local var 4: UnityEngine.Vector3
IL_0000: Local var 5: System.Boolean
IL_0000: ldc.i4 0
IL_0005: stloc 5 (System.Boolean)
IL_0009: ldc.i4.1
IL_000A: stloc 5 (System.Boolean)
IL_000E: ldloc 5 (System.Boolean)
IL_0012: brfalse => Label1
IL_0017: ldarg.0
IL_0018: ldarg 1
IL_001C: call static System.Boolean
LethalMenu.Cheats.UnlimitedPresents::PlayerDiscardHeldObject(GrabbableObject
__instance, GameNetcodeStuff.PlayerControllerB playerHolding)
IL_0021: stloc 5 (System.Boolean)
IL_0025: Label1
IL_0025: nop
IL_0026: ldloc 5 (System.Boolean)
IL_002A: brfalse => Label0
IL_002F: // start original
IL_002F: ldarg.0
IL_0030: ldc.i4.0
IL_0031: stfld System.Boolean GrabbableObject::grabbable
IL_0036: ldarg.0
IL_0037: ldc.i4.0
IL_0038: stfld System.Boolean GrabbableObject::grabbableToEnemies
IL_003D: ldarg.0
IL_003E: ldc.i4.1
IL_003F: stfld System.Boolean GrabbableObject::deactivated
IL_0044: ldarg.1
IL_0045: ldnull
IL_0046: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_004B: brfalse => Label2
IL_0050: ldarg.1
IL_0051: ldc.i4.0
IL_0052: stfld System.Boolean
GameNetcodeStuff.PlayerControllerB::activatingItem
IL_0057: Label2
IL_0057: ldarg.0
IL_0058: ldfld UnityEngine.Transform GrabbableObject::radarIcon
IL_005D: ldnull
IL_005E: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_0063: brfalse => Label3
IL_0068: ldarg.0
IL_0069: ldfld UnityEngine.Transform GrabbableObject::radarIcon
IL_006E: callvirt UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_0073: call static System.Void
UnityEngine.Object::Destroy(UnityEngine.Object obj)
IL_0078: Label3
IL_0078: ldarg.0
IL_0079: call UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_007E: callvirt UnityEngine.MeshRenderer[]
UnityEngine.GameObject::GetComponentsInChildren()
IL_0083: stloc.0
IL_0084: ldc.i4.0
IL_0085: stloc.2
IL_0086: br => Label4
IL_008B: Label5
IL_008B: ldloc.0
IL_008C: ldloc.2
IL_008D: ldelem.ref
IL_008E: call static System.Void
UnityEngine.Object::Destroy(UnityEngine.Object obj)
IL_0093: ldloc.2
IL_0094: ldc.i4.1
IL_0095: add
IL_0096: stloc.2
IL_0097: Label4
IL_0097: ldloc.2
IL_0098: ldloc.0
IL_0099: ldlen
IL_009A: conv.i4
IL_009B: blt => Label5
IL_00A0: ldarg.0
IL_00A1: call UnityEngine.GameObject UnityEngine.Component::get_gameObject()
IL_00A6: callvirt UnityEngine.Collider[]
UnityEngine.GameObject::GetComponentsInChildren()
IL_00AB: stloc.1
IL_00AC: ldc.i4.0
IL_00AD: stloc.3
IL_00AE: br => Label6
IL_00B3: Label7
IL_00B3: ldloc.1
IL_00B4: ldloc.3
IL_00B5: ldelem.ref
IL_00B6: call static System.Void
UnityEngine.Object::Destroy(UnityEngine.Object obj)
IL_00BB: ldloc.3
IL_00BC: ldc.i4.1
IL_00BD: add
IL_00BE: stloc.3
IL_00BF: Label6
IL_00BF: ldloc.3
IL_00C0: ldloc.1
IL_00C1: ldlen
IL_00C2: conv.i4
IL_00C3: blt => Label7
IL_00C8: ldarg.0
IL_00C9: call System.Boolean Unity.Netcode.NetworkBehaviour::get_IsOwner()
IL_00CE: brfalse => Label8
IL_00D3: ldarg.0
IL_00D4: ldfld System.Boolean GrabbableObject::isHeld
IL_00D9: brfalse => Label9
IL_00DE: ldarg.0
IL_00DF: ldfld System.Boolean GrabbableObject::isPocketed
IL_00E4: brtrue => Label10
IL_00E9: ldarg.1
IL_00EA: ldnull
IL_00EB: call static System.Boolean
UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
IL_00F0: brfalse => Label11
IL_00F5: ldarg.0
IL_00F6: ldfld GameNetcodeStuff.PlayerControllerB
GrabbableObject::playerHeldBy
IL_00FB: call static GameNetworkManager GameNetworkManager::get_Instance()
IL_0100: ldfld GameNetcodeStuff.PlayerControllerB
GameNetworkManager::localPlayerController
IL_0105: call static System.Boolean
UnityEngine.Object::op_Equality(UnityEngine.Object x, UnityEngine.Object y)
IL_010A: brfalse => Label12
IL_010F: ldarg.0
IL_0110: ldfld GameNetcodeStuff.PlayerControllerB
GrabbableObject::playerHeldBy
IL_0115: ldc.i4.0
IL_0116: ldnull
IL_0117: ldloca.s 4 (UnityEngine.Vector3)
IL_0119: initobj UnityEngine.Vector3
IL_011F: ldloc.s 4 (UnityEngine.Vector3)
IL_0121: ldc.i4.1
IL_0122: callvirt System.Void
GameNetcodeStuff.PlayerControllerB::DiscardHeldObject(System.Boolean placeObject,
Unity.Netcode.NetworkObject parentObjectTo, UnityEngine.Vector3 placePosition,
System.Boolean matchRotationOfParent)
IL_0127: // end original
IL_0127: Label8
IL_0127: Label9
IL_0127: Label10
IL_0127: Label11
IL_0127: Label12
IL_0127: Label0
IL_0127: ret
DONE

You might also like