forked from aly/qstbak
muffin v7.5.6
This commit is contained in:
parent
6266f9e6b7
commit
addf2d530f
619 changed files with 264792 additions and 446022 deletions
352
LLib/LLib.Gear/GearConditionHelper.cs
Normal file
352
LLib/LLib.Gear/GearConditionHelper.cs
Normal file
|
|
@ -0,0 +1,352 @@
|
|||
using System.Collections.Generic;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game;
|
||||
|
||||
namespace LLib.Gear;
|
||||
|
||||
public static class GearConditionHelper
|
||||
{
|
||||
private const ushort MaxCondition = 30000;
|
||||
|
||||
private const ushort MaxSpiritbond = 10000;
|
||||
|
||||
public unsafe static int? GetLowestConditionPercent()
|
||||
{
|
||||
InventoryContainer* equippedContainer = EquipmentSlots.GetEquippedContainer();
|
||||
int num = ((equippedContainer != null) ? 136938409 : 136938411);
|
||||
int? result = default(int?);
|
||||
int num9 = default(int);
|
||||
int num8 = default(int);
|
||||
InventoryItem* item = default(InventoryItem*);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 136938412;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 10:
|
||||
return result;
|
||||
case 8:
|
||||
result = num9;
|
||||
num = 136938405;
|
||||
break;
|
||||
case 4:
|
||||
num = ((num8 == 5) ? 136938405 : 136938410);
|
||||
break;
|
||||
case 7:
|
||||
return null;
|
||||
case 6:
|
||||
num = ((!EquipmentSlots.TryGetEquippedItem(equippedContainer, num8, out item)) ? 136938405 : 136938414);
|
||||
break;
|
||||
case 1:
|
||||
num = ((num9 >= result.Value) ? 136938405 : 136938404);
|
||||
break;
|
||||
case 2:
|
||||
num9 = item->Condition * 100 / 30000;
|
||||
num = ((!result.HasValue) ? 136938404 : 136938413);
|
||||
break;
|
||||
case 5:
|
||||
result = null;
|
||||
num8 = 0;
|
||||
num = 136938415;
|
||||
break;
|
||||
case 3:
|
||||
num = ((num8 < 13) ? 136938408 : 136938406);
|
||||
break;
|
||||
case 0:
|
||||
num = 136938411;
|
||||
break;
|
||||
case 9:
|
||||
{
|
||||
int num7 = num8;
|
||||
num3 = 1;
|
||||
num4 = num7;
|
||||
num8 = (num4 | num3) + (num4 & num3);
|
||||
num = 136938415;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public unsafe static List<SlotCondition> GetAllSlotConditions()
|
||||
{
|
||||
List<SlotCondition> list = new List<SlotCondition>(13);
|
||||
InventoryContainer* equippedContainer = EquipmentSlots.GetEquippedContainer();
|
||||
int num = ((equippedContainer != null) ? 1727066767 : 1727066762);
|
||||
int num5 = default(int);
|
||||
InventoryItem* item = default(InventoryItem*);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1727066761;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 4:
|
||||
num = ((num5 < 13) ? 1727066764 : 1727066763);
|
||||
break;
|
||||
case 6:
|
||||
num5 = 0;
|
||||
num = 1727066765;
|
||||
break;
|
||||
case 3:
|
||||
return list;
|
||||
case 8:
|
||||
{
|
||||
int num6 = num5;
|
||||
num3 = 1;
|
||||
num4 = num6;
|
||||
int num7 = num4 ^ num3;
|
||||
int num8 = num4 & num3;
|
||||
num5 = num7 + (num8 + num8);
|
||||
num = 1727066765;
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
list.Add(new SlotCondition(num5, item->ItemId, item->Condition * 100 / 30000));
|
||||
num = 1727066753;
|
||||
break;
|
||||
case 5:
|
||||
num = ((num5 == 5) ? 1727066753 : 1727066760);
|
||||
break;
|
||||
case 0:
|
||||
num = 1727066762;
|
||||
break;
|
||||
case 1:
|
||||
num = ((!EquipmentSlots.TryGetEquippedItem(equippedContainer, num5, out item)) ? 1727066753 : 1727066766);
|
||||
break;
|
||||
case 2:
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public unsafe static bool HasSpiritbondReadyItem(bool includeBags = false)
|
||||
{
|
||||
InventoryContainer* equippedContainer = EquipmentSlots.GetEquippedContainer();
|
||||
int num = ((equippedContainer == null) ? 566966460 : 566966456);
|
||||
int num5 = default(int);
|
||||
InventoryContainer* inventoryContainer = default(InventoryContainer*);
|
||||
int num6 = default(int);
|
||||
InventoryItem* item = default(InventoryItem*);
|
||||
InventoryType inventoryType = default(InventoryType);
|
||||
InventoryItem* inventorySlot = default(InventoryItem*);
|
||||
InventoryManager* ptr = default(InventoryManager*);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 566966450;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 15:
|
||||
num = ((num5 < inventoryContainer->Size) ? 566966433 : 566966438);
|
||||
break;
|
||||
case 14:
|
||||
num = (includeBags ? 566966451 : 566966463);
|
||||
break;
|
||||
case 4:
|
||||
num = ((!EquipmentSlots.TryGetEquippedItem(equippedContainer, num6, out item)) ? 566966442 : 566966449);
|
||||
break;
|
||||
case 24:
|
||||
{
|
||||
int num8 = num6;
|
||||
num3 = 1;
|
||||
num4 = num8;
|
||||
num6 = (num4 | num3) + (num4 & num3);
|
||||
num = 566966452;
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
int num7 = num5;
|
||||
num3 = 1;
|
||||
num4 = num7;
|
||||
num5 = (num4 | num3) + (num4 & num3);
|
||||
num = 566966461;
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
num5 = 0;
|
||||
num = 566966461;
|
||||
break;
|
||||
case 18:
|
||||
num = 566966456;
|
||||
break;
|
||||
case 3:
|
||||
num = ((item->SpiritbondOrCollectability < 10000) ? 566966442 : 566966458);
|
||||
break;
|
||||
case 10:
|
||||
num6 = 0;
|
||||
num = 566966452;
|
||||
break;
|
||||
case 6:
|
||||
num = ((num6 < 13) ? 566966459 : 566966460);
|
||||
break;
|
||||
case 20:
|
||||
inventoryType++;
|
||||
num = 566966439;
|
||||
break;
|
||||
case 12:
|
||||
num = (((inventorySlot->Flags & InventoryItem.ItemFlags.Collectable) != InventoryItem.ItemFlags.None) ? 566966455 : 566966457);
|
||||
break;
|
||||
case 19:
|
||||
inventorySlot = inventoryContainer->GetInventorySlot(num5);
|
||||
num = ((inventorySlot == null) ? 566966455 : 566966434);
|
||||
break;
|
||||
case 2:
|
||||
return false;
|
||||
case 8:
|
||||
return true;
|
||||
case 17:
|
||||
inventoryContainer = ptr->GetInventoryContainer(inventoryType);
|
||||
num = ((inventoryContainer == null) ? 566966438 : 566966453);
|
||||
break;
|
||||
case 11:
|
||||
num = ((inventorySlot->SpiritbondOrCollectability < 10000) ? 566966455 : 566966437);
|
||||
break;
|
||||
case 23:
|
||||
return true;
|
||||
case 22:
|
||||
return false;
|
||||
case 13:
|
||||
return false;
|
||||
case 16:
|
||||
num = ((inventorySlot->ItemId == 0) ? 566966455 : 566966462);
|
||||
break;
|
||||
case 21:
|
||||
num = ((inventoryType <= InventoryType.Inventory4) ? 566966435 : 566966436);
|
||||
break;
|
||||
case 9:
|
||||
num = ((num6 == 5) ? 566966442 : 566966454);
|
||||
break;
|
||||
case 0:
|
||||
inventoryType = InventoryType.Inventory1;
|
||||
num = 566966439;
|
||||
break;
|
||||
case 1:
|
||||
ptr = InventoryManager.Instance();
|
||||
num = ((ptr != null) ? 566966450 : 566966448);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public unsafe static int? GetLowestSpiritbondPercent()
|
||||
{
|
||||
InventoryContainer* equippedContainer = EquipmentSlots.GetEquippedContainer();
|
||||
int num = ((equippedContainer != null) ? 1500996181 : 1500996188);
|
||||
int? result = default(int?);
|
||||
int num8 = default(int);
|
||||
int num7 = default(int);
|
||||
InventoryItem* item = default(InventoryItem*);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1500996182;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 4:
|
||||
num = 1500996188;
|
||||
break;
|
||||
case 6:
|
||||
result = num8;
|
||||
num = 1500996183;
|
||||
break;
|
||||
case 9:
|
||||
num = ((num7 < 13) ? 1500996177 : 1500996180);
|
||||
break;
|
||||
case 10:
|
||||
return null;
|
||||
case 0:
|
||||
num = ((!EquipmentSlots.TryGetEquippedItem(equippedContainer, num7, out item)) ? 1500996183 : 1500996190);
|
||||
break;
|
||||
case 5:
|
||||
num = ((num8 >= result.Value) ? 1500996183 : 1500996176);
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
int num9 = num7;
|
||||
num3 = 1;
|
||||
num4 = num9;
|
||||
int num10 = num4 ^ num3;
|
||||
int num11 = num4 & num3;
|
||||
num7 = num10 + (num11 + num11);
|
||||
num = 1500996191;
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
num8 = item->SpiritbondOrCollectability * 100 / 10000;
|
||||
num = ((!result.HasValue) ? 1500996176 : 1500996179);
|
||||
break;
|
||||
case 7:
|
||||
num = ((num7 == 5) ? 1500996183 : 1500996182);
|
||||
break;
|
||||
case 2:
|
||||
return result;
|
||||
case 3:
|
||||
result = null;
|
||||
num7 = 0;
|
||||
num = 1500996191;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public unsafe static List<SlotSpiritbond> GetAllSpiritbondInfo()
|
||||
{
|
||||
List<SlotSpiritbond> list = new List<SlotSpiritbond>(13);
|
||||
InventoryContainer* equippedContainer = EquipmentSlots.GetEquippedContainer();
|
||||
int num = ((equippedContainer != null) ? 818481642 : 818481641);
|
||||
int num5 = default(int);
|
||||
InventoryItem* item = default(InventoryItem*);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 818481643;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 5:
|
||||
num = ((!EquipmentSlots.TryGetEquippedItem(equippedContainer, num5, out item)) ? 818481647 : 818481643);
|
||||
break;
|
||||
case 7:
|
||||
num = ((num5 == 5) ? 818481647 : 818481646);
|
||||
break;
|
||||
case 1:
|
||||
num5 = 0;
|
||||
num = 818481645;
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
int num6 = num5;
|
||||
num3 = 1;
|
||||
num4 = num6;
|
||||
num5 = (num4 | num3) + (num4 & num3);
|
||||
num = 818481645;
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
return list;
|
||||
case 2:
|
||||
return list;
|
||||
case 6:
|
||||
num = ((num5 < 13) ? 818481644 : 818481635);
|
||||
break;
|
||||
case 0:
|
||||
list.Add(new SlotSpiritbond(num5, item->ItemId, item->SpiritbondOrCollectability * 100 / 10000, item->SpiritbondOrCollectability >= 10000));
|
||||
num = 818481647;
|
||||
break;
|
||||
case 3:
|
||||
num = 818481641;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue