4 Commits
2.0 ... UC

Author SHA1 Message Date
ALittlePatate
0e0005d5a9 Added the unlock all feature 2022-03-26 16:34:26 +01:00
ALittlePatate
14ae3e1c43 Added an Unlock All and commented out the test godmode for UC release 2022-03-26 16:31:21 +01:00
ALittlePatate
c0858f7eae Merge branch 'master' of https://github.com/ALittlePatate/DevourClient 2022-03-26 13:38:16 +01:00
ALittlePatate
3c245213c7 Now using PlayEnding instead of PlayWinEnding 2022-03-26 13:36:31 +01:00
4 changed files with 94 additions and 22 deletions

1
.gitignore vendored
View File

@@ -1,4 +1,5 @@
#Visual studio stuff
.vs
.git
DevourClient/bin
DevourClient/obj

View File

@@ -129,23 +129,23 @@ namespace DevourClient.Hacks
Survival survival_class = UnityEngine.Object.FindObjectOfType<Survival>();
try
{
survival_class.PlayWinEnding("InnWin");
survival_class.PlayEnding("InnWin");
}
catch
{
try
{
survival_class.PlayWinEnding("AsylumWin");
survival_class.PlayEnding("AsylumWin");
}
catch
{
try
{
survival_class.PlayWinEnding("TownWin");
survival_class.PlayEnding("TownWin");
}
catch
{
survival_class.PlayWinEnding("Win");
survival_class.PlayEnding("Win");
}
}
}

View File

@@ -4,23 +4,7 @@ namespace DevourClient.Hooks
{
public class Hooks
{
/*
[HarmonyPatch(typeof(UIPerkSelectionType))]
[HarmonyPatch(nameof(UIPerkSelectionType.SetLocked))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
static class UIPerkSelectionType_SetLocked_Patch
{
static void Prefix(ref bool locked, ref int cost)
{
MelonLoader.MelonLogger.Msg("cost : "+cost);
MelonLoader.MelonLogger.Msg("locked : " + locked);
locked = false;
cost = 0;
return;
}
}
*/
/* Commented out for UC release
[HarmonyPatch(typeof(NolanBehaviour))]
[HarmonyPatch(nameof(NolanBehaviour.SetIsBeingKnockedOut))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
static class NolanBehaviour_SetIsBeingKnockedOut_Patch
@@ -32,5 +16,91 @@ namespace DevourClient.Hooks
return;
}
}
*/
[HarmonyPatch(typeof(Horror.Menu))]
[HarmonyPatch(nameof(Horror.Menu.SetupPerk))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
static class Horror_Menu_SetupPerk_Patch
{
static void Prefix(ref CharacterPerk perk)
{
/*
public int cost { get; set; }
public bool isOwned { get; set; }
public bool isHidden { get; set; }
*/
//MelonLoader.MelonLogger.Msg("cost : " + perk.cost);
//MelonLoader.MelonLogger.Msg("isOwned : " + perk.isOwned);
//MelonLoader.MelonLogger.Msg("isHidden : " + perk.isHidden);
perk.cost = 0;
perk.isOwned = true;
perk.isHidden = false;
return;
}
}
[HarmonyPatch(typeof(Horror.Menu))]
[HarmonyPatch(nameof(Horror.Menu.SetupOutfit))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
static class Horror_Menu_SetupOutfit_Patch
{
static void Prefix(ref CharacterOutfit outfit)
{
/*
public ulong currentPrice;
public ulong basePrice;
public bool isOwned;
public bool isHidden;
*/
//MelonLoader.MelonLogger.Msg("basePrice : " + outfit.basePrice);
//MelonLoader.MelonLogger.Msg("currentPrice : " + outfit.currentPrice);
//MelonLoader.MelonLogger.Msg("isOwned : " + outfit.isOwned);
//MelonLoader.MelonLogger.Msg("isHidden : " + outfit.isHidden);
outfit.basePrice = 0;
outfit.currentPrice = 0;
outfit.isOwned = true;
outfit.isHidden = false;
return;
}
}
[HarmonyPatch(typeof(OptionsHelpers))]
[HarmonyPatch(nameof(OptionsHelpers.IsRobeUnlocked))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
static class OptionsHelpers_IsRobeUnlocked_Patch
{
static bool Prefix(ref string robe)
{
//MelonLoader.MelonLogger.Msg("robe : " + robe);
robe = "Default";
return true;
}
}
[HarmonyPatch(typeof(Horror.Menu))]
[HarmonyPatch(nameof(Horror.Menu.SetupFlashlight))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
static class Horror_Menu_SetLocked_Patch
{
static void Prefix(CharacterFlashlight flashlight)
{
/*
public bool isHidden { get; set; }
public int cost { get; set; }
public bool requiresPurchase { get; set; }
public bool isOwned { get; set; }
*/
//MelonLoader.MelonLogger.Msg("isHidden : " + flashlight.isHidden);
//MelonLoader.MelonLogger.Msg("cost : " + flashlight.cost);
//MelonLoader.MelonLogger.Msg("requiresPurchase : " + flashlight.requiresPurchase);
//MelonLoader.MelonLogger.Msg("isOwned : " + flashlight.isOwned);
flashlight.isHidden = false;
flashlight.cost = 0;
flashlight.requiresPurchase = false;
flashlight.isOwned = true;
return;
}
}
}
}

View File

@@ -1,6 +1,6 @@
# The Town Update
Now includes an Unlock All !!!
Everything should be 100% fixed and working for the last update of Devour, have fun !
Also if you pay attention to the code you'll see a "Hooks" file that contains a Prefix for SetIsBeingKnockedOut, this would normally sets a godmode but as i'm a pussy i'm too scared to test this so yeah, you may be in godmode 24/7. Please create an issue for the feadback of this feature.
# DevourClient
@@ -32,6 +32,7 @@ Everything about spoofing ehre (steam name, server name, level...) will persist
* Steam name spoofer (sets it to "patate", again no input text :/)
* Server name spoofer (sets it to "patate on top !", again no input text :/)
* Fly !! YES ! YOU CAN FLY ! You can also change the speed of it (left shift : down, space : up, up arrow : forward, back arrow : backward, left arrow : left, right arrow : right)
* Unlock all, including flashlights, perks, outfits. Active by default, can't be turned off, no persistance.
* Instant Win (allows you to win instantaniously on any map, works in singleplayer, but not as a client. May be working as host)
## Installation