1
0
Fork 0
forked from aly/qstbak
qstbak/LLib/LLib.Buddy/BuddyStateHelper.cs
2026-08-17 20:27:25 +10:00

527 lines
10 KiB
C#

using System;
using FFXIVClientStructs.FFXIV.Client.Game.UI;
namespace LLib.Buddy;
public static class BuddyStateHelper
{
public unsafe static bool IsCompanionSummoned()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? (-1349796682) : (-1349796683));
while (true)
{
int num2 = num;
int num3 = -1349796684;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
return ptr->Buddy.CompanionInfo.TimeLeft > 0f;
case 1:
return false;
case 0:
goto IL_0063;
}
continue;
IL_0063:
num = -1349796683;
}
}
public unsafe static bool IsCompanionMounted()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? (-1440023216) : (-1440023213));
while (true)
{
int num2 = num;
int num3 = -1440023215;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0049;
case 1:
return ptr->Buddy.CompanionInfo.Mounted;
case 2:
return false;
}
continue;
IL_0049:
num = -1440023213;
}
}
public unsafe static string GetCompanionName()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 1483608628 : 1483608631);
while (true)
{
int num2 = num;
int num3 = 1483608630;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_004b;
case 2:
return ptr->Buddy.CompanionInfo.NameString;
case 1:
return string.Empty;
}
continue;
IL_004b:
num = 1483608631;
}
}
public unsafe static byte GetCompanionColorStainId()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 345206792 : 345206793);
while (true)
{
int num2 = num;
int num3 = 345206792;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
return ptr->Buddy.CompanionInfo.CurrentColorStainId;
case 1:
return 0;
case 2:
goto IL_005c;
}
continue;
IL_005c:
num = 345206793;
}
}
public unsafe static byte GetCompanionRank()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 424961589 : 424961588);
while (true)
{
int num2 = num;
int num3 = 424961589;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
return ptr->Buddy.CompanionInfo.Rank;
case 1:
return 0;
case 2:
goto IL_005c;
}
continue;
IL_005c:
num = 424961588;
}
}
public unsafe static uint GetCompanionCurrentXP()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? (-7933264) : (-7933261));
while (true)
{
int num2 = num;
int num3 = -7933262;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
return ptr->Buddy.CompanionInfo.CurrentXP;
case 1:
return 0u;
case 0:
goto IL_005c;
}
continue;
IL_005c:
num = -7933261;
}
}
public unsafe static byte GetCompanionStars()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 1600521884 : 1600521887);
while (true)
{
int num2 = num;
int num3 = 1600521885;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0049;
case 2:
return 0;
case 1:
return ptr->Buddy.CompanionInfo.Stars;
}
continue;
IL_0049:
num = 1600521887;
}
}
public unsafe static byte GetCompanionSkillPoints()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 624298941 : 624298942);
while (true)
{
int num2 = num;
int num3 = 624298940;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
return ptr->Buddy.CompanionInfo.SkillPoints;
case 2:
return 0;
case 0:
goto IL_005c;
}
continue;
IL_005c:
num = 624298942;
}
}
public unsafe static byte GetDefenderLevel()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? (-1160271461) : (-1160271462));
while (true)
{
int num2 = num;
int num3 = -1160271461;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_004c;
case 1:
return 0;
case 0:
return ptr->Buddy.CompanionInfo.Levels[0];
}
continue;
IL_004c:
num = -1160271462;
}
}
public unsafe static byte GetAttackerLevel()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 35779603 : 35779600);
while (true)
{
int num2 = num;
int num3 = 35779602;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_004c;
case 1:
return ptr->Buddy.CompanionInfo.Levels[1];
case 2:
return 0;
}
continue;
IL_004c:
num = 35779600;
}
}
public unsafe static byte GetHealerLevel()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? (-1648020324) : (-1648020321));
while (true)
{
int num2 = num;
int num3 = -1648020323;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return ptr->Buddy.CompanionInfo.Levels[2];
case 2:
return 0;
case 0:
goto IL_006b;
}
continue;
IL_006b:
num = -1648020321;
}
}
public unsafe static (byte Head, byte Chest, byte Feet) GetEquippedBardingIds()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? (-214194545) : (-214194548));
while (true)
{
int num2 = num;
int num3 = -214194546;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_004c;
case 1:
{
Span<byte> buddyEquipRowIds = ptr->Buddy.CompanionInfo.BuddyEquipRowIds;
return (Head: buddyEquipRowIds[0], Chest: buddyEquipRowIds[1], Feet: buddyEquipRowIds[2]);
}
case 2:
return (Head: 0, Chest: 0, Feet: 0);
}
continue;
IL_004c:
num = -214194548;
}
}
public unsafe static bool IsBardingUnlocked(uint bardingId)
{
UIState* ptr = UIState.Instance();
int num = ((ptr == null) ? 1179942104 : 1179942107);
while (true)
{
int num2 = num;
int num3 = 1179942105;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_004b;
case 2:
return ptr->Buddy.CompanionInfo.IsBuddyEquipUnlocked(bardingId);
case 1:
return false;
}
continue;
IL_004b:
num = 1179942107;
}
}
public unsafe static byte GetActiveCommand()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 360275929 : 360275930);
while (true)
{
int num2 = num;
int num3 = 360275928;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
return ptr->Buddy.CompanionInfo.ActiveCommand;
case 2:
return 0;
case 0:
goto IL_005c;
}
continue;
IL_005c:
num = 360275930;
}
}
public unsafe static byte GetFavoriteFeed()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 816585553 : 816585552);
while (true)
{
int num2 = num;
int num3 = 816585553;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
return ptr->Buddy.CompanionInfo.FavoriteFeed;
case 1:
return 0;
case 2:
goto IL_005e;
}
continue;
IL_005e:
num = 816585552;
}
}
public unsafe static bool IsPetSummoned()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 318028987 : 318028984);
while (true)
{
int num2 = num;
int num3 = 318028985;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = ((ptr->Buddy.PetInfo.Pet == null) ? 318028985 : 318028986);
break;
case 3:
return ptr->Buddy.PetInfo.Pet->EntityId != 0;
case 0:
return false;
case 1:
return false;
case 4:
num = 318028984;
break;
}
}
}
public unsafe static byte GetPetOrder()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? (-105624424) : (-105624421));
while (true)
{
int num2 = num;
int num3 = -105624422;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0049;
case 1:
return 0;
case 2:
return ptr->Buddy.PetInfo.Order;
}
continue;
IL_0049:
num = -105624421;
}
}
public unsafe static byte GetPetStance()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 25937805 : 25937806);
while (true)
{
int num2 = num;
int num3 = 25937807;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0049;
case 2:
return ptr->Buddy.PetInfo.Stance;
case 1:
return 0;
}
continue;
IL_0049:
num = 25937806;
}
}
public unsafe static bool IsBattleBuddyPresent()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? (-506116548) : (-506116552));
int num7 = default(int);
Span<FFXIVClientStructs.FFXIV.Client.Game.UI.Buddy.BuddyMember> battleBuddies = default(Span<FFXIVClientStructs.FFXIV.Client.Game.UI.Buddy.BuddyMember>);
while (true)
{
int num2 = num;
int num3 = -506116551;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
return true;
case 6:
{
int num8 = num7;
num3 = 1;
num4 = num8;
num7 = (num4 | num3) + (num4 & num3);
num = -506116546;
break;
}
case 0:
num = ((battleBuddies[num7].EntityId == 0) ? (-506116545) : (-506116550));
break;
case 1:
return false;
case 2:
num = -506116552;
break;
case 7:
num = ((num7 < battleBuddies.Length) ? (-506116551) : (-506116547));
break;
case 4:
return false;
case 5:
battleBuddies = ptr->Buddy.BattleBuddies;
num7 = 0;
num = -506116546;
break;
}
}
}
public unsafe static bool HasDutyHelpers()
{
UIState* ptr = UIState.Instance();
int num = ((ptr != null) ? 132041618 : 132041619);
while (true)
{
int num2 = num;
int num3 = 132041618;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_0049;
case 1:
return false;
case 0:
return ptr->Buddy.DutyHelperInfo.HasHelpers;
}
continue;
IL_0049:
num = 132041619;
}
}
}