255 lines
12 KiB
C#
255 lines
12 KiB
C#
using Dalamud.Game.ClientState.Conditions;
|
|
using Dalamud.Plugin.Services;
|
|
|
|
namespace LLib.GameData;
|
|
|
|
public static class ConditionHelper
|
|
{
|
|
public static bool IsBoundByDuty(ICondition condition)
|
|
{
|
|
int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.BoundByDuty) ? 982422876 : 982422878);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 982422877;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 2:
|
|
num = 982422878;
|
|
break;
|
|
case 0:
|
|
return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.BoundByDuty95);
|
|
case 1:
|
|
return true;
|
|
case 3:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.BoundByDuty56) ? 982422876 : 982422877);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static bool IsInCombat(ICondition condition)
|
|
{
|
|
return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.InCombat);
|
|
}
|
|
|
|
public static bool IsInCutscene(ICondition condition)
|
|
{
|
|
int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.OccupiedInCutSceneEvent) ? 298384256 : 298384257);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 298384256;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 3:
|
|
num = 298384257;
|
|
break;
|
|
case 1:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.WatchingCutscene) ? 298384256 : 298384258);
|
|
break;
|
|
case 0:
|
|
return true;
|
|
case 2:
|
|
return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.WatchingCutscene78);
|
|
}
|
|
}
|
|
}
|
|
|
|
public static bool IsBetweenAreas(ICondition condition)
|
|
{
|
|
int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.BetweenAreas) ? 617778151 : 617778150);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 617778151;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 2:
|
|
goto IL_0048;
|
|
case 0:
|
|
return true;
|
|
case 1:
|
|
return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.BetweenAreas51);
|
|
}
|
|
continue;
|
|
IL_0048:
|
|
num = 617778150;
|
|
}
|
|
}
|
|
|
|
public static bool IsCrafting(ICondition condition)
|
|
{
|
|
int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Crafting) ? (-531070532) : (-531070529));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -531070530;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 3:
|
|
num = -531070529;
|
|
break;
|
|
case 2:
|
|
return true;
|
|
case 0:
|
|
return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.ExecutingCraftingAction);
|
|
case 1:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.PreparingToCraft) ? (-531070532) : (-531070530));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static bool IsGathering(ICondition condition)
|
|
{
|
|
int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Gathering) ? (-1745581447) : (-1745581446));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1745581448;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 0:
|
|
goto IL_0047;
|
|
case 2:
|
|
return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.ExecutingGatheringAction);
|
|
case 1:
|
|
return true;
|
|
}
|
|
continue;
|
|
IL_0047:
|
|
num = -1745581446;
|
|
}
|
|
}
|
|
|
|
public static bool IsOccupied(ICondition condition)
|
|
{
|
|
int num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Occupied) ? 149420092 : 149420094);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 149420092;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 5:
|
|
num = 149420094;
|
|
break;
|
|
case 4:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Occupied38) ? 149420092 : 149420093);
|
|
break;
|
|
case 3:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Occupied33) ? 149420092 : 149420088);
|
|
break;
|
|
case 0:
|
|
return true;
|
|
case 2:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Occupied30) ? 149420092 : 149420095);
|
|
break;
|
|
case 1:
|
|
return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Occupied39);
|
|
}
|
|
}
|
|
}
|
|
|
|
public static bool IsLockedIn(ICondition condition)
|
|
{
|
|
int num = (IsBoundByDuty(condition) ? 829421731 : 829421732);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 829421734;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 1:
|
|
num = (IsBetweenAreas(condition) ? 829421731 : 829421730);
|
|
break;
|
|
case 0:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Unconscious) ? 829421731 : 829421733);
|
|
break;
|
|
case 4:
|
|
num = (IsOccupied(condition) ? 829421731 : 829421734);
|
|
break;
|
|
case 3:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Jumping) ? 829421731 : 829421728);
|
|
break;
|
|
case 2:
|
|
num = (IsInCutscene(condition) ? 829421731 : 829421735);
|
|
break;
|
|
case 6:
|
|
return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Jumping61);
|
|
case 7:
|
|
num = 829421732;
|
|
break;
|
|
case 5:
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static bool IsUnavailable(ICondition condition)
|
|
{
|
|
int num = (IsLockedIn(condition) ? 721479038 : 721479035);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 721479037;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 7:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.UsingFashionAccessory) ? 721479038 : 721479030);
|
|
break;
|
|
case 2:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Mounted) ? 721479038 : 721479029);
|
|
break;
|
|
case 3:
|
|
return true;
|
|
case 6:
|
|
num = (IsCrafting(condition) ? 721479038 : 721479032);
|
|
break;
|
|
case 0:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.PlayingLordOfVerminion) ? 721479038 : 721479031);
|
|
break;
|
|
case 5:
|
|
num = (IsGathering(condition) ? 721479038 : 721479039);
|
|
break;
|
|
case 9:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Mounting71) ? 721479038 : 721479036);
|
|
break;
|
|
case 8:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Mounting) ? 721479038 : 721479028);
|
|
break;
|
|
case 1:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.ChocoboRacing) ? 721479038 : 721479037);
|
|
break;
|
|
case 4:
|
|
num = 721479035;
|
|
break;
|
|
case 11:
|
|
return _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.InFlight);
|
|
case 10:
|
|
num = (_206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(condition, ConditionFlag.Performing) ? 721479038 : 721479034);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
static bool _206D_202D_206B_202B_206A_206D_206B_206B_200E_206B_202C_206C_200E_202C_206D_202C_200B_206D_206A_206D_200C_206C_206C_202E_202D_206A_206B_200F_206F_202A_202B_202A_200B_206C_206E_200D_200D_200D_200E_200C_202E(ICondition P_0, ConditionFlag P_1)
|
|
{
|
|
return P_0[P_1];
|
|
}
|
|
}
|