using System; using System.Collections.Generic; using FFXIVClientStructs.FFXIV.Client.Game.Control; using FFXIVClientStructs.FFXIV.Client.Game.UI; using InteropGenerator.Runtime; namespace LLib.GameData; public static class PlayerStateHelper { public unsafe static string GetCharacterName() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 622565099 : 622565096); while (true) { int num2 = num; int num3 = 622565097; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return ptr->CharacterNameString; case 1: return string.Empty; } continue; IL_004b: num = 622565096; } } public unsafe static string GetOnlineId() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 1549891514 : 1549891513); while (true) { int num2 = num; int num3 = 1549891512; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 2: return ptr->OnlineIdString; case 1: return string.Empty; } continue; IL_0049: num = 1549891513; } } public unsafe static byte GetCurrentClassJobId() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 1578162240 : 1578162241); while (true) { int num2 = num; int num3 = 1578162240; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: return ptr->CurrentClassJobId; case 1: return 0; case 2: goto IL_0052; } continue; IL_0052: num = 1578162241; } } public unsafe static byte GetRace() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 815415223 : 815415220); while (true) { int num2 = num; int num3 = 815415221; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 1: return 0; case 2: return ptr->Race; } continue; IL_004b: num = 815415220; } } public unsafe static byte GetSex() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-2146489787) : (-2146489786)); while (true) { int num2 = num; int num3 = -2146489788; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return 0; case 1: return ptr->Sex; } continue; IL_004b: num = -2146489786; } } public unsafe static byte GetTribe() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 2134298848 : 2134298851); while (true) { int num2 = num; int num3 = 2134298850; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: return ptr->Tribe; case 1: return 0; case 0: goto IL_0052; } continue; IL_0052: num = 2134298851; } } public unsafe static byte GetMaxExpansion() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 314367618 : 314367619); while (true) { int num2 = num; int num3 = 314367618; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: goto IL_004b; case 1: return 0; case 0: return ptr->MaxExpansion; } continue; IL_004b: num = 314367619; } } public unsafe static byte GetStartTown() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-331480694) : (-331480695)); while (true) { int num2 = num; int num3 = -331480693; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 1: return ptr->StartTown; case 2: return 0; case 0: goto IL_0052; } continue; IL_0052: num = -331480695; } } public unsafe static byte GetFirstClass() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 167290764 : 167290767); while (true) { int num2 = num; int num3 = 167290765; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 1: return ptr->FirstClass; case 2: return 0; } continue; IL_004b: num = 167290767; } } public unsafe static short GetClassJobLevel(int expArrayIndex) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-683518906) : (-683518905)); while (true) { int num2 = num; int num3 = -683518906; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: goto IL_004c; case 0: return ptr->ClassJobLevels[expArrayIndex]; case 1: return 0; } continue; IL_004c: num = -683518905; } } public unsafe static int GetClassJobExperience(int expArrayIndex) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 1898247155 : 1898247154); while (true) { int num2 = num; int num3 = 1898247155; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: return ptr->ClassJobExperience[expArrayIndex]; case 1: return 0; case 2: goto IL_005f; } continue; IL_005f: num = 1898247154; } } public unsafe static uint GetFreeAetheryteId() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 2110699587 : 2110699584); while (true) { int num2 = num; int num3 = 2110699586; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 1: return ptr->FreeAetheryteId; case 2: return 0u; } continue; IL_0049: num = 2110699584; } } public unsafe static uint GetFreeAetherytePSPlusId() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 524234665 : 524234666); while (true) { int num2 = num; int num3 = 524234664; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 2: return 0u; case 1: return ptr->FreeAetherytePSPlus; } continue; IL_0049: num = 524234666; } } public unsafe static uint GetFreeAetheryteNSOId() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 977827610 : 977827611); while (true) { int num2 = num; int num3 = 977827610; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: return ptr->FreeAetheryteNSO; case 1: return 0u; case 2: goto IL_0054; } continue; IL_0054: num = 977827611; } } public static bool IsFreeAetheryte(uint aetheryteId) { int num = ((GetFreeAetheryteId() == aetheryteId) ? (-1031394487) : (-1031394488)); while (true) { int num2 = num; int num3 = -1031394487; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 3: return GetFreeAetheryteNSOId() == aetheryteId; case 0: return true; case 2: num = -1031394488; break; case 1: num = ((GetFreeAetherytePSPlusId() == aetheryteId) ? (-1031394487) : (-1031394486)); break; } } } public unsafe static bool IsFavouriteAetheryte(uint aetheryteId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-814303290) : (-814303295)); int num8 = default(int); while (true) { int num2 = num; int num3 = -814303296; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 4: num = -814303295; break; case 7: num = ((ptr->FavouriteAetherytes[num8] != aetheryteId) ? (-814303294) : (-814303291)); break; case 3: return false; case 0: num = ((num8 < ptr->FavouriteAetheryteCount) ? (-814303289) : (-814303293)); break; case 6: num8 = 0; num = -814303296; break; case 1: return false; case 5: return true; case 2: { int num7 = num8; num3 = 1; num4 = num7; num8 = (num4 | num3) + (num4 & num3); num = -814303296; break; } } } } public unsafe static List GetFavouriteAetherytes() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-894678688) : (-894678683)); List list = default(List); ushort num6 = default(ushort); int num5 = default(int); while (true) { int num2 = num; int num3 = -894678684; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: num = -894678683; break; case 3: list.Add(num6); num = -894678686; break; case 5: num6 = ptr->FavouriteAetherytes[num5]; num = ((num6 == 0) ? (-894678686) : (-894678681)); break; case 7: return list; case 4: list = new List(); num5 = 0; num = -894678682; break; case 6: { int num7 = num5; num3 = 1; num4 = num7; num5 = (num4 | num3) + (num4 & num3); num = -894678682; break; } case 2: num = ((num5 < ptr->FavouriteAetheryteCount) ? (-894678687) : (-894678685)); break; case 1: return new List(); } } } public unsafe static uint GetHomeAetheryteId() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 1546678320 : 1546678323); while (true) { int num2 = num; int num3 = 1546678321; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 2: return 0u; case 1: return ptr->HomeAetheryteId; } continue; IL_0049: num = 1546678323; } } public unsafe static bool HasFavouriteSlotAvailable() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-1110880782) : (-1110880783)); int num7 = default(int); while (true) { int num2 = num; int num3 = -1110880781; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 7: num = -1110880783; break; case 3: num = ((num7 < ptr->FavouriteAetheryteCount) ? (-1110880778) : (-1110880781)); break; case 2: return false; case 0: return false; case 1: num7 = 0; num = -1110880784; break; case 4: { int num8 = num7; num3 = 1; num4 = num8; int num9 = num4 ^ num3; int num10 = num4 & num3; num7 = num9 + (num10 + num10); num = -1110880784; break; } case 6: return true; case 5: num = ((ptr->FavouriteAetherytes[num7] != 0) ? (-1110880777) : (-1110880779)); break; } } } public unsafe static bool IsMentor() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-6609924) : (-6609923)); while (true) { int num2 = num; int num3 = -6609924; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: return false; case 1: return ptr->IsMentor(); case 2: goto IL_0054; } continue; IL_0054: num = -6609923; } } public unsafe static bool IsBattleMentor() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 688011153 : 688011154); while (true) { int num2 = num; int num3 = 688011155; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 1: return ptr->IsBattleMentor(); case 2: return false; } continue; IL_004b: num = 688011154; } } public unsafe static bool IsTradeMentor() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1068792182) : (-1068792183)); while (true) { int num2 = num; int num3 = -1068792181; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 2: return ptr->IsTradeMentor(); case 1: return false; } continue; IL_0049: num = -1068792183; } } public unsafe static bool IsNovice() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1157353749) : (-1157353752)); while (true) { int num2 = num; int num3 = -1157353751; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 1: return ptr->IsNovice(); case 2: return false; } continue; IL_0049: num = -1157353752; } } public unsafe static bool IsReturner() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-146346552) : (-146346551)); while (true) { int num2 = num; int num3 = -146346552; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: goto IL_0049; case 1: return ptr->IsReturner(); case 0: return false; } continue; IL_0049: num = -146346551; } } public unsafe static byte GetMentorVersion() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 1350105722 : 1350105721); while (true) { int num2 = num; int num3 = 1350105723; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 1: return ptr->MentorVersion; case 2: return 0; case 0: goto IL_0054; } continue; IL_0054: num = 1350105721; } } public unsafe static bool IsPlayerStateFlagSet(PlayerStateFlag flag) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1522263479) : (-1522263478)); while (true) { int num2 = num; int num3 = -1522263477; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return false; case 1: return ptr->IsPlayerStateFlagSet(flag); case 0: goto IL_0055; } continue; IL_0055: num = -1522263478; } } public unsafe static byte GetBeastTribeRank(byte alliedSocietyId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 1418987817 : 1418987816); while (true) { int num2 = num; int num3 = 1418987817; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: goto IL_0049; case 0: return ptr->GetBeastTribeRank(alliedSocietyId); case 1: return 0; } continue; IL_0049: num = 1418987816; } } public unsafe static int GetCurrentPose(EmoteController.PoseType poseType) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-1004004491) : (-1004004490)); while (true) { int num2 = num; int num3 = -1004004492; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return 0; case 1: return ptr->CurrentPose(poseType); } continue; IL_004b: num = -1004004490; } } public unsafe static byte GetGoldSaucerContentStatus() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 1519531706 : 1519531707); while (true) { int num2 = num; int num3 = 1519531706; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: goto IL_004b; case 1: return 0; case 0: return ptr->GoldSaucerContentStatus; } continue; IL_004b: num = 1519531707; } } public unsafe static uint GetActiveFestivalId(int index) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 217589694 : 217589693); while (true) { int num2 = num; int num3 = 217589695; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004e; case 1: return ptr->ActiveFestivalIds[index]; case 2: return 0u; } continue; IL_004e: num = 217589693; } } public unsafe static uint GetActiveFestivalPhase(int index) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-2009718353) : (-2009718356)); while (true) { int num2 = num; int num3 = -2009718355; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return ptr->ActiveFestivalPhases[index]; case 1: return 0u; case 0: goto IL_0061; } continue; IL_0061: num = -2009718356; } } public unsafe static bool IsMeister(uint classJobId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 340405753 : 340405752); while (true) { int num2 = num; int num3 = 340405753; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: return false; case 1: return ptr->IsMeisterFlag(classJobId); case 2: goto IL_0055; } continue; IL_0055: num = 340405752; } } public unsafe static bool IsMeisterWithSoulStone(uint classJobId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 1639624127 : 1639624124); while (true) { int num2 = num; int num3 = 1639624125; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 1: return ptr->IsMeisterFlagAndHasSoulStoneEquipped(classJobId); case 2: return false; } continue; IL_004b: num = 1639624124; } } public unsafe static bool IsMeisterMaxCount() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1571337682) : (-1571337683)); while (true) { int num2 = num; int num3 = -1571337681; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 2: return ptr->IsMeisterFlagMaxCount(); case 1: return false; } continue; IL_0049: num = -1571337683; } } public unsafe static byte GetMeisterFlag() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-899158117) : (-899158118)); while (true) { int num2 = num; int num3 = -899158117; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: goto IL_004b; case 1: return 0; case 0: return ptr->MeisterFlag; } continue; IL_004b: num = -899158118; } } public unsafe static byte GetDeliveryLevel() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 1942457918 : 1942457917); while (true) { int num2 = num; int num3 = 1942457916; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return ptr->DeliveryLevel; case 1: return 0; } continue; IL_004b: num = 1942457917; } } public unsafe static int GetPenaltyTimestamp(int index) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 59901669 : 59901670); while (true) { int num2 = num; int num3 = 59901671; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return ptr->PenaltyTimestamps[index]; case 1: return 0; case 0: goto IL_0061; } continue; IL_0061: num = 59901670; } } public static int GetDutyFinderPenaltyTimestamp() { return GetPenaltyTimestamp(0); } public unsafe static bool IsMountUnlocked(uint mountId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-85690625) : (-85690628)); while (true) { int num2 = num; int num3 = -85690627; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return false; case 1: return ptr->IsMountUnlocked(mountId); case 0: goto IL_0055; } continue; IL_0055: num = -85690628; } } public unsafe static bool IsAnyMountUnlocked() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 753037439 : 753037436); while (true) { int num2 = num; int num3 = 753037438; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return ptr->NumOwnedMounts > 0; case 1: return false; } continue; IL_004b: num = 753037436; } } public unsafe static bool IsOrnamentUnlocked(uint ornamentId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 1330167974 : 1330167973); while (true) { int num2 = num; int num3 = 1330167975; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 1: return false; case 2: return ptr->IsOrnamentUnlocked(ornamentId); case 0: goto IL_0055; } continue; IL_0055: num = 1330167973; } } public unsafe static bool IsGlassesUnlocked(ushort glassesId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 2130615081 : 2130615082); while (true) { int num2 = num; int num3 = 2130615080; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 1: return false; case 2: return ptr->IsGlassesUnlocked(glassesId); } continue; IL_0049: num = 2130615082; } } public unsafe static bool IsOrchestrionRollUnlocked(uint rollId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 1221964641 : 1221964642); while (true) { int num2 = num; int num3 = 1221964643; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return false; case 1: return ptr->IsOrchestrionRollUnlocked(rollId); case 0: goto IL_0055; } continue; IL_0055: num = 1221964642; } } public unsafe static bool IsFramersKitUnlocked(uint kitId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 1337831057 : 1337831056); while (true) { int num2 = num; int num3 = 1337831057; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: goto IL_004b; case 0: return false; case 1: return ptr->IsFramersKitUnlocked(kitId); } continue; IL_004b: num = 1337831056; } } public unsafe static bool IsMcGuffinUnlocked(uint id) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 1298879102 : 1298879103); while (true) { int num2 = num; int num3 = 1298879102; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: return false; case 1: return ptr->IsMcGuffinUnlocked(id); case 2: goto IL_0053; } continue; IL_0053: num = 1298879103; } } public unsafe static bool IsDungeonCompleted(uint dungeonId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-993305962) : (-993305963)); while (true) { int num2 = num; int num3 = -993305961; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 1: return false; case 2: return GetBitSafe(ptr->CompletedDungeonsBitArray, dungeonId); case 0: goto IL_0058; } continue; IL_0058: num = -993305963; } } public unsafe static bool IsRaidCompleted(uint raidId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-926274817) : (-926274820)); while (true) { int num2 = num; int num3 = -926274818; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 1: return false; case 2: return GetBitSafe(ptr->CompletedRaidsBitArray, raidId); } continue; IL_0049: num = -926274820; } } public unsafe static bool IsTrialCompleted(uint trialId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1242533675) : (-1242533674)); while (true) { int num2 = num; int num3 = -1242533676; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return GetBitSafe(ptr->CompletedTrialsBitArray, trialId); case 1: return false; } continue; IL_004b: num = -1242533674; } } public unsafe static bool IsFrontlineCompleted(uint frontlineId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 1536431418 : 1536431417); while (true) { int num2 = num; int num3 = 1536431416; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return false; case 1: return GetBitSafe(ptr->CompletedFrontlinesBitArray, frontlineId); case 0: goto IL_005a; } continue; IL_005a: num = 1536431417; } } public unsafe static bool IsCrystallineConflictCompleted(uint id) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1237265056) : (-1237265053)); while (true) { int num2 = num; int num3 = -1237265055; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 1: return false; case 2: return GetBitSafe(ptr->CompletedCrystallineConflictsBitArray, id); } continue; IL_0049: num = -1237265053; } } public unsafe static bool IsGuildOrderCompleted(uint orderId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-73722255) : (-73722256)); while (true) { int num2 = num; int num3 = -73722255; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: return false; case 1: return GetBitSafe(ptr->CompletedGuildOrdersBitArray, orderId); case 2: goto IL_0058; } continue; IL_0058: num = -73722256; } } public unsafe static bool IsMaskedCarnivaleCompleted(uint stageId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-820654768) : (-820654767)); while (true) { int num2 = num; int num3 = -820654768; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: goto IL_0049; case 0: return false; case 1: return GetBitSafe(ptr->CompletedMaskedCarnivaleBitArray, stageId); } continue; IL_0049: num = -820654767; } } public unsafe static bool IsMiscContentCompleted(uint contentId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 825419022 : 825419021); while (true) { int num2 = num; int num3 = 825419020; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return false; case 1: return GetBitSafe(ptr->CompletedMiscContentBitArray, contentId); } continue; IL_004b: num = 825419021; } } public unsafe static bool IsBeginnerTrainingCompleted(uint trainingId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1010016233) : (-1010016236)); while (true) { int num2 = num; int num3 = -1010016234; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 1: return false; case 2: return GetBitSafe(ptr->CompletedBeginnerTrainingBitArray, trainingId); } continue; IL_0049: num = -1010016236; } } public unsafe static bool IsVVDNotebookContentCompleted(uint contentId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1861355372) : (-1861355369)); while (true) { int num2 = num; int num3 = -1861355370; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return false; case 1: return GetBitSafe(ptr->CompletedVVDNotebookContentsBitArray, contentId); case 0: goto IL_005a; } continue; IL_005a: num = -1861355369; } } public unsafe static bool IsDungeonUnlocked(uint dungeonId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 1637335958 : 1637335959); while (true) { int num2 = num; int num3 = 1637335958; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: goto IL_0049; case 0: return false; case 1: return GetBitSafe(ptr->UnlockedDungeonsBitArray, dungeonId); } continue; IL_0049: num = 1637335959; } } public unsafe static bool IsRaidUnlocked(uint raidId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 1897736670 : 1897736671); while (true) { int num2 = num; int num3 = 1897736670; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: return false; case 1: return GetBitSafe(ptr->UnlockedRaidsBitArray, raidId); case 2: goto IL_005a; } continue; IL_005a: num = 1897736671; } } public unsafe static bool IsTrialUnlocked(uint trialId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1440829942) : (-1440829943)); while (true) { int num2 = num; int num3 = -1440829944; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 1: return GetBitSafe(ptr->UnlockedTrialsBitArray, trialId); case 2: return false; } continue; IL_0049: num = -1440829943; } } public unsafe static bool IsFrontlineUnlocked(uint frontlineId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1660154923) : (-1660154924)); while (true) { int num2 = num; int num3 = -1660154923; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: goto IL_0049; case 1: return GetBitSafe(ptr->UnlockedFrontlinesBitArray, frontlineId); case 0: return false; } continue; IL_0049: num = -1660154924; } } public unsafe static bool IsCrystallineConflictUnlocked(uint id) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 37169208 : 37169209); while (true) { int num2 = num; int num3 = 37169208; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: return false; case 1: return GetBitSafe(ptr->UnlockedCrystallineConflictsBitArray, id); case 2: goto IL_0058; } continue; IL_0058: num = 37169209; } } public unsafe static bool IsGuildOrderUnlocked(uint orderId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1895125962) : (-1895125963)); while (true) { int num2 = num; int num3 = -1895125961; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 1: return false; case 2: return GetBitSafe(ptr->UnlockedGuildOrdersBitArray, orderId); case 0: goto IL_0058; } continue; IL_0058: num = -1895125963; } } public unsafe static bool IsMiscContentUnlocked(uint contentId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 121866217 : 121866218); while (true) { int num2 = num; int num3 = 121866216; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 1: return false; case 2: return GetBitSafe(ptr->UnlockedMiscContentBitArray, contentId); } continue; IL_004b: num = 121866218; } } public unsafe static bool IsSpecialContentUnlocked(uint contentId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1206882405) : (-1206882406)); while (true) { int num2 = num; int num3 = -1206882405; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: return false; case 1: return GetBitSafe(ptr->UnlockedSpecialContentBitArray, contentId); case 2: goto IL_005a; } continue; IL_005a: num = -1206882406; } } public unsafe static bool IsFishCaught(uint fishId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 1476471736 : 1476471739); while (true) { int num2 = num; int num3 = 1476471738; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 1: return ptr->IsFishCaught(fishId); case 2: return false; } continue; IL_004b: num = 1476471739; } } public unsafe static bool IsSpearfishCaught(uint fishId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 916540449 : 916540448); while (true) { int num2 = num; int num3 = 916540449; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: goto IL_0049; case 0: return false; case 1: return ptr->IsSpearfishCaught(fishId); } continue; IL_0049: num = 916540448; } } public unsafe static bool IsFishingSpotUnlocked(uint spotId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-501535389) : (-501535390)); while (true) { int num2 = num; int num3 = -501535389; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: goto IL_004b; case 0: return false; case 1: return GetBitSafe(ptr->UnlockedFishingSpotsBitArray, spotId); } continue; IL_004b: num = -501535390; } } public unsafe static bool IsSpearfishingNotebookUnlocked(uint notebookId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-2066723645) : (-2066723646)); while (true) { int num2 = num; int num3 = -2066723645; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: return false; case 1: return GetBitSafe(ptr->UnlockedSpearfishingNotebooksBitArray, notebookId); case 2: goto IL_0058; } continue; IL_0058: num = -2066723646; } } public unsafe static bool IsSecretRecipeBookUnlocked(uint bookId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-1515319093) : (-1515319094)); while (true) { int num2 = num; int num3 = -1515319093; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: return false; case 1: return ptr->IsSecretRecipeBookUnlocked(bookId); case 2: goto IL_0055; } continue; IL_0055: num = -1515319094; } } public unsafe static bool IsFolkloreBookUnlocked(uint bookId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-549279574) : (-549279575)); while (true) { int num2 = num; int num3 = -549279576; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return false; case 1: return ptr->IsFolkloreBookUnlocked(bookId); } continue; IL_004b: num = -549279575; } } public unsafe static bool IsAdventureComplete(uint adventureId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 811132530 : 811132529); while (true) { int num2 = num; int num3 = 811132531; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 1: return false; case 2: return ptr->IsAdventureComplete(adventureId); case 0: goto IL_0055; } continue; IL_0055: num = 811132529; } } public unsafe static bool IsBotanistFolkloreTomeUnlocked(uint tomeId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-467172317) : (-467172320)); while (true) { int num2 = num; int num3 = -467172318; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 1: return false; case 2: return GetBitSafe(ptr->UnlockedBotanistFolkloreTomesBitArray, tomeId); case 0: goto IL_0058; } continue; IL_0058: num = -467172320; } } public unsafe static bool IsMinerFolkloreTomeUnlocked(uint tomeId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 2107606707 : 2107606704); while (true) { int num2 = num; int num3 = 2107606705; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 1: return GetBitSafe(ptr->UnlockedMinerFolkloreTomesBitArray, tomeId); case 2: return false; } continue; IL_0049: num = 2107606704; } } public unsafe static bool IsFishingFolkloreTomeUnlocked(uint tomeId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 2052975858 : 2052975857); while (true) { int num2 = num; int num3 = 2052975856; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return false; case 1: return GetBitSafe(ptr->UnlockedFishingFolkloreTomesBitArray, tomeId); } continue; IL_004b: num = 2052975857; } } public unsafe static bool IsAetherCurrentUnlocked(uint aetherCurrentId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-2079078502) : (-2079078501)); while (true) { int num2 = num; int num3 = -2079078502; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: goto IL_0049; case 0: return false; case 1: return ptr->IsAetherCurrentUnlocked(aetherCurrentId); } continue; IL_0049: num = -2079078501; } } public unsafe static bool IsAetherCurrentZoneComplete(uint compFlgSetId) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-832592099) : (-832592098)); while (true) { int num2 = num; int num3 = -832592097; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return false; case 1: return ptr->IsAetherCurrentZoneComplete(compFlgSetId); case 0: goto IL_0055; } continue; IL_0055: num = -832592098; } } public unsafe static bool IsWeeklyBingoExpired() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? 233473812 : 233473815); while (true) { int num2 = num; int num3 = 233473813; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 1: return false; case 2: return ptr->IsWeeklyBingoExpired(); case 0: goto IL_0054; } continue; IL_0054: num = 233473815; } } public unsafe static long GetWeeklyBingoExpireTimestamp() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-575063473) : (-575063474)); while (true) { int num2 = num; int num3 = -575063473; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: goto IL_0049; case 0: return ptr->GetWeeklyBingoExpireUnixTimestamp(); case 1: return 0L; } continue; IL_0049: num = -575063474; } } public unsafe static DateTime GetWeeklyBingoExpireDateTime() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 2135264578 : 2135264577); while (true) { int num2 = num; int num3 = 2135264576; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return ptr->WeeklyBingoExpireDateTime; case 1: return DateTime.MinValue; } continue; IL_004b: num = 2135264577; } } public unsafe static uint GetWeeklyBingoExpMultiplier() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 1700448851 : 1700448848); while (true) { int num2 = num; int num3 = 1700448850; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 1: return ptr->GetWeeklyBingoExpMultiplier(); case 2: return 0u; } continue; IL_004b: num = 1700448848; } } public unsafe static PlayerState.WeeklyBingoTaskStatus GetWeeklyBingoTaskStatus(int index) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-1463129243) : (-1463129242)); while (true) { int num2 = num; int num3 = -1463129241; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 2: return ptr->GetWeeklyBingoTaskStatus(index); case 1: return PlayerState.WeeklyBingoTaskStatus.Open; } continue; IL_004b: num = -1463129242; } } public unsafe static bool IsWeeklyBingoStickerPlaced(int index) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-747776692) : (-747776689)); while (true) { int num2 = num; int num3 = -747776690; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: return false; case 1: return ptr->IsWeeklyBingoStickerPlaced(index); case 0: goto IL_0053; } continue; IL_0053: num = -747776689; } } public unsafe static int GetWeeklyBingoNumPlacedStickers() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? (-1111468010) : (-1111468011)); while (true) { int num2 = num; int num3 = -1111468012; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return ptr->WeeklyBingoNumPlacedStickers; case 1: return 0; case 0: goto IL_0054; } continue; IL_0054: num = -1111468011; } } public unsafe static uint GetWeeklyBingoNumSecondChancePoints() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 584156333 : 584156334); while (true) { int num2 = num; int num3 = 584156335; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_0049; case 1: return 0u; case 2: return ptr->WeeklyBingoNumSecondChancePoints; } continue; IL_0049: num = 584156334; } } public unsafe static bool HasWeeklyBingoJournal() { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr == null) ? (-650781034) : (-650781035)); while (true) { int num2 = num; int num3 = -650781033; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 1: return false; case 2: return ptr->HasWeeklyBingoJournal; case 0: goto IL_0054; } continue; IL_0054: num = -650781035; } } public unsafe static bool IsRouletteComplete(byte rouletteId) { InstanceContent* ptr = InstanceContent.Instance(); int num = ((ptr == null) ? 1446148648 : 1446148651); while (true) { int num2 = num; int num3 = 1446148650; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: goto IL_004b; case 1: return ptr->IsRouletteComplete(rouletteId); case 2: return false; } continue; IL_004b: num = 1446148651; } } public unsafe static uint GetContentValue(uint key) { PlayerState* ptr = PlayerState.Instance(); int num = ((ptr != null) ? 1170238729 : 1170238730); while (true) { int num2 = num; int num3 = 1170238731; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return ptr->GetContentValue(key); case 1: return 0u; case 0: goto IL_0055; } continue; IL_0055: num = 1170238730; } } private static bool GetBitSafe(BitArray bitArray, uint index) { bool value; return bitArray.TryGet((int)index, out value) && value; } }