Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
283eee124c
|
|||
|
2308b63699
|
|||
|
|
42ccb45e23 | ||
|
|
26dfb5fa23 | ||
|
|
49a5b7f3ab | ||
|
|
b22b56393a | ||
|
|
9a9cb7a6f5 | ||
|
55ff1074fb
|
|||
|
ebfb23588e
|
|||
|
ce6ed66275
|
|||
|
fd79fb2b19
|
|||
|
|
9ea683f29a | ||
|
|
788ffdac9f | ||
|
|
e1c529f0ed | ||
|
|
9d12c57588 | ||
|
|
620828d4a0 | ||
|
|
0e461120eb | ||
|
17569ee1ed
|
1596
DevourClient/ClientMain.cs
Normal file
1596
DevourClient/ClientMain.cs
Normal file
File diff suppressed because it is too large
Load Diff
@@ -99,6 +99,23 @@ namespace DevourClient.Hacks
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "Manor":
|
||||||
|
Il2Cpp.MapController mapc = UnityEngine.Object.FindObjectOfType<Il2Cpp.MapController>();
|
||||||
|
if (!mapc)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (burnAll)
|
||||||
|
{
|
||||||
|
mapc.SetProgressTo(10);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mapc.SetProgressTo(mapc.GetMapProgress() + 1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Il2Cpp.SurvivalObjectBurnController _altar = UnityEngine.Object.FindObjectOfType<Il2Cpp.SurvivalObjectBurnController>();
|
Il2Cpp.SurvivalObjectBurnController _altar = UnityEngine.Object.FindObjectOfType<Il2Cpp.SurvivalObjectBurnController>();
|
||||||
if (!_altar) {
|
if (!_altar) {
|
||||||
@@ -121,17 +138,38 @@ namespace DevourClient.Hacks
|
|||||||
{
|
{
|
||||||
if (!Il2CppPhoton.Bolt.BoltNetwork.IsServer)
|
if (!Il2CppPhoton.Bolt.BoltNetwork.IsServer)
|
||||||
{
|
{
|
||||||
MelonLogger.Msg("You need to be host to spawn stuff !");
|
Hacks.Misc.ShowMessageBox("You need to be host to spawn stuff !");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GameObject _localPlayer = Helpers.Entities.LocalPlayer_.p_GameObject;
|
||||||
|
|
||||||
|
if (_localPlayer != null)
|
||||||
|
{
|
||||||
|
Vector3 pos = _localPlayer.transform.position;
|
||||||
|
|
||||||
GameObject _azazel;
|
GameObject _azazel;
|
||||||
Vector3 pos = Player.GetPlayer().transform.position;
|
|
||||||
|
|
||||||
_azazel = BoltNetwork.Instantiate(_azazelPrefabId, new Vector3(pos.x, pos.y, pos.z + 1f), Quaternion.identity);
|
_azazel = BoltNetwork.Instantiate(_azazelPrefabId, new Vector3(pos.x, pos.y, pos.z + 1f), Quaternion.identity);
|
||||||
|
Il2Cpp.SurvivalAzazelBehaviour? azazelBehaviour = _azazel?.GetComponent<Il2Cpp.SurvivalAzazelBehaviour>();
|
||||||
|
|
||||||
|
if (_azazel != null)
|
||||||
|
{
|
||||||
|
if (azazelBehaviour != null)
|
||||||
|
{
|
||||||
_azazel.gameObject.GetComponent<Il2Cpp.SurvivalAzazelBehaviour>().Spawn();
|
_azazel.gameObject.GetComponent<Il2Cpp.SurvivalAzazelBehaviour>().Spawn();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MelonLogger.Error("azazelBehaviour is null!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MelonLogger.Error("azazel is null!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void CarryObject(string name)
|
public static void CarryObject(string name)
|
||||||
{
|
{
|
||||||
@@ -187,9 +225,9 @@ namespace DevourClient.Hacks
|
|||||||
|
|
||||||
BoltLauncher.StartServer(__config, null);
|
BoltLauncher.StartServer(__config, null);
|
||||||
|
|
||||||
Il2CppHorror.Menu.ShowCanvasGroup(_menu.loadingCanvasGroup, true);
|
_menu.ShowCanvasGroup(_menu.loadingCanvasGroup, true);
|
||||||
Il2CppHorror.Menu.ShowCanvasGroup(_menu.hostCanvasGroup, false);
|
_menu.ShowCanvasGroup(_menu.hostCanvasGroup, false);
|
||||||
Il2CppHorror.Menu.ShowCanvasGroup(_menu.mainMenuCanvasGroup, false);
|
_menu.ShowCanvasGroup(_menu.mainMenuCanvasGroup, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetSteamName(string name)
|
public static void SetSteamName(string name)
|
||||||
@@ -411,11 +449,36 @@ namespace DevourClient.Hacks
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void ShowMessageBox(string message)
|
public static void DespawnCrows()
|
||||||
|
{
|
||||||
|
foreach (Il2Cpp.CrowBehaviour crow in Helpers.Entities.Crows)
|
||||||
|
{
|
||||||
|
if (crow != null)
|
||||||
|
{
|
||||||
|
crow.Despawn();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void DespawnLumps()
|
||||||
|
{
|
||||||
|
foreach (Il2Cpp.ManorLumpController lump in Helpers.Entities.Lumps)
|
||||||
|
{
|
||||||
|
if (lump != null)
|
||||||
|
{
|
||||||
|
lump.Dissolve();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int ShowMessageBox(string message)
|
||||||
{
|
{
|
||||||
//not used, might be useful, some day
|
//not used, might be useful, some day
|
||||||
Il2CppHorror.Menu menu = UnityEngine.Object.FindObjectOfType<Il2CppHorror.Menu>();
|
Il2CppHorror.Menu menu = UnityEngine.Object.FindObjectOfType<Il2CppHorror.Menu>();
|
||||||
|
if (menu == null)
|
||||||
|
return 1;
|
||||||
menu.ShowMessageModal(message);
|
menu.ShowMessageModal(message);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void PlaySound()
|
public static void PlaySound()
|
||||||
|
|||||||
@@ -1,17 +1,30 @@
|
|||||||
namespace DevourClient.Hacks
|
using Il2CppSteamworks;
|
||||||
|
|
||||||
|
namespace DevourClient.Hacks
|
||||||
{
|
{
|
||||||
public class Unlock
|
public class Unlock
|
||||||
{
|
{
|
||||||
public static void Achievements()
|
public static void Achievements()
|
||||||
{
|
{
|
||||||
Il2Cpp.AchievementHelpers ah = UnityEngine.Object.FindObjectOfType<Il2Cpp.AchievementHelpers>();
|
//Il2Cpp.AchievementHelpers ah = UnityEngine.Object.FindObjectOfType<Il2Cpp.AchievementHelpers>();
|
||||||
|
|
||||||
string[] achievements = { "STAT_NUM_BLEACH_USED", "ACH_WON_TOWN_COOP", "ACH_WON_TOWN_HARD", "ACH_WON_SLAUGHTERHOUSE_SP", "ACH_WON_SP", "ACH_WON_SLAUGHTERHOUSE_NIGHTMARE", "ACH_WON_SLAUGHTERHOUSE_NIGHTMARE_SP", "ACH_WON_SLAUGHTERHOUSE_HARD", "ACH_WON_SLAUGHTERHOUSE_HARD_SP", "ACH_WON_NO_MEDKITS", "ACH_WON_SLAUGHTERHOUSE_COOP", "ACH_WON_NO_BATTERIES", "ACH_WON_NO_KNOCKOUT_COOP", "ACH_WON_NIGHTMARE_NO_BATTERIES", "ACH_WON_NIGHTMARE_NO_MEDKITS", "ACH_WON_MOLLY_NIGHTMARE_SP", "ACH_WON_MOLLY_SP", "ACH_WON_TOWN_NIGHTMARE_SP", "ACH_WON_TOWN_SP", "ACH_WON_TOWN_HARD_SP", "ACH_WON_TOWN_NIGHTMARE", "ACH_UNLOCKED_CAGE", "ACH_WIN_NIGHTMARE", "ACH_SURVIVED_TO_7_GOATS", "ACH_UNLOCKED_ATTIC_CAGE", "ACH_SURVIVED_TO_3_GOATS", "ACH_SURVIVED_TO_5_GOATS", "ACH_STAGGERED_SAM_20_TIMES", "ACH_STAGGERED_ZARA_20_TIMES", "ACH_STAGGERED_MOLLY_20_TIMES", "ACH_STAGGERED_NATHAN_20_TIMES", "ACH_REVIVED_20_PLAYERS", "ACH_STAGGERED_ANNA_20_TIMES", "ACH_NEVER_KNOCKED_OUT", "ACH_ONLY_ONE_KNOCKED_OUT", "ACH_LOST", "ACH_LURED_20_GOATS", "ACH_WON_MOLLY_HARD_SP", "ACH_WON_MOLLY_NIGHTMARE", "ACH_WON_MOLLY_COOP", "ACH_WON_MOLLY_HARD", "ACH_WON_INN_NIGHTMARE_SP", "ACH_WON_INN_SP", "ACH_WON_INN_HARD_SP", "ACH_WON_INN_NIGHTMARE", "ACH_WON_INN_COOP", "ACH_WON_INN_HARD", "ACH_WON_HARD_NO_MEDKITS", "ACH_WON_HARD_SP", "ACH_WON_HARD", "ACH_WON_HARD_NO_BATTERIES", "ACH_WIN_NIGHTMARE_SP", "ACH_WON_COOP", "ACH_ALL_ROSES", "ACH_BEAT_GAME_5_TIMES", "ACH_ALL_NOTES_READ", "ACH_ALL_PATCHES", "ACH_ALL_CLIPBOARDS_READ", "ACH_ALL_HORSESHOES", "ACH_ALL_BARBED_WIRES", "ACH_ALL_CHERRY_BLOSSOM", "ACH_20_POOPS_SEARCHED", "ACH_20_TRASH_CANS_KICKED", "ACH_100_GASOLINE_USED", "ACH_20_BLEACH_USED", "ACH_100_EGGS_DESTROYED", "ACH_100_FUSES_USED", "ACH_1000_PIGS_DESTROYED", "ACH_100_BOOKS_CURSED", "ACH_KNOCKED_OUT_IN_HIDING", "ACH_KNOCKOUT_OUT_BY_DEMON", "ACH_KNOCKED_OUT_20_TIMES", "ACH_KNOCKED_OUT_BY_ANNA", "ACH_FRIED_20_DEMONS", "ACH_FRIED_RAT", "ACH_FRIED_100_CORPSES", "ACH_FRIED_100_INMATES", "ACH_FRIED_1000_GHOSTS", "ACH_FRIED_1000_SPIDERS", "ACH_CALM_MOLLY_10_TIMES", "ACH_FRIED_1000_BOARS", "ACH_CALMED_ANNA", "ACH_CALMED_ANNA_10_TIMES", "ACH_BEAT_GAME_5_TIMES_IN_NIGHTMARE_MODE", "ACH_BURNT_GOAT", "ACH_1000_BOOKS_DESTROYED" };
|
|
||||||
|
|
||||||
|
string[] achievements = { "ACH_WON_Manor_NIGHTMARE_SP", "ACH_WON_NIGHTMARE_", "ACH_WON_TOWN_HARD", "ACH_WON_MANOR_NIGHTMARE_SP", "ACH_WON_INN_HARD_SP", "ACH_WON_SLAUGHTERHOUSE_COOP", "ACH_ALL_FEATHERS", "ACH_WON_INN_HARD", "ACH_ALL_BARBED_WIRES", "ACH_ALL_HORSESHOES", "ACH_WON_MOLLY_HARD", "ACH_WON_TOWN_NIGHTMARE_SP", "ACH_WON_MOLLY_HARD_SP", "ACH_WON_INN_SP", "ACH_100_GASOLINE_USED", "ACH_WON_MANOR_HARD_SP", "ACH_WON_MOLLY_SP", "ACH_100_EGGS_DESTROYED", "ACH_1000_PIGS_DESTROYED", "ACH_WON_TOWN_COOP", "ACH_WON_SLAUGHTERHOUSE_HARD_SP", "ACH_WON_MOLLY_COOP", "ACH_100_FUSES_USED", "ACH_1000_BOOKS_DESTROYED", "ACH_WON_MOLLY_NIGHTMARE_SP", "ACH_WON_SLAUGHTERHOUSE_SP", "ACH_ALL_PATCHES", "ACH_WON_INN_COOP", "ACH_WON_TOWN_NIGHTMARE", "ACH_ALL_CHERRY_BLOSSOM", "ACH_WON_MOLLY_NIGHTMARE", "ACH_WON_TOWN_HARD_SP", "ACH_ALL_ROSES", "ACH_WON_INN_NIGHTMARE_SP", "ACH_1000_HEADS_BURIED", "ACH_WON_SLAUGHTERHOUSE_NIGHTMARE_SP", "ACH_WON_TOWN_SP", "ACH_WON_INN_NIGHTMARE", "ACH_WON_SLAUGHTERHOUSE_HARD", "ACH_WON_MANOR_COOP", "ACH_WON_MANOR_HARD", "ACH_WON_SLAUGHTERHOUSE_NIGHTMARE", "ACH_WON_MANOR_SP", "ACH_WON_MANOR_NIGHTMARE", "ACH_ALL_CLIPBOARDS_READ", "ACH_ALL_NOTES_READ", "ACH_UNLOCKED_ATTIC_CAGE", "ACH_UNLOCKED_CAGE", "ACH_CALMED_ANNA", "ACH_FRIED_RAT", "ACH_BURNT_GOAT", "ACH_KNOCKED_OUT_BY_ANNA", "ACH_KNOCKOUT_OUT_BY_DEMON", "ACH_KNOCKED_OUT_IN_HIDING", "STAT_NUM_BLEACH_USED", "ACH_WON_SP", "ACH_WIN_NIGHTMARE", "ACH_WON_HARD_SP", "ACH_WON_COOP", "ACH_WON_HARD", "ACH_WIN_NIGHTMARE_SP", "ACH_LOST", "ACH_NEVER_KNOCKED_OUT", "ACH_ONLY_ONE_KNOCKED_OUT", "ACH_WON_HARD_NO_MEDKITS", "ACH_WON_NO_MEDKITS", "ACH_WON_NO_BATTERIES", "ACH_WON_NIGHTMARE_NO_MEDKITS", "ACH_WON_NO_KNOCKOUT_COOP", "ACH_WON_HARD_NO_BATTERIES", "ACH_WON_HARD_{0}", "ACH_WON_NIGHTMARE_{0}", "ACH_WON_NIGHTMARE_NO_BATTERIES", "ACH_SURVIVED_TO_7_GOATS", "ACH_SURVIVED_TO_5_GOATS", "ACH_SURVIVED_TO_3_GOATS", };
|
||||||
|
string[] stats = { "STAT_ROSES_COLLECTED", "STAT_BARBED_WIRES_COLLECTED", "STAT_HORSESHOES_COLLECTED", "STAT_PATCHES_COLLECTED", "STAT_CHERRY_BLOSSOM_COLLECTED", "STAT_FEATHERS_COLLECTED", "STAT_NUM_CORPSES_FRIED", "STAT_NUM_GHOSTS_FRIED", "STAT_NUM_MOLLY_CALMED_DOWN", "STAT_NUM_ANNA_CALMED_DOWN", "STAT_NUM_ANNA_STAGGERS", "STAT_NUM_NATHAN_STAGGERS", "STAT_NUM_APRIL_STAGGERS", "STAT_NUM_ZARA_STAGGERS", "STAT_NUM_SAM_STAGGERS", "STAT_NUM_MOLLY_STAGGERS", "STAT_NUM_CROWS_FRIED", "STAT_NUM_BOARS_FRIED", "STAT_NUM_SPIDERS_FRIED", "STAT_NUM_INMATES_FRIED", "STAT_NUM_DEMONS_FRIED", "STAT_NUM_KNOCKOUTS", "STAT_KNOCKOUTS_BY_", "STAT_NUM_BOOKS_CURSED", "STAT_NUM_ALCOHOL_USED", "STAT_NUM_BLEACH_USED", "STAT_NUM_HEADS_BURIED", "STAT_POOPS_SEARCHED", "STAT_EXP", "STAT_NUM_PIGS_DESTROYED", "STAT_NUM_WON_HARD", "STAT_NUM_WON_NIGHTMARE", "STAT_NUM_WON", "STAT_NUM_BOOKS_DESTROYED", "STAT_NUM_GASOLINE_USED", "STAT_NUM_GOATS_DESTROYED", "STAT_NUM_RATS_DESTROYED", "STAT_NUM_FUSES_USED", "STAT_KNOCKOUTS_BY_NATHAN", "STAT_KNOCKOUTS_BY_GHOST", "STAT_INMATES", "STAT_NUM_REVIVES", "STAT_GHOSTS", "STAT_HEADS", "STAT_GOATS_LURED", "STAT_KNOCKOUTS_BY_MOLLY", "STAT_KNOCKOUTS_BY_BOAR", "STAT_NUM_EGGS_DESTROYED", "STAT_DEMONS", "STAT_KNOCKOUTS_BY_SPIDER", "STAT_CATEGORY_MISC", "STAT_BOOKS", "STAT_CATEGORY_WINS", "STAT_KNOCKOUTS_BY_SAM", "STAT_HEADS_CLEANSED", "STAT_BOARS", "STAT_KNOCKOUTS_BY_APRIL", "STAT_RATS", "STAT_HEADS_LURED", "STAT_CATEGORY_MINIONS_BANISHED", "STAT_CROWS", "STAT_PIGS", "STAT_PIGS_LURED", "STAT_CATEGORY_AZAZEL_STAGGERS", "STAT_GOATS", "STAT_KNOCKOUTS_BY_ZARA", "STAT_KNOCKOUTS_BY_DEMON", "STAT_KNOCKOUTS_BY_ANNA", "STAT_EGGS", "STAT_CATEGORY_ANIMALS_LURED", "STAT_CORPSES_FREED", "STAT_KNOCKOUTS_BY_INMATE", "STAT_SPIDERS", "STAT_RATS_LURED", "STAT_CATEGORY_RITUAL_ITEMS_DESTROYED", "STAT_CATEGORY_ITEMS_USED", "STAT_KNOCKOUTS_BY_CROW", "STAT_CATEGORY_KNOCKOUTS", "STAT_NUM_WON_NORMAL", "STAT_TOTAL", "STAT_TRASH_CANS_KICKED", };
|
||||||
for (int i = 0; i < achievements.Length; i++)
|
for (int i = 0; i < achievements.Length; i++)
|
||||||
{
|
{
|
||||||
ah.Unlock(achievements[i]);
|
Il2CppSteamworks.SteamUserStats.SetAchievement(achievements[i]);
|
||||||
|
//ah.Unlock(achievements[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int j = 0; j < stats.Length; j++)
|
||||||
|
{
|
||||||
|
Il2CppSteamworks.SteamUserStats.SetStat(stats[j], 666);
|
||||||
|
}
|
||||||
|
|
||||||
|
MelonLoader.MelonLogger.Warning("You need to restart your game for the achievements to be unlocked !!!");
|
||||||
|
MelonLoader.MelonLogger.Warning("You need to restart your game for the achievements to be unlocked !!!");
|
||||||
|
MelonLoader.MelonLogger.Warning("You need to restart your game for the achievements to be unlocked !!!");
|
||||||
|
MelonLoader.MelonLogger.Warning("You need to restart your game for the achievements to be unlocked !!!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Doors()
|
public static void Doors()
|
||||||
|
|||||||
@@ -21,6 +21,8 @@
|
|||||||
return "Town";
|
return "Town";
|
||||||
case "Slaughterhouse":
|
case "Slaughterhouse":
|
||||||
return "Slaughterhouse";
|
return "Slaughterhouse";
|
||||||
|
case "Manor":
|
||||||
|
return "Manor";
|
||||||
default:
|
default:
|
||||||
return "Menu";
|
return "Menu";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ namespace DevourClient.Helpers
|
|||||||
}
|
}
|
||||||
|
|
||||||
BoltNetwork.Instantiate(BoltPrefabs.Cage, p_GameObject.transform.position, Quaternion.identity);
|
BoltNetwork.Instantiate(BoltPrefabs.Cage, p_GameObject.transform.position, Quaternion.identity);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TP()
|
public void TP()
|
||||||
@@ -104,11 +103,36 @@ namespace DevourClient.Helpers
|
|||||||
|
|
||||||
UltimateCharacterLocomotion ucl = Helpers.Map.GetAzazel().GetComponent<UltimateCharacterLocomotion>();
|
UltimateCharacterLocomotion ucl = Helpers.Map.GetAzazel().GetComponent<UltimateCharacterLocomotion>();
|
||||||
|
|
||||||
try
|
if (ucl)
|
||||||
{
|
{
|
||||||
ucl.SetPosition(p_GameObject.transform.position);
|
ucl.SetPosition(p_GameObject.transform.position);
|
||||||
}
|
}
|
||||||
catch { return; }
|
else
|
||||||
|
{
|
||||||
|
MelonLogger.Error("Azazel not found!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ShootPlayer()
|
||||||
|
{
|
||||||
|
if (!BoltNetwork.IsServer)
|
||||||
|
{
|
||||||
|
MelonLogger.Msg("You need to be server !");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (p_GameObject == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Il2Cpp.AzazelSamBehaviour _azazelSam = UnityEngine.Object.FindObjectOfType<Il2Cpp.AzazelSamBehaviour>();
|
||||||
|
|
||||||
|
if (_azazelSam)
|
||||||
|
{
|
||||||
|
_azazelSam.OnShootPlayer(p_GameObject, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class Player
|
public class Player
|
||||||
@@ -163,10 +187,12 @@ namespace DevourClient.Helpers
|
|||||||
public static Il2Cpp.SurvivalAzazelBehaviour[] Azazels = default!;
|
public static Il2Cpp.SurvivalAzazelBehaviour[] Azazels = default!;
|
||||||
public static Il2Cpp.BoarBehaviour[] Boars = default!;
|
public static Il2Cpp.BoarBehaviour[] Boars = default!;
|
||||||
public static Il2Cpp.CorpseBehaviour[] Corpses = default!;
|
public static Il2Cpp.CorpseBehaviour[] Corpses = default!;
|
||||||
|
public static Il2Cpp.CrowBehaviour[] Crows = default!;
|
||||||
|
public static Il2Cpp.ManorLumpController[] Lumps = default!;
|
||||||
|
|
||||||
public static IEnumerator GetLocalPlayer()
|
public static IEnumerator GetLocalPlayer()
|
||||||
{
|
{
|
||||||
for (;;)
|
while (true)
|
||||||
{
|
{
|
||||||
GameObject[] currentPlayers = GameObject.FindGameObjectsWithTag("Player");
|
GameObject[] currentPlayers = GameObject.FindGameObjectsWithTag("Player");
|
||||||
|
|
||||||
@@ -186,7 +212,7 @@ namespace DevourClient.Helpers
|
|||||||
|
|
||||||
public static IEnumerator GetAllPlayers()
|
public static IEnumerator GetAllPlayers()
|
||||||
{
|
{
|
||||||
for (;;)
|
while (true)
|
||||||
{
|
{
|
||||||
GameObject[] players = GameObject.FindGameObjectsWithTag("Player");
|
GameObject[] players = GameObject.FindGameObjectsWithTag("Player");
|
||||||
Players = new BasePlayer[players.Length];
|
Players = new BasePlayer[players.Length];
|
||||||
@@ -223,7 +249,7 @@ namespace DevourClient.Helpers
|
|||||||
}
|
}
|
||||||
public static IEnumerator GetGoatsAndRats()
|
public static IEnumerator GetGoatsAndRats()
|
||||||
{
|
{
|
||||||
for (;;)
|
while (true)
|
||||||
{
|
{
|
||||||
GoatsAndRats = Il2Cpp.GoatBehaviour.FindObjectsOfType<Il2Cpp.GoatBehaviour>();
|
GoatsAndRats = Il2Cpp.GoatBehaviour.FindObjectsOfType<Il2Cpp.GoatBehaviour>();
|
||||||
|
|
||||||
@@ -234,7 +260,7 @@ namespace DevourClient.Helpers
|
|||||||
|
|
||||||
public static IEnumerator GetSurvivalInteractables()
|
public static IEnumerator GetSurvivalInteractables()
|
||||||
{
|
{
|
||||||
for (;;)
|
while (true)
|
||||||
{
|
{
|
||||||
SurvivalInteractables = Il2Cpp.SurvivalInteractable.FindObjectsOfType<Il2Cpp.SurvivalInteractable>();
|
SurvivalInteractables = Il2Cpp.SurvivalInteractable.FindObjectsOfType<Il2Cpp.SurvivalInteractable>();
|
||||||
|
|
||||||
@@ -245,7 +271,7 @@ namespace DevourClient.Helpers
|
|||||||
|
|
||||||
public static IEnumerator GetKeys()
|
public static IEnumerator GetKeys()
|
||||||
{
|
{
|
||||||
for (;;)
|
while (true)
|
||||||
{
|
{
|
||||||
Keys = Il2Cpp.KeyBehaviour.FindObjectsOfType<Il2Cpp.KeyBehaviour>();
|
Keys = Il2Cpp.KeyBehaviour.FindObjectsOfType<Il2Cpp.KeyBehaviour>();
|
||||||
|
|
||||||
@@ -256,7 +282,7 @@ namespace DevourClient.Helpers
|
|||||||
|
|
||||||
public static IEnumerator GetDemons()
|
public static IEnumerator GetDemons()
|
||||||
{
|
{
|
||||||
for (;;)
|
while (true)
|
||||||
{
|
{
|
||||||
Demons = Il2Cpp.SurvivalDemonBehaviour.FindObjectsOfType<Il2Cpp.SurvivalDemonBehaviour>();
|
Demons = Il2Cpp.SurvivalDemonBehaviour.FindObjectsOfType<Il2Cpp.SurvivalDemonBehaviour>();
|
||||||
|
|
||||||
@@ -267,7 +293,7 @@ namespace DevourClient.Helpers
|
|||||||
|
|
||||||
public static IEnumerator GetSpiders()
|
public static IEnumerator GetSpiders()
|
||||||
{
|
{
|
||||||
for (;;)
|
while (true)
|
||||||
{
|
{
|
||||||
Spiders = Il2Cpp.SpiderBehaviour.FindObjectsOfType<Il2Cpp.SpiderBehaviour>();
|
Spiders = Il2Cpp.SpiderBehaviour.FindObjectsOfType<Il2Cpp.SpiderBehaviour>();
|
||||||
|
|
||||||
@@ -278,7 +304,7 @@ namespace DevourClient.Helpers
|
|||||||
|
|
||||||
public static IEnumerator GetGhosts()
|
public static IEnumerator GetGhosts()
|
||||||
{
|
{
|
||||||
for (;;)
|
while (true)
|
||||||
{
|
{
|
||||||
Ghosts = Il2Cpp.GhostBehaviour.FindObjectsOfType<Il2Cpp.GhostBehaviour>();
|
Ghosts = Il2Cpp.GhostBehaviour.FindObjectsOfType<Il2Cpp.GhostBehaviour>();
|
||||||
|
|
||||||
@@ -289,7 +315,7 @@ namespace DevourClient.Helpers
|
|||||||
|
|
||||||
public static IEnumerator GetBoars()
|
public static IEnumerator GetBoars()
|
||||||
{
|
{
|
||||||
for (; ; )
|
while (true)
|
||||||
{
|
{
|
||||||
Boars = Il2Cpp.BoarBehaviour.FindObjectsOfType<Il2Cpp.BoarBehaviour>();
|
Boars = Il2Cpp.BoarBehaviour.FindObjectsOfType<Il2Cpp.BoarBehaviour>();
|
||||||
|
|
||||||
@@ -300,7 +326,7 @@ namespace DevourClient.Helpers
|
|||||||
|
|
||||||
public static IEnumerator GetCorpses()
|
public static IEnumerator GetCorpses()
|
||||||
{
|
{
|
||||||
for (; ; )
|
while (true)
|
||||||
{
|
{
|
||||||
Corpses = Il2Cpp.CorpseBehaviour.FindObjectsOfType<Il2Cpp.CorpseBehaviour>();
|
Corpses = Il2Cpp.CorpseBehaviour.FindObjectsOfType<Il2Cpp.CorpseBehaviour>();
|
||||||
|
|
||||||
@@ -309,12 +335,34 @@ namespace DevourClient.Helpers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static IEnumerator GetCrows()
|
||||||
|
{
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
Crows = Il2Cpp.CrowBehaviour.FindObjectsOfType<Il2Cpp.CrowBehaviour>();
|
||||||
|
|
||||||
|
// Wait 5 seconds before caching objects again.
|
||||||
|
yield return new WaitForSeconds(5f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static IEnumerator GetLumps()
|
||||||
|
{
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
Lumps = Il2Cpp.ManorLumpController.FindObjectsOfType<Il2Cpp.ManorLumpController>();
|
||||||
|
|
||||||
|
// Wait 5 seconds before caching objects again.
|
||||||
|
yield return new WaitForSeconds(5f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static IEnumerator GetAzazels()
|
public static IEnumerator GetAzazels()
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* ikr AzazelS, because in case we spawn multiple we want the esp to render all of them
|
* ikr AzazelS, because in case we spawn multiple we want the esp to render all of them
|
||||||
*/
|
*/
|
||||||
for (;;)
|
while (true)
|
||||||
{
|
{
|
||||||
Azazels = Il2Cpp.SurvivalAzazelBehaviour.FindObjectsOfType<Il2Cpp.SurvivalAzazelBehaviour>();
|
Azazels = Il2Cpp.SurvivalAzazelBehaviour.FindObjectsOfType<Il2Cpp.SurvivalAzazelBehaviour>();
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using HarmonyLib;
|
using HarmonyLib;
|
||||||
using DevourClient;
|
|
||||||
|
|
||||||
namespace DevourClient.Hooks
|
namespace DevourClient.Hooks
|
||||||
{
|
{
|
||||||
@@ -11,7 +10,7 @@ namespace DevourClient.Hooks
|
|||||||
[HarmonyPrefix]
|
[HarmonyPrefix]
|
||||||
static void Prefix(ref Il2CppOpsive.UltimateCharacterController.Traits.Attribute attribute)
|
static void Prefix(ref Il2CppOpsive.UltimateCharacterController.Traits.Attribute attribute)
|
||||||
{
|
{
|
||||||
if (Load.unlimitedUV && attribute.m_Name == "Battery")
|
if (ClientMain.unlimitedUV && attribute.m_Name == "Battery")
|
||||||
{
|
{
|
||||||
attribute.m_Value = 100.0f;
|
attribute.m_Value = 100.0f;
|
||||||
return;
|
return;
|
||||||
@@ -25,9 +24,9 @@ namespace DevourClient.Hooks
|
|||||||
{
|
{
|
||||||
static void Postfix(ref Il2Cpp.RankHelpers.ExpGainInfo __result)
|
static void Postfix(ref Il2Cpp.RankHelpers.ExpGainInfo __result)
|
||||||
{
|
{
|
||||||
if (Load.exp_modifier)
|
if (ClientMain.exp_modifier)
|
||||||
{
|
{
|
||||||
__result.totalExp = (int)Load.exp;
|
__result.totalExp = (int)ClientMain.exp;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -73,8 +72,6 @@ namespace DevourClient.Hooks
|
|||||||
//MelonLoader.MelonLogger.Msg("currentPrice : " + outfit.currentPrice);
|
//MelonLoader.MelonLogger.Msg("currentPrice : " + outfit.currentPrice);
|
||||||
//MelonLoader.MelonLogger.Msg("isOwned : " + outfit.isOwned);
|
//MelonLoader.MelonLogger.Msg("isOwned : " + outfit.isOwned);
|
||||||
//MelonLoader.MelonLogger.Msg("isHidden : " + outfit.isHidden);
|
//MelonLoader.MelonLogger.Msg("isHidden : " + outfit.isHidden);
|
||||||
outfit.basePrice = 0;
|
|
||||||
outfit.currentPrice = 0;
|
|
||||||
outfit.isOwned = true;
|
outfit.isOwned = true;
|
||||||
outfit.isHidden = false;
|
outfit.isHidden = false;
|
||||||
return;
|
return;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
17
README.md
17
README.md
@@ -49,11 +49,19 @@ Everything about spoofing ehre (steam name, server name, level...) will persist
|
|||||||
* Fullbright
|
* Fullbright
|
||||||
* Create a lobby with no player limit
|
* Create a lobby with no player limit
|
||||||
|
|
||||||
## Installation
|
## English Installation Tutorial
|
||||||
For my French fellas out there, 1tap2times made a French video tutorial for the installation of the Mod : [link](https://vimeo.com/789315436)<br>
|
|
||||||
For my German friends, KiwiJuice02 made a german video tutorial right here : [link](https://www.youtube.com/watch?v=Ntablvo6y-I)<br>
|
|
||||||
In order to get all of this working you need to generate the DevourClient.dll file by building the source code.
|
|
||||||
|
|
||||||
|
Raz did a great job at writing a guide on how to install the mod, link here : [link](https://docs.google.com/presentation/d/1YdIE5wwGWiJZ2RVughFYrlXUnFrxol-HI7QyLY_m0zc/edit#slide=id.p)<br>
|
||||||
|
|
||||||
|
## French Installation Tutorial
|
||||||
|
|
||||||
|
For my French fellas out there, 1tap2times made a French video tutorial for the installation of the Mod : [link](https://vimeo.com/789315436)<br>
|
||||||
|
|
||||||
|
## German Video Installation Tutorial
|
||||||
|
|
||||||
|
For my German friends, KiwiJuice02 made a german video tutorial right here : [link](https://www.youtube.com/watch?v=Ntablvo6y-I)<br>
|
||||||
|
|
||||||
|
In order to get all of this working you need to generate the DevourClient.dll file by building the source code.
|
||||||
0. Install [.NET 6 SDK and runtime](https://dotnet.microsoft.com/en-us/download/dotnet/6.0).
|
0. Install [.NET 6 SDK and runtime](https://dotnet.microsoft.com/en-us/download/dotnet/6.0).
|
||||||
1. [Build the cheat from source](https://github.com/ALittlePatate/DevourClient#building-from-source).
|
1. [Build the cheat from source](https://github.com/ALittlePatate/DevourClient#building-from-source).
|
||||||
2. Put the DevourClient.dll file located in `DevourClient\bin\Release\net6.0` inside `C:\Program Files (x86)\Steam\steamapps\common\Devour\Mods` folder.
|
2. Put the DevourClient.dll file located in `DevourClient\bin\Release\net6.0` inside `C:\Program Files (x86)\Steam\steamapps\common\Devour\Mods` folder.
|
||||||
@@ -94,6 +102,7 @@ In order to get all of this working you need to generate the DevourClient.dll fi
|
|||||||
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppudpkit.platform.photon.dll`
|
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppudpkit.platform.photon.dll`
|
||||||
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.AnimationModule.dll`
|
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.AnimationModule.dll`
|
||||||
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.PhysicsModule.dll`
|
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\UnityEngine.PhysicsModule.dll`
|
||||||
|
* `C:\Program Files (x86)\Steam\steamapps\common\Devour\MelonLoader\Il2CppAssemblies\Il2Cppcom.rlabrecque.steamworks.net.dll`
|
||||||
7. Build the solutions in Release | Any CPU
|
7. Build the solutions in Release | Any CPU
|
||||||
|
|
||||||
## Contact
|
## Contact
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 544 KiB After Width: | Height: | Size: 611 KiB |
@@ -11,17 +11,26 @@ import json
|
|||||||
f = open('script.json')
|
f = open('script.json')
|
||||||
data = json.load(f)
|
data = json.load(f)
|
||||||
|
|
||||||
o = open('out.cs', 'a')
|
o = open('out.cs', 'w')
|
||||||
o.write("string[] achievements = {")
|
o.write("string[] achievements = {")
|
||||||
tot = 0
|
tot_ach = 0
|
||||||
for i in data['ScriptString']:
|
for i in data['ScriptString']:
|
||||||
v = i["Value"]
|
v = i["Value"]
|
||||||
if "ACH_" in v :
|
if "ACH_" in v :
|
||||||
o.write('"'+v+'", ')
|
o.write('"'+v+'", ')
|
||||||
tot+=1
|
tot_ach+=1
|
||||||
|
o.write("};\n")
|
||||||
|
|
||||||
o.write("};")
|
tot_stat = 0
|
||||||
print(f"{tot} achievements")
|
o.write("string[] stats = {")
|
||||||
|
for j in data['ScriptString']:
|
||||||
|
v = j["Value"]
|
||||||
|
if "STAT_" in v :
|
||||||
|
o.write('"'+v+'", ')
|
||||||
|
tot_stat+=1
|
||||||
|
o.write("};\n")
|
||||||
|
|
||||||
|
print(f"{tot_ach} achievements, {tot_stat} stats")
|
||||||
|
|
||||||
# Closing files
|
# Closing files
|
||||||
o.close()
|
o.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user