forked from aly/qstbak
2227 lines
43 KiB
C#
2227 lines
43 KiB
C#
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<ushort> GetFavouriteAetherytes()
|
|
{
|
|
PlayerState* ptr = PlayerState.Instance();
|
|
int num = ((ptr != null) ? (-894678688) : (-894678683));
|
|
List<ushort> list = default(List<ushort>);
|
|
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<ushort>();
|
|
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<ushort>();
|
|
}
|
|
}
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|