diff --git a/DevourClient/Hacks/Misc.cs b/DevourClient/Hacks/Misc.cs index eaf7a39..678df13 100644 --- a/DevourClient/Hacks/Misc.cs +++ b/DevourClient/Hacks/Misc.cs @@ -47,58 +47,64 @@ namespace DevourClient.Hacks public static void WalkInLobby(bool walk) { - try { - if (Helpers.Entities.LocalPlayer_.p_GameObject.GetComponent() == null) - { - Helpers.Entities.LocalPlayer_.p_GameObject.AddComponent(); - Helpers.Entities.LocalPlayer_.p_GameObject.GetComponent().enabled = false; - } - - Helpers.Entities.LocalPlayer_.p_GameObject.GetComponent().enabled = walk; + GameObject LocalPlayer = Helpers.Entities.LocalPlayer_.p_GameObject; + if (LocalPlayer == null) + { + return; } - catch { return; } - } + + //GetComponent called only once as AddComponent returns a component + UltimateCharacterLocomotionHandler cmp = Helpers.Entities.LocalPlayer_.p_GameObject.GetComponent(); + + if (cmp == null) + { + cmp = LocalPlayer.AddComponent(); + cmp.enabled = false; + } + + cmp.enabled = walk; + } public static void BurnRitualObj(string map, bool burnAll) { - Il2Cpp.SurvivalObjectBurnController _altar = UnityEngine.Object.FindObjectOfType(); - Il2Cpp.InnMapController _innMapController = UnityEngine.Object.FindObjectOfType(); + //map controllers SHOULDN'T be null but we never know, if smth break, add a nullptr check + switch (map) + { + case "Inn": + Il2Cpp.InnMapController _innMapController = UnityEngine.Object.FindObjectOfType(); + if (burnAll){ + _innMapController.SetProgressTo(10); + } + else{ + _innMapController.IncreaseProgress(); + } + break; - if (map != "Inn") - { - if (burnAll) - { - _altar.SkipToGoat(10); - } - else - { - _altar.BurnGoat(); - } - } - - if(map == "Slaughterhouse") - { - Il2Cpp.SlaughterhouseAltarController _slaughterhouseAltarController = UnityEngine.Object.FindObjectOfType(); + case "Slaughterhouse": + Il2Cpp.SlaughterhouseAltarController _slaughterhouseAltarController = UnityEngine.Object.FindObjectOfType(); - if (burnAll) - { - _slaughterhouseAltarController.BurnGoat(); - } - else - { - _slaughterhouseAltarController.SkipToGoat(10); - } - } - - else - { - if (burnAll){ - _innMapController.SetProgressTo(10); - } - else{ - _innMapController.IncreaseProgress(); - } - } + if (burnAll) + { + _slaughterhouseAltarController.BurnGoat(); + } + else + { + _slaughterhouseAltarController.SkipToGoat(10); + } + break; + + default: + Il2Cpp.SurvivalObjectBurnController _altar = UnityEngine.Object.FindObjectOfType(); + if (burnAll) + { + _altar.SkipToGoat(10); + } + else + { + _altar.BurnGoat(); + } + break; + } } public static void SpawnAzazel(PrefabId _azazelPrefabId) @@ -119,58 +125,44 @@ namespace DevourClient.Hacks public static void CarryObject(string name) { - try - { - Il2Cpp.NolanBehaviour nb = Helpers.Entities.LocalPlayer_.p_GameObject.GetComponent(); + Il2Cpp.NolanBehaviour nb = Helpers.Entities.LocalPlayer_.p_GameObject.GetComponent(); - nb.StartCarry(name); + nb.StartCarry(name); + } + + public static void CleanFountain() + { + GameObject[] fountains = GameObject.FindGameObjectsWithTag("InnFountain"); + + foreach (GameObject fountain in fountains) + { + fountain.GetComponent().Clean(); } - catch { return; } - } - - public static void CleanFountain() - { - try - { - GameObject[] fountains = GameObject.FindGameObjectsWithTag("InnFountain"); + } - for (int i = 0; i < fountains.Length; i++) - { - fountains[i].GetComponent().Clean(); - } - } - catch { return; } - } - - public static void AutoRespawn() + public static void AutoRespawn() { Il2Cpp.NolanBehaviour nb = Player.GetPlayer(); - Il2Cpp.SurvivalReviveInteractable _reviveInteractable = UnityEngine.Object.FindObjectOfType(); - + Il2Cpp.SurvivalReviveInteractable _reviveInteractable = UnityEngine.Object.FindObjectOfType(); //probably can't be null + _reviveInteractable.Interact(nb.gameObject); } public static void TPItems() { - try - { - Il2Cpp.NolanBehaviour Nolan = Player.GetPlayer(); + Il2Cpp.NolanBehaviour Nolan = Player.GetPlayer(); - foreach (Il2Cpp.SurvivalInteractable item in Helpers.Entities.SurvivalInteractables) - { - item.transform.position = Nolan.transform.position + Nolan.transform.forward * UnityEngine.Random.RandomRange(1f, 3f); - } - } - catch { } + foreach (Il2Cpp.SurvivalInteractable item in Helpers.Entities.SurvivalInteractables) + { + item.transform.position = Nolan.transform.position + Nolan.transform.forward * UnityEngine.Random.RandomRange(1f, 3f); + } } public static void CreateCustomizedLobby(int lobbySize = 4, bool isPrivate = false, Il2CppUdpKit.Platform.Photon.PhotonRegion.Regions __region = Il2CppUdpKit.Platform.Photon.PhotonRegion.Regions.BEST_REGION) { - Il2CppHorror.Menu _menu = UnityEngine.Object.FindObjectOfType(); + //TODO : make it so we can specify a password for a private lobby - CanvasGroup _loadingCanvasGroup = _menu.loadingCanvasGroup; - CanvasGroup _hostCanvasGroup = _menu.hostCanvasGroup; - CanvasGroup _mainMenuCanvasGroup = _menu.mainMenuCanvasGroup; + Il2CppHorror.Menu _menu = UnityEngine.Object.FindObjectOfType(); Il2CppUdpKit.Platform.PhotonPlatformConfig __photonPlatformConfig = new Il2CppUdpKit.Platform.PhotonPlatformConfig(); __photonPlatformConfig.Region = Il2CppUdpKit.Platform.Photon.PhotonRegion.regions[__region]; @@ -185,9 +177,9 @@ namespace DevourClient.Hacks BoltLauncher.StartServer(__config, null); - Il2CppHorror.Menu.ShowCanvasGroup(_loadingCanvasGroup, true); - Il2CppHorror.Menu.ShowCanvasGroup(_hostCanvasGroup, false); - Il2CppHorror.Menu.ShowCanvasGroup(_mainMenuCanvasGroup, false); + Il2CppHorror.Menu.ShowCanvasGroup(_menu.loadingCanvasGroup, true); + Il2CppHorror.Menu.ShowCanvasGroup(_menu.hostCanvasGroup, false); + Il2CppHorror.Menu.ShowCanvasGroup(_menu.mainMenuCanvasGroup, false); } public static void SetSteamName(string name) @@ -213,7 +205,7 @@ namespace DevourClient.Hacks public static void BigFlashlight(bool reset) { - Il2Cpp.NolanBehaviour Nolan = Player.GetPlayer();//UnityEngine.Object.FindObjectOfType(); + Il2Cpp.NolanBehaviour Nolan = Player.GetPlayer(); if (Nolan == null) { return; @@ -273,7 +265,7 @@ namespace DevourClient.Hacks public static void Fullbright(bool reset) { - Il2Cpp.NolanBehaviour Nolan = Player.GetPlayer();//UnityEngine.Object.FindObjectOfType(); + Il2Cpp.NolanBehaviour Nolan = Player.GetPlayer(); if (Nolan == null) { return; @@ -305,7 +297,7 @@ namespace DevourClient.Hacks } public static void FlashlightColor(Color color) { - Il2Cpp.NolanBehaviour Nolan = Player.GetPlayer(); //UnityEngine.Object.FindObjectOfType(); + Il2Cpp.NolanBehaviour Nolan = Player.GetPlayer(); Light flashlightSpot = Nolan.flashlightSpot; flashlightSpot.color = color; @@ -313,7 +305,8 @@ namespace DevourClient.Hacks public static void TPKeys() { - Il2Cpp.NolanBehaviour Nolan = Player.GetPlayer(); //UnityEngine.Object.FindObjectOfType(); + //TOFIX: spawn manually the missing key in slaughterhouse + Il2Cpp.NolanBehaviour Nolan = Player.GetPlayer(); foreach (Il2Cpp.KeyBehaviour keyBehaviour in Helpers.Entities.Keys) { @@ -337,6 +330,7 @@ namespace DevourClient.Hacks public static void MessageSpam(string message) { + //TOFIX : not spamming anymore :/ if (Helpers.Player.IsInGame()) { Il2Cpp.GameUI game_ui_class = UnityEngine.Object.FindObjectOfType(); @@ -409,23 +403,13 @@ namespace DevourClient.Hacks public static void ShowMessageBox(string message) { + //not used, might be useful, some day Il2CppHorror.Menu menu = UnityEngine.Object.FindObjectOfType(); menu.ShowMessageModal(message); } public static void PlaySound() { - /* - public PlayRandomAudioClip yesClips; - public PlayRandomAudioClip noClips; - public PlayRandomAudioClip beckonClips; - public PlayRandomAudioClip showOffClips; - public PlayRandomAudioClip screamClips; - public PlayRandomAudioClip pickupClips; - public PlayRandomAudioClip burnGoatClips; - public PlayRandomAudioClip laughClips; - */ - Il2Cpp.PlayRandomAudioClip playRandomAudioClip = UnityEngine.Object.FindObjectOfType(); Il2Cpp.NolanVoiceOvers nolanVoiceOvers = UnityEngine.Object.FindObjectOfType(); playRandomAudioClip.delay = 0f; @@ -475,29 +459,25 @@ namespace DevourClient.Hacks return; } - try - { - if (Helpers.Map.GetAzazel() == null) { - return; - } - - UltimateCharacterLocomotion _azazelLocomotion = Helpers.Map.GetAzazel().GetComponent(); - - if (_azazelLocomotion == null) - { - return; - } - - if (_azazelLocomotion.TimeScale > 0.0f) //seems like _azazelLocomotion.TimeScale is never == 1.0f for Sam - { - _azazelLocomotion.TimeScale = 0f; - } - else - { - _azazelLocomotion.TimeScale = 1.0f; - } + if (Helpers.Map.GetAzazel() == null) { + return; + } + + UltimateCharacterLocomotion _azazelLocomotion = Helpers.Map.GetAzazel().GetComponent(); + + if (_azazelLocomotion == null) + { + return; + } + + if (_azazelLocomotion.TimeScale > 0.0f) + { + _azazelLocomotion.TimeScale = 0f; //host only (?) + } + else + { + _azazelLocomotion.TimeScale = 1.0f; } - catch { } } public static void InstantWin() diff --git a/DevourClient/Helpers/Render.cs b/DevourClient/Helpers/Render.cs index bc8b919..d309334 100644 --- a/DevourClient/Helpers/Render.cs +++ b/DevourClient/Helpers/Render.cs @@ -83,27 +83,27 @@ namespace DevourClient.Render public static void DrawAllBones(List b, Color c) { - DrawBones(b[0], b[1], c); - DrawBones(b[1], b[2], c); - DrawBones(b[2], b[3], c); + DrawBones(b[0], b[1], c); //head, neck + DrawBones(b[1], b[2], c); //neck, spine + DrawBones(b[2], b[3], c); //spine, hips - DrawBones(b[1], b[4], c); - DrawBones(b[4], b[5], c); - DrawBones(b[5], b[6], c); - DrawBones(b[6], b[7], c); + DrawBones(b[1], b[4], c); //neck, left shoulder + DrawBones(b[4], b[5], c); //left shoulder, left upper arm + DrawBones(b[5], b[6], c); //left upper arm, left lower arm + DrawBones(b[6], b[7], c); //left lower arm, left hand - DrawBones(b[1], b[8], c); - DrawBones(b[8], b[9], c); - DrawBones(b[9], b[10], c); - DrawBones(b[10], b[11], c); + DrawBones(b[1], b[8], c); //neck, right shoulder + DrawBones(b[8], b[9], c); //right shoulder, right upper arm + DrawBones(b[9], b[10], c); //right upper arm, right lower arm + DrawBones(b[10], b[11], c); //right lower arm, right hand + + DrawBones(b[3], b[12], c); //hips, left upper leg + DrawBones(b[12], b[13], c); //left upper leg, left lower leg + DrawBones(b[13], b[14], c); //left lower leg, left foot - DrawBones(b[3], b[12], c); - DrawBones(b[12], b[13], c); - DrawBones(b[13], b[14], c); - - DrawBones(b[3], b[15], c); - DrawBones(b[15], b[16], c); - DrawBones(b[16], b[17], c); + DrawBones(b[3], b[15], c); //hips, right upper leg + DrawBones(b[15], b[16], c); //right upper leg, right lower leg + DrawBones(b[16], b[17], c); //right lower leg, right foot } static void DrawBox(float x, float y, float w, float h, Color color, float thickness) diff --git a/DevourClient/MelonMain.cs b/DevourClient/MelonMain.cs index 130e2a1..0c395c2 100644 --- a/DevourClient/MelonMain.cs +++ b/DevourClient/MelonMain.cs @@ -548,20 +548,12 @@ namespace DevourClient { if (BoltNetwork.IsServer && !Player.IsInGame()) { - try - { - BoltNetwork.Instantiate(BoltPrefabs.SurvivalRat, Player.GetPlayer().transform.position, Quaternion.identity); - } - catch { } + BoltNetwork.Instantiate(BoltPrefabs.SurvivalRat, Player.GetPlayer().transform.position, Quaternion.identity); } if (Player.IsInGame() && !Player.IsPlayerCrawling()) { - try - { - Hacks.Misc.CarryObject("SurvivalRat"); - } - catch { } + Hacks.Misc.CarryObject("SurvivalRat"); } } @@ -569,20 +561,12 @@ namespace DevourClient { if (BoltNetwork.IsServer && !Player.IsInGame()) { - try - { - BoltNetwork.Instantiate(BoltPrefabs.SurvivalGoat, Player.GetPlayer().transform.position, Quaternion.identity); - } - catch { } + BoltNetwork.Instantiate(BoltPrefabs.SurvivalGoat, Player.GetPlayer().transform.position, Quaternion.identity); } if (Player.IsInGame() && !Player.IsPlayerCrawling()) { - try - { - Hacks.Misc.CarryObject("SurvivalGoat"); - } - catch { } + Hacks.Misc.CarryObject("SurvivalGoat"); } } @@ -595,20 +579,12 @@ namespace DevourClient { if (BoltNetwork.IsServer && !Player.IsInGame()) { - try - { - BoltNetwork.Instantiate(BoltPrefabs.SurvivalPig, Player.GetPlayer().transform.position, Quaternion.identity); - } - catch { } + BoltNetwork.Instantiate(BoltPrefabs.SurvivalPig, Player.GetPlayer().transform.position, Quaternion.identity); } if (Player.IsInGame() && !Player.IsPlayerCrawling()) { - try - { - Hacks.Misc.CarryObject("SurvivalPig"); - } - catch { } + Hacks.Misc.CarryObject("SurvivalPig"); } } }