diff --git a/cheat-library/cheat-library.vcxproj b/cheat-library/cheat-library.vcxproj
index 2ad8cae..21e443c 100644
--- a/cheat-library/cheat-library.vcxproj
+++ b/cheat-library/cheat-library.vcxproj
@@ -102,6 +102,7 @@
+
@@ -194,6 +195,7 @@
+
diff --git a/cheat-library/cheat-library.vcxproj.filters b/cheat-library/cheat-library.vcxproj.filters
index 4e297a7..d10f161 100644
--- a/cheat-library/cheat-library.vcxproj.filters
+++ b/cheat-library/cheat-library.vcxproj.filters
@@ -261,6 +261,9 @@
Header Files
+
+ Header Files
+
@@ -480,6 +483,9 @@
Source Files
+
+ Source Files
+
diff --git a/cheat-library/src/appdata/il2cpp-functions.h b/cheat-library/src/appdata/il2cpp-functions.h
index a9c51d3..69c5738 100644
--- a/cheat-library/src/appdata/il2cpp-functions.h
+++ b/cheat-library/src/appdata/il2cpp-functions.h
@@ -358,6 +358,10 @@ DO_APP_FUNC(0x05C8B870, float, Canvas_get_scaleFactor, (/*Canvas**/void* __this,
DO_APP_FUNC(0x03066EB0, void, LevelTimeManager_SetInternalTimeOfDay, (/*LevelTimeManager**/void* __this, float inHours, bool force, bool refreshEnviroTime, MethodInfo* method));
+// Open team immediately
+// F3 0F 10 83 ?? ?? ?? ?? 0F 29 74 24 30 F3 0F 10 B3 ?? ?? ?? ??
+DO_APP_FUNC(0x01387C20, bool, MoleMole_InLevelMainPageContext_DoTeamCountDown_c_Iterator0__MoveNext, (InLevelMainPageContext_DoTeamCountDown_Iterator* __this, MethodInfo* method));
+
// Singletons
DO_APP_FUNC(0x061A8830, void*, Singleton_GetInstance, (MethodInfo* method));
diff --git a/cheat-library/src/appdata/il2cpp-types.h b/cheat-library/src/appdata/il2cpp-types.h
index a928806..2cb7dc2 100644
--- a/cheat-library/src/appdata/il2cpp-types.h
+++ b/cheat-library/src/appdata/il2cpp-types.h
@@ -10544,6 +10544,20 @@ namespace app {
struct IGKEDHHIDMA__Fields fields;
};
+ struct __declspec(align(8)) InLevelMainPageContext_DoTeamCountDown_Iterator__Fields
+ {
+ int32_t HGCHJINEMCM;
+ struct Object* KOBKOALABHL;
+ struct InLevelMainPageContext* _levelMainPageContext;
+ };
+
+ struct InLevelMainPageContext_DoTeamCountDown_Iterator
+ {
+ struct InLevelMainPageContext_DoTeamCountDown_Iterator__Class* klass;
+ MonitorData* monitor;
+ struct InLevelMainPageContext_DoTeamCountDown_Iterator__Fields fields;
+ };
+
struct MonoMiniMap__Fields {
struct MonoBehaviour__Fields _;
struct Button* _actionButton;
diff --git a/cheat-library/src/user/cheat/cheat.cpp b/cheat-library/src/user/cheat/cheat.cpp
index 58f6614..4c1adfd 100644
--- a/cheat-library/src/user/cheat/cheat.cpp
+++ b/cheat-library/src/user/cheat/cheat.cpp
@@ -44,6 +44,7 @@
#include
#include
#include
+#include
#include
#include
@@ -94,6 +95,7 @@ namespace cheat
FEAT_INST(AutoTreeFarm),
FEAT_INST(AutoDestroy),
FEAT_INST(AutoSeelie),
+ FEAT_INST(OpenTeamImmediately),
FEAT_INST(VacuumLoot),
FEAT_INST(DialogSkip),
FEAT_INST(DumbEnemies),
diff --git a/cheat-library/src/user/cheat/world/OpenTeamImmediately.cpp b/cheat-library/src/user/cheat/world/OpenTeamImmediately.cpp
new file mode 100644
index 0000000..e66e52f
--- /dev/null
+++ b/cheat-library/src/user/cheat/world/OpenTeamImmediately.cpp
@@ -0,0 +1,52 @@
+#include "pch-il2cpp.h"
+#include "OpenTeamImmediately.h"
+
+#include
+
+namespace cheat::feature
+{
+ static bool MoleMole_InLevelMainPageContext_DoTeamCountDown_c_Iterator0__MoveNext_Hook(app::InLevelMainPageContext_DoTeamCountDown_Iterator* __this, MethodInfo* method);
+
+ OpenTeamImmediately::OpenTeamImmediately() : Feature(),
+ NF(f_Enabled, "Enable Open Team Immediately", "Open Team", false)
+ {
+ HookManager::install(app::MoleMole_InLevelMainPageContext_DoTeamCountDown_c_Iterator0__MoveNext, MoleMole_InLevelMainPageContext_DoTeamCountDown_c_Iterator0__MoveNext_Hook);
+ }
+
+ const FeatureGUIInfo& OpenTeamImmediately::GetGUIInfo() const
+ {
+ static const FeatureGUIInfo info{ "", "World", false };
+ return info;
+ }
+
+ void OpenTeamImmediately::DrawMain()
+ {
+ ConfigWidget("Open Team Immediately", f_Enabled, "Open team immediately without waiting for count down.");
+ }
+
+ bool OpenTeamImmediately::NeedStatusDraw() const
+ {
+ return f_Enabled;
+ }
+
+ void OpenTeamImmediately::DrawStatus()
+ {
+ ImGui::Text("OpenTeamImmediately");
+ }
+
+ OpenTeamImmediately& OpenTeamImmediately::GetInstance()
+ {
+ static OpenTeamImmediately instance;
+ return instance;
+ }
+
+ static bool MoleMole_InLevelMainPageContext_DoTeamCountDown_c_Iterator0__MoveNext_Hook(app::InLevelMainPageContext_DoTeamCountDown_Iterator* __this, MethodInfo* method)
+ {
+ auto& openTeamImmediately = OpenTeamImmediately::GetInstance();
+ if (openTeamImmediately.f_Enabled)
+ {
+ __this->fields._levelMainPageContext->fields._countDownTime = __this->fields._levelMainPageContext->fields.EnterCountDown + 1.f;
+ }
+ return CALL_ORIGIN(MoleMole_InLevelMainPageContext_DoTeamCountDown_c_Iterator0__MoveNext_Hook, __this, method);
+ }
+}
\ No newline at end of file
diff --git a/cheat-library/src/user/cheat/world/OpenTeamImmediately.h b/cheat-library/src/user/cheat/world/OpenTeamImmediately.h
new file mode 100644
index 0000000..26bfa8f
--- /dev/null
+++ b/cheat-library/src/user/cheat/world/OpenTeamImmediately.h
@@ -0,0 +1,24 @@
+#include
+#include
+
+namespace cheat::feature
+{
+
+ class OpenTeamImmediately : public Feature
+ {
+ public:
+ config::Field> f_Enabled;
+
+ static OpenTeamImmediately& GetInstance();
+
+ const FeatureGUIInfo& GetGUIInfo() const override;
+ void DrawMain() override;
+
+ virtual bool NeedStatusDraw() const override;
+ void DrawStatus() override;
+
+ private:
+ OpenTeamImmediately();
+ };
+}
+