diff --git a/src/game/appdata/il2cpp-functions.h b/src/game/appdata/il2cpp-functions.h index c9423d7..d051d26 100644 --- a/src/game/appdata/il2cpp-functions.h +++ b/src/game/appdata/il2cpp-functions.h @@ -49,6 +49,7 @@ DO_APP_FUNC(0x00998A00, bool, PCILGJOEPJM_PPAKPBOJLIP, (ENNEJEPMJLJ* IGBKKNODEGM // Mission Time DO_APP_FUNC(0x00D87DD0, void, StageReadyPage_EnterUI, (StageReadyPage* __this, MethodInfo* method)); +DO_APP_FUNC(0x00D8BA20, void, StoryQuestChapterPage_EnterUI, (StoryQuestChapterPage* __this,MethodInfo* method)); // Intro Movie DO_APP_FUNC(0x00A9AE20, void, GameMovie_Update, (GameMovie* __this, MethodInfo* method)); DO_APP_FUNC(0x00A9C720, void, IntroMovie_Update, (IntroMovie* __this, MethodInfo* method)); @@ -62,6 +63,9 @@ DO_APP_FUNC(0x00837510, void, JIBDAHKJHOG_HLLNLMAECBD, (JIBDAHKJHOG* __this, voi DO_APP_FUNC(0x00836650, void, JIBDAHKJHOG_EJLDBPGJGPN, (JIBDAHKJHOG* __this, MethodInfo* method)); // NextStageBattle DO_APP_FUNC(0x00836410, void, JIBDAHKJHOG_COLDHPFDOHG, (JIBDAHKJHOG* __this, MethodInfo* method)); // StageStart +// Shadow Cooldown And Limit +DO_APP_FUNC(0x009A41E0, void, JLLMICINIDA_LFCGJLAFFOM, (JLLMICINIDA* __this, MethodInfo* method)); + // Singletons DO_APP_FUNC(0x00344840, void*, TSingleton_GetInstance, (MethodInfo* method)); // Search for this in IDA DO_APP_FUNC(0x0042C0E0, Object*, TSingleton_1_System_Object__get_Instance, (MethodInfo* method)); // Get the instance of the singleton diff --git a/src/game/appdata/il2cpp-types.h b/src/game/appdata/il2cpp-types.h index 085235f..ec3595b 100644 --- a/src/game/appdata/il2cpp-types.h +++ b/src/game/appdata/il2cpp-types.h @@ -3470,6 +3470,39 @@ namespace app struct KAAIFMKPKAG__Fields fields; }; + struct __declspec(align(8)) PHAMLKDDCGJ__Fields + { + struct GameObject* GDIOINPJJPJ; + struct List_1_ENNEJEPMJLJ_* NHLIIJEJNHK; + struct List_1_PHAMLKDDCGJ_* LFCGEIMEIPH; + struct List_1_ENNEJEPMJLJ_* LJLCMHCDIFM; + struct List_1_UnityEngine_Collider_* EMAMJGPHNBN; + }; + + struct PHAMLKDDCGJ + { + struct PHAMLKDDCGJ__Class* klass; + MonitorData* monitor; + struct PHAMLKDDCGJ__Fields fields; + }; + + struct JLLMICINIDA__Fields + { + struct PHAMLKDDCGJ__Fields _; + float DGPHADJBCDJ; + bool DONILLPJMFC; + int32_t KBDEBMKCNPD; + int32_t KKEDBBAMIJL; + float _HGHNGDFFJBD_k__BackingField; + }; + + struct JLLMICINIDA + { + struct JLLMICINIDA__Class* klass; + MonitorData* monitor; + struct JLLMICINIDA__Fields fields; + }; + struct __declspec(align(8)) PJKMAOEINNH__Fields { bool FAGLAHOBJPM; @@ -4543,6 +4576,60 @@ namespace app struct StageReadyPage__Fields fields; }; + enum class EQuestStoryModeType__Enum : uint8_t + { + None = 0x00, + Default = 0x01, + Reverse = 0x02, + Max = 0x03, + }; + + enum class EQuestStoryDifficultyType__Enum : uint8_t + { + None = 0x00, + Normal = 0x01, + Hard = 0x02, + VeryHard = 0x03, + Reverse = 0x04, + ReverseHard = 0x05, + ReverseVeryHard = 0x06, + Max = 0x07, + }; + + struct StoryQuestChapterPage__Fields + { + struct UIPage__Fields _; + struct UIContentsUnlockItem* ContentsUnlockItem; + struct UIGraph* HLMFGMDDAKK; + struct StoryQuestChapterListItem* FCBKMDAAGJM; + struct StoryQuestChapterListItem* OGKFCDNBFKF; + struct StoryQuestChapterListItem* ScrollListNoticeChapterItem; + struct StoryQuestDifficultyTypeGroup* HPGPMDGOBDH; + struct Button* HEIJCLLJFPG; + struct Button* BtnProgressFocus; + struct UIMusicPlayer__Array* MusicPlayerList; + struct StoryQuestChpaterModeInfo* NCHNBMHIPEJ; + EQuestStoryModeType__Enum KELBEBBNPDA; + EQuestStoryDifficultyType__Enum PGNMMGJMGPI; + struct ContentMenuTabGroup* m_ContentMenuTabGroup; + struct Image__Array* backGroundImages; + struct PGCIJEIMPKB* DKDPEDKNJHN; + struct PHFECEJNAML* NLBDIENNAEJ; + bool NKBDMIPCCPA; + struct Vector3 FLCIAGINIBG; + struct Coroutine* PMNPICKHKKK; + struct RectTransform* CFPOEKLCAFD; + struct AnimationCurve* focusSpeedCurve; + struct RectTransform* MHODEEBGDDA; + }; + + struct StoryQuestChapterPage + { + struct StoryQuestChapterPage__Class* klass; + MonitorData* monitor; + struct StoryQuestChapterPage__Fields fields; + }; + enum class GameMovie_PHMCJCHPFEF__Enum : int32_t { INIT = 0x00000000, diff --git a/src/game/cheat/features/NoCooldown.cpp b/src/game/cheat/features/NoCooldown.cpp index bd49d22..4154609 100644 --- a/src/game/cheat/features/NoCooldown.cpp +++ b/src/game/cheat/features/NoCooldown.cpp @@ -6,6 +6,20 @@ namespace Cheat::Features NoCooldown::NoCooldown() { HookManager::install(app::KAAIFMKPKAG_IOFMGMJCCFO, KAAIFMKPKAG_IOFMGMJCCFO_Hook); + HookManager::install(app::JLLMICINIDA_LFCGJLAFFOM, JLLMICINIDA_LFCGJLAFFOM_Hook); + } + + void NoCooldown::JLLMICINIDA_LFCGJLAFFOM_Hook(app::JLLMICINIDA* __this, MethodInfo* method) + { + auto& vars = Vars::GetInstance(); + + if (vars.NoCooldown.value() && __this) + { + __this->fields.DGPHADJBCDJ = 0.0f; + __this->fields.KKEDBBAMIJL = 1; + } + + return CALL_ORIGIN(JLLMICINIDA_LFCGJLAFFOM_Hook, __this, method); } void* NoCooldown::KAAIFMKPKAG_IOFMGMJCCFO_Hook(app::KAAIFMKPKAG* __this, bool DEJNILEHENL, MethodInfo* method) diff --git a/src/game/cheat/features/NoCooldown.h b/src/game/cheat/features/NoCooldown.h index 9e1f7a6..ca3d979 100644 --- a/src/game/cheat/features/NoCooldown.h +++ b/src/game/cheat/features/NoCooldown.h @@ -11,5 +11,6 @@ namespace Cheat::Features private: static void* KAAIFMKPKAG_IOFMGMJCCFO_Hook(app::KAAIFMKPKAG* __this, bool DEJNILEHENL, MethodInfo* method); + static void JLLMICINIDA_LFCGJLAFFOM_Hook(app::JLLMICINIDA* __this, MethodInfo* method); }; }