1
0
Fork 0
forked from aly/qstbak

muffin v7.5.6

This commit is contained in:
alydev 2026-08-17 20:27:25 +10:00
parent 6266f9e6b7
commit addf2d530f
619 changed files with 264792 additions and 446022 deletions

View file

@ -0,0 +1,926 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
internal struct _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E
{
internal uint _202C_202B_202E_206F_202B_206F_206D_200D_200E_200E_202B_202E_200C_206F_200D_202C_206F_206A_200F_200F_206B_200B_202E_206C_206E_200C_200C_202B_206D_206F_206B_202B_200B_202D_200F_206D_202C_206F_206F_200D_202E;
internal void _202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E()
{
_202C_202B_202E_206F_202B_206F_206D_200D_200E_200E_202B_202E_200C_206F_200D_202C_206F_206A_200F_200F_206B_200B_202E_206C_206E_200C_200C_202B_206D_206F_206B_202B_200B_202D_200F_206D_202C_206F_206F_200D_202E = 1024u;
}
internal uint _202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(_206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E rangeDecoder)
{
uint num = (rangeDecoder._202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E >> 11) * _202C_202B_202E_206F_202B_206F_206D_200D_200E_200E_202B_202E_200C_206F_200D_202C_206F_206A_200F_200F_206B_200B_202E_206C_206E_200C_200C_202B_206D_206F_206B_202B_200B_202D_200F_206D_202C_206F_206F_200D_202E;
int num3;
int num4;
if (rangeDecoder._200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E < num)
{
rangeDecoder._202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E = num;
uint num2 = _202C_202B_202E_206F_202B_206F_206D_200D_200E_200E_202B_202E_200C_206F_200D_202C_206F_206A_200F_200F_206B_200B_202E_206C_206E_200C_200C_202B_206D_206F_206B_202B_200B_202D_200F_206D_202C_206F_206F_200D_202E;
num3 = (int)_202C_202B_202E_206F_202B_206F_206D_200D_200E_200E_202B_202E_200C_206F_200D_202C_206F_206A_200F_200F_206B_200B_202E_206C_206E_200C_200C_202B_206D_206F_206B_202B_200B_202D_200F_206D_202C_206F_206F_200D_202E;
num4 = 2048;
num3 = ~(~num4 + num3) >>> 5;
num4 = (int)num2;
int num5 = num4 ^ num3;
int num6 = num4 & num3;
_202C_202B_202E_206F_202B_206F_206D_200D_200E_200E_202B_202E_200C_206F_200D_202C_206F_206A_200F_200F_206B_200B_202E_206C_206E_200C_200C_202B_206D_206F_206B_202B_200B_202D_200F_206D_202C_206F_206F_200D_202E = (uint)(num5 + (num6 + num6));
if (rangeDecoder._202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E < 16777216)
{
rangeDecoder._200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E = (rangeDecoder._200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E << 8) | (byte)rangeDecoder._200F_206D_206A_200E_202E_202C_206F_202B_202E_202B_202C_206E_206B_206C_200D_202B_200D_200C_200D_202D_202D_206C_206C_202C_200C_206B_206C_206F_202B_200C_200C_206E_202A_202C_200D_200F_202B_200E_202E_206E_202E.ReadByte();
rangeDecoder._202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E <<= 8;
}
return 0u;
}
uint num7 = rangeDecoder._202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E;
num3 = (int)num;
num4 = (int)num7;
rangeDecoder._202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E = (uint)(~(~num4 + num3));
uint num8 = rangeDecoder._200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E;
num3 = (int)num;
num4 = (int)num8;
rangeDecoder._200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E = (uint)(~(~num4 + num3));
uint num9 = _202C_202B_202E_206F_202B_206F_206D_200D_200E_200E_202B_202E_200C_206F_200D_202C_206F_206A_200F_200F_206B_200B_202E_206C_206E_200C_200C_202B_206D_206F_206B_202B_200B_202D_200F_206D_202C_206F_206F_200D_202E;
num3 = (int)(_202C_202B_202E_206F_202B_206F_206D_200D_200E_200E_202B_202E_200C_206F_200D_202C_206F_206A_200F_200F_206B_200B_202E_206C_206E_200C_200C_202B_206D_206F_206B_202B_200B_202D_200F_206D_202C_206F_206F_200D_202E >> 5);
num4 = (int)num9;
_202C_202B_202E_206F_202B_206F_206D_200D_200E_200E_202B_202E_200C_206F_200D_202C_206F_206A_200F_200F_206B_200B_202E_206C_206E_200C_200C_202B_206D_206F_206B_202B_200B_202D_200F_206D_202C_206F_206F_200D_202E = (uint)(~(~num4 + num3));
if (rangeDecoder._202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E < 16777216)
{
rangeDecoder._200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E = (rangeDecoder._200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E << 8) | (byte)rangeDecoder._200F_206D_206A_200E_202E_202C_206F_202B_202E_202B_202C_206E_206B_206C_200D_202B_200D_200C_200D_202D_202D_206C_206C_202C_200C_206B_206C_206F_202B_200C_200C_206E_202A_202C_200D_200F_202B_200E_202E_206E_202E.ReadByte();
rangeDecoder._202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E <<= 8;
}
return 1u;
}
}
internal class _206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E
{
internal uint _200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E;
internal uint _202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E;
internal Stream _200F_206D_206A_200E_202E_202C_206F_202B_202E_202B_202C_206E_206B_206C_200D_202B_200D_200C_200D_202D_202D_206C_206C_202C_200C_206B_206C_206F_202B_200C_200C_206E_202A_202C_200D_200F_202B_200E_202E_206E_202E;
internal void _206B_202A_206A_206D_206C_202B_206F_202A_200F_202E_206C_200D_200C_200F_206E_206A_206C_200E_200D_202B_206D_202C_200E_202E_206D_202A_206A_206D_200C_206B_206F_206B_202A_206E_206A_202B_202C_206B_202D_200C_202E(Stream stream)
{
_200F_206D_206A_200E_202E_202C_206F_202B_202E_202B_202C_206E_206B_206C_200D_202B_200D_200C_200D_202D_202D_206C_206C_202C_200C_206B_206C_206F_202B_200C_200C_206E_202A_202C_200D_200F_202B_200E_202E_206E_202E = stream;
_200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E = 0u;
_202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E = uint.MaxValue;
int num = 0;
while (num < 5)
{
_200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E = (_200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E << 8) | (byte)_200F_206D_206A_200E_202E_202C_206F_202B_202E_202B_202C_206E_206B_206C_200D_202B_200D_200C_200D_202D_202D_206C_206C_202C_200C_206B_206C_206F_202B_200C_200C_206E_202A_202C_200D_200F_202B_200E_202E_206E_202E.ReadByte();
int num2 = num;
int num3 = 1;
int num4 = num2;
num = (num4 | num3) + (num4 & num3);
}
}
internal void _200C_202B_206A_206A_206E_206C_206C_206D_206A_200C_200F_200D_206C_200D_206C_206A_200B_202E_202B_202A_200E_200C_206A_200F_200B_202E_202D_206F_202C_206C_206B_206D_206B_200D_206F_202E_206E_200B_206E_202D_202E()
{
_200F_206D_206A_200E_202E_202C_206F_202B_202E_202B_202C_206E_206B_206C_200D_202B_200D_200C_200D_202D_202D_206C_206C_202C_200C_206B_206C_206F_202B_200C_200C_206E_202A_202C_200D_200F_202B_200E_202E_206E_202E = null;
}
internal void _206D_200F_200B_200D_202B_200F_202A_200D_200F_206C_206A_206E_206C_200E_202B_202D_202C_202B_206A_206C_200D_202C_200B_200C_200C_202E_206B_202A_206C_200F_202E_202E_206C_202E_200B_206F_200C_200B_206C_206C_202E()
{
while (_202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E < 16777216)
{
_200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E = (_200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E << 8) | (byte)_200F_206D_206A_200E_202E_202C_206F_202B_202E_202B_202C_206E_206B_206C_200D_202B_200D_200C_200D_202D_202D_206C_206C_202C_200C_206B_206C_206F_202B_200C_200C_206E_202A_202C_200D_200F_202B_200E_202E_206E_202E.ReadByte();
_202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E <<= 8;
}
}
internal uint _206D_202A_202A_200C_206E_206C_206E_200C_202A_200F_202C_200B_206A_206D_202B_202A_202E_206E_206A_200D_206A_200D_206E_202A_202C_202D_202A_202D_200E_202E_200E_200B_202C_206B_202B_206C_202D_206C_202A_202D_202E(int numTotalBits)
{
uint num = _202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E;
uint num2 = _200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E;
uint num3 = 0u;
int num4 = numTotalBits;
while (num4 > 0)
{
num >>= 1;
uint num5 = num2;
int num6 = (int)num;
int num7 = (int)num5;
uint num8 = (uint)(~(~num7 + num6)) >> 31;
uint num9 = num2;
uint num10 = num;
num6 = 1;
num7 = (int)num8;
num6 = ~(~num7 + num6);
num7 = (int)num10;
num6 = (num7 | num6) - (num7 ^ num6);
num7 = (int)num9;
num2 = (uint)(~(~num7 + num6));
uint num11 = num3 << 1;
num6 = (int)num8;
num7 = 1;
num6 = ~(~num7 + num6);
num7 = (int)num11;
num3 = (uint)((num7 & num6) + (num7 ^ num6));
if (num < 16777216)
{
num2 = (num2 << 8) | (byte)_200F_206D_206A_200E_202E_202C_206F_202B_202E_202B_202C_206E_206B_206C_200D_202B_200D_200C_200D_202D_202D_206C_206C_202C_200C_206B_206C_206F_202B_200C_200C_206E_202A_202C_200D_200F_202B_200E_202E_206E_202E.ReadByte();
num <<= 8;
}
int num12 = num4;
num6 = 1;
num7 = num12;
num4 = ~(~num7 + num6);
}
_202D_200D_200B_206C_206D_206D_200F_206D_206A_202B_200B_200B_202C_202E_206C_200F_200F_200F_202C_202C_206E_200E_206A_206B_202E_206B_202C_200C_200B_202E_202B_200E_200D_202D_200F_200B_200D_206C_200C_202D_202E = num;
_200E_206B_202D_202D_206C_200D_200C_202B_200B_202D_200F_200D_202B_200D_206A_202C_202D_206F_202B_206B_202A_202E_202A_202E_202B_206C_200B_202B_200D_202A_202C_206A_202D_206B_206F_200E_202E_206A_200C_200F_202E = num2;
return num3;
}
internal _206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E()
{
}
}
internal class _206F_206A_202A_200E_200D_202C_200B_206A_202D_206E_202E_200C_202D_202E_200E_202D_200D_200D_206E_200B_206A_202D_206B_206F_200F_206F_202B_206D_206A_206D_202C_202B_200D_202D_200E_206A_202A_206C_202D_206C_202E
{
internal class _200C_206C_206C_202E_206F_202C_200D_200B_200C_206E_206B_200B_206E_200F_202A_202B_200B_202E_202D_202E_200D_200E_206F_200D_202C_202A_200F_206E_200E_202A_202D_202C_202A_206D_206A_206E_202A_202C_206C_200C_202E
{
internal readonly _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E[] _202E_200C_200C_206F_200B_202B_206C_200E_200D_200B_202A_202B_206A_202D_202D_200D_202B_202C_200F_206D_200E_200B_202A_200D_200C_202A_206E_202D_202B_200B_206A_200E_202B_202D_206A_200B_200C_206F_206F_202E_202E = new _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E[16];
internal readonly _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E[] _206E_202B_202C_200C_206D_206A_206C_200C_202B_206C_202B_206E_202E_202E_200E_206F_202A_202B_202C_202D_206B_202D_200D_206C_206A_200B_202A_206A_200C_206B_206C_206F_206B_206B_200E_206F_206E_206C_200F_206E_202E = new _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E[16];
internal _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E _206F_200B_206B_202B_202D_200C_202A_206A_202D_202E_202C_206F_206D_206C_206B_206D_202C_202D_200B_202C_202B_202B_206A_206D_202B_200C_200C_206D_200C_206F_202C_200D_202E_206E_202C_206B_206D_202E_202B_200F_202E;
internal _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E _202D_206A_202E_202B_206D_202B_200E_206A_200B_202C_202B_206A_206A_202C_200E_206B_202B_200B_200F_200B_206D_200C_200F_202E_200B_200C_200B_202C_200D_200E_200D_206D_202B_206D_200D_202D_200D_202E_206E_202A_202E;
internal _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E _200C_206E_200C_202E_200E_200D_206C_202A_200F_206B_202D_202D_206C_202B_206C_200E_200E_200F_206B_200D_206D_200D_200E_206C_202E_206A_206A_206F_200B_206B_202D_206C_206E_206E_202A_200B_206D_206D_206E_202D_202E = new _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E(8);
internal uint _200D_202C_202A_200D_202D_202D_206E_202B_202E_200B_202D_202B_206E_202B_202A_200F_206E_206D_206F_202B_202E_206C_206F_206D_200F_200D_200D_206A_206C_206B_202D_202E_202C_202A_206B_200F_206F_200B_206C_202B_202E;
internal void _200B_200C_200C_206F_202A_202C_200F_200B_200B_206A_200C_202B_206F_202E_206E_206E_202B_202D_206D_202A_200F_202D_202D_202C_200D_206B_200C_200E_206C_206F_200B_206C_206D_202E_206B_206A_202B_200E_200B_206E_202E(uint numPosStates)
{
uint num = _200D_202C_202A_200D_202D_202D_206E_202B_202E_200B_202D_202B_206E_202B_202A_200F_206E_206D_206F_202B_202E_206C_206F_206D_200F_200D_200D_206A_206C_206B_202D_202E_202C_202A_206B_200F_206F_200B_206C_202B_202E;
while (num < numPosStates)
{
_202E_200C_200C_206F_200B_202B_206C_200E_200D_200B_202A_202B_206A_202D_202D_200D_202B_202C_200F_206D_200E_200B_202A_200D_200C_202A_206E_202D_202B_200B_206A_200E_202B_202D_206A_200B_200C_206F_206F_202E_202E[num] = new _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E(3);
_206E_202B_202C_200C_206D_206A_206C_200C_202B_206C_202B_206E_202E_202E_200E_206F_202A_202B_202C_202D_206B_202D_200D_206C_206A_200B_202A_206A_200C_206B_206C_206F_206B_206B_200E_206F_206E_206C_200F_206E_202E[num] = new _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E(3);
uint num2 = num;
int num3 = 1;
int num4 = (int)num2;
num = (uint)((num4 | num3) + (num4 & num3));
}
_200D_202C_202A_200D_202D_202D_206E_202B_202E_200B_202D_202B_206E_202B_202A_200F_206E_206D_206F_202B_202E_206C_206F_206D_200F_200D_200D_206A_206C_206B_202D_202E_202C_202A_206B_200F_206F_200B_206C_202B_202E = numPosStates;
}
internal void _202C_202A_200B_202C_206D_200B_206A_206B_200D_202A_206A_200F_202E_206B_202D_202B_200D_206F_206B_206F_202D_206C_200E_200C_206F_206D_206B_206D_206E_200D_206F_202C_200B_202E_200B_206E_200C_206E_202E()
{
_206F_200B_206B_202B_202D_200C_202A_206A_202D_202E_202C_206F_206D_206C_206B_206D_202C_202D_200B_202C_202B_202B_206A_206D_202B_200C_200C_206D_200C_206F_202C_200D_202E_206E_202C_206B_206D_202E_202B_200F_202E._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
uint num = 0u;
while (num < _200D_202C_202A_200D_202D_202D_206E_202B_202E_200B_202D_202B_206E_202B_202A_200F_206E_206D_206F_202B_202E_206C_206F_206D_200F_200D_200D_206A_206C_206B_202D_202E_202C_202A_206B_200F_206F_200B_206C_202B_202E)
{
_202E_200C_200C_206F_200B_202B_206C_200E_200D_200B_202A_202B_206A_202D_202D_200D_202B_202C_200F_206D_200E_200B_202A_200D_200C_202A_206E_202D_202B_200B_206A_200E_202B_202D_206A_200B_200C_206F_206F_202E_202E[num]._200C_206F_206E_206C_202A_202B_206A_200E_200E_206C_202B_202B_206B_200F_206D_200E_206D_206A_206A_206B_206E_206E_200B_206C_202D_202D_202E_200D_206D_200F_202B_200E_202A_202C_206C_206B_206F_206E_206C_202E();
_206E_202B_202C_200C_206D_206A_206C_200C_202B_206C_202B_206E_202E_202E_200E_206F_202A_202B_202C_202D_206B_202D_200D_206C_206A_200B_202A_206A_200C_206B_206C_206F_206B_206B_200E_206F_206E_206C_200F_206E_202E[num]._200C_206F_206E_206C_202A_202B_206A_200E_200E_206C_202B_202B_206B_200F_206D_200E_206D_206A_206A_206B_206E_206E_200B_206C_202D_202D_202E_200D_206D_200F_202B_200E_202A_202C_206C_206B_206F_206E_206C_202E();
uint num2 = num;
int num3 = 1;
int num4 = (int)num2;
num = (uint)((num4 | num3) + (num4 & num3));
}
_202D_206A_202E_202B_206D_202B_200E_206A_200B_202C_202B_206A_206A_202C_200E_206B_202B_200B_200F_200B_206D_200C_200F_202E_200B_200C_200B_202C_200D_200E_200D_206D_202B_206D_200D_202D_200D_202E_206E_202A_202E._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
_200C_206E_200C_202E_200E_200D_206C_202A_200F_206B_202D_202D_206C_202B_206C_200E_200E_200F_206B_200D_206D_200D_200E_206C_202E_206A_206A_206F_200B_206B_202D_206C_206E_206E_202A_200B_206D_206D_206E_202D_202E._200C_206F_206E_206C_202A_202B_206A_200E_200E_206C_202B_202B_206B_200F_206D_200E_206D_206A_206A_206B_206E_206E_200B_206C_202D_202D_202E_200D_206D_200F_202B_200E_202A_202C_206C_206B_206F_206E_206C_202E();
}
internal uint _206D_202C_202B_202C_200F_200D_206D_202D_202E_206D_200D_200B_202C_200C_202A_200E_206C_202A_206B_200E_202B_202C_202D_202B_206A_206A_206D_200F_206C_206A_206D_200D_202A_200E_206C_200B_200B_202E_206D_206A_202E(_206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E rangeDecoder, uint posState)
{
if (_206F_200B_206B_202B_202D_200C_202A_206A_202D_202E_202C_206F_206D_206C_206B_206D_202C_202D_200B_202C_202B_202B_206A_206D_202B_200C_200C_206D_200C_206F_202C_200D_202E_206E_202C_206B_206D_202E_202B_200F_202E._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(rangeDecoder) == 0)
{
return _202E_200C_200C_206F_200B_202B_206C_200E_200D_200B_202A_202B_206A_202D_202D_200D_202B_202C_200F_206D_200E_200B_202A_200D_200C_202A_206E_202D_202B_200B_206A_200E_202B_202D_206A_200B_200C_206F_206F_202E_202E[posState]._200C_200F_206F_206A_200B_200B_200F_200B_202B_200E_202B_206F_202E_206A_206E_206B_200D_206C_202A_206A_200C_202D_202D_200B_200E_200B_202E_206B_206F_200C_200E_200B_202B_202B_206B_202A_200F_206F_202E_206A_202E(rangeDecoder);
}
uint num = 8u;
if (_202D_206A_202E_202B_206D_202B_200E_206A_200B_202C_202B_206A_206A_202C_200E_206B_202B_200B_200F_200B_206D_200C_200F_202E_200B_200C_200B_202C_200D_200E_200D_206D_202B_206D_200D_202D_200D_202E_206E_202A_202E._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(rangeDecoder) == 0)
{
return num + _206E_202B_202C_200C_206D_206A_206C_200C_202B_206C_202B_206E_202E_202E_200E_206F_202A_202B_202C_202D_206B_202D_200D_206C_206A_200B_202A_206A_200C_206B_206C_206F_206B_206B_200E_206F_206E_206C_200F_206E_202E[posState]._200C_200F_206F_206A_200B_200B_200F_200B_202B_200E_202B_206F_202E_206A_206E_206B_200D_206C_202A_206A_200C_202D_202D_200B_200E_200B_202E_206B_206F_200C_200E_200B_202B_202B_206B_202A_200F_206F_202E_206A_202E(rangeDecoder);
}
uint num2 = num;
int num3 = 8;
int num4 = (int)num2;
num = (uint)((num4 | num3) + (num4 & num3));
return num + _200C_206E_200C_202E_200E_200D_206C_202A_200F_206B_202D_202D_206C_202B_206C_200E_200E_200F_206B_200D_206D_200D_200E_206C_202E_206A_206A_206F_200B_206B_202D_206C_206E_206E_202A_200B_206D_206D_206E_202D_202E._200C_200F_206F_206A_200B_200B_200F_200B_202B_200E_202B_206F_202E_206A_206E_206B_200D_206C_202A_206A_200C_202D_202D_200B_200E_200B_202E_206B_206F_200C_200E_200B_202B_202B_206B_202A_200F_206F_202E_206A_202E(rangeDecoder);
}
internal _200C_206C_206C_202E_206F_202C_200D_200B_200C_206E_206B_200B_206E_200F_202A_202B_200B_202E_202D_202E_200D_200E_206F_200D_202C_202A_200F_206E_200E_202A_202D_202C_202A_206D_206A_206E_202A_202C_206C_200C_202E()
{
}
}
internal class _200D_200E_200E_206E_200F_202B_202D_200B_206F_200E_202A_200E_206F_206C_206C_206A_202A_200F_200B_202C_202B_206F_206B_202E_200E_200E_202D_202B_206F_206C_200B_202E_200B_206B_206C_200E_200F_206B_206D_206D_202E
{
internal struct _202B_200F_202E_202A_202C_202D_200C_202E_206F_202D_206D_200D_206C_206D_200E_200B_206D_206F_206A_206F_206B_206E_206D_202C_206C_202A_200C_206E_200B_202A_206D_202A_200E_202B_200F_206E_200E_202E_206D_206F_202E
{
internal _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] _206D_206A_206D_202D_200E_206D_202C_200D_202E_206F_202E_200F_206B_206B_206D_200E_200B_202C_202A_200C_202D_202E_202C_206D_206E_206D_202A_206A_200F_202B_206C_202D_206B_206B_202B_202D_200C_202D_200E_200C_202E;
internal void _202B_206F_206B_200D_202C_200E_202E_206E_200F_206C_202A_200C_202B_206B_200B_200C_202E_202D_200C_206B_200C_206B_206B_206D_206F_202D_206E_202A_202D_200F_206F_206D_200D_202B_200D_202B_202B_200E_206D_206A_202E()
{
_206D_206A_206D_202D_200E_206D_202C_200D_202E_206F_202E_200F_206B_206B_206D_200E_200B_202C_202A_200C_202D_202E_202C_206D_206E_206D_202A_206A_200F_202B_206C_202D_206B_206B_202B_202D_200C_202D_200E_200C_202E = new _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[768];
}
internal void _202E_206F_206A_206A_200C_202D_200D_200C_206D_206D_206F_206C_200C_202D_200C_202E_200E_202B_202E_200C_200B_206D_200F_202D_200D_202B_206A_202C_200F_206F_202D_202E_202D_206F_200D_206F_202D_202C_206D_202E_202E()
{
int num = 0;
while (num < 768)
{
_206D_206A_206D_202D_200E_206D_202C_200D_202E_206F_202E_200F_206B_206B_206D_200E_200B_202C_202A_200C_202D_202E_202C_206D_206E_206D_202A_206A_200F_202B_206C_202D_206B_206B_202B_202D_200C_202D_200E_200C_202E[num]._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
int num2 = num;
int num3 = 1;
int num4 = num2;
int num5 = num4 ^ num3;
int num6 = num4 & num3;
num = num5 + (num6 + num6);
}
}
internal byte _206F_200B_200D_206B_206D_202C_206B_200F_202E_200E_202E_206C_200D_206D_202B_200F_200B_202E_200E_206C_206F_200C_200D_202D_202B_202D_202C_206E_202E_206A_206B_200D_206A_200F_202C_200F_206D_200C_200B_202B_202E(_206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E rangeDecoder)
{
uint num = 1u;
do
{
num = (num << 1) | _206D_206A_206D_202D_200E_206D_202C_200D_202E_206F_202E_200F_206B_206B_206D_200E_200B_202C_202A_200C_202D_202E_202C_206D_206E_206D_202A_206A_200F_202B_206C_202D_206B_206B_202B_202D_200C_202D_200E_200C_202E[num]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(rangeDecoder);
}
while (num < 256);
return (byte)num;
}
internal byte _206B_206A_206F_200B_206B_202D_202C_200E_206F_202A_206E_202A_202A_200D_206E_200D_206E_200D_202E_206C_200D_206A_200C_206A_206D_202A_206D_206D_206D_200B_202C_202C_200F_202D_202D_206A_200E_200E_200B_202E_202E(_206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E rangeDecoder, byte matchByte)
{
uint num = 1u;
do
{
int num2 = matchByte >> 7;
int num3 = 1;
int num4 = num2;
uint num5 = (uint)(num4 + num3 - (num4 | num3));
matchByte <<= 1;
_206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] array = _206D_206A_206D_202D_200E_206D_202C_200D_202E_206F_202E_200F_206B_206B_206D_200E_200B_202C_202A_200C_202D_202E_202C_206D_206E_206D_202A_206A_200F_202B_206C_202D_206B_206B_202B_202D_200C_202D_200E_200C_202E;
num3 = (int)num5;
num4 = 1;
int num6 = num4 ^ num3;
int num7 = num4 & num3;
int num8 = num6 + (num7 + num7) << 8;
num3 = (int)num;
num4 = num8;
uint num9 = array[(num4 | num3) + (num4 & num3)]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(rangeDecoder);
uint num10 = num << 1;
num3 = (int)num9;
num4 = (int)num10;
num = (uint)((num4 & num3) + (num4 ^ num3));
if (num5 != num9)
{
while (num < 256)
{
num = (num << 1) | _206D_206A_206D_202D_200E_206D_202C_200D_202E_206F_202E_200F_206B_206B_206D_200E_200B_202C_202A_200C_202D_202E_202C_206D_206E_206D_202A_206A_200F_202B_206C_202D_206B_206B_202B_202D_200C_202D_200E_200C_202E[num]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(rangeDecoder);
}
break;
}
}
while (num < 256);
return (byte)num;
}
}
internal _202B_200F_202E_202A_202C_202D_200C_202E_206F_202D_206D_200D_206C_206D_200E_200B_206D_206F_206A_206F_206B_206E_206D_202C_206C_202A_200C_206E_200B_202A_206D_202A_200E_202B_200F_206E_200E_202E_206D_206F_202E[] _202D_202E_206F_206A_206C_202B_200B_206E_206C_200C_206A_200E_206A_200B_202D_206C_200E_202B_206D_206F_206B_200E_200C_200B_206F_206E_200E_202C_206D_202B_206F_202C_206E_206A_206C_200B_202B_200D_206B_206D_202E;
internal int _206C_206C_200F_202B_202B_200C_202C_206B_202B_206C_202B_202B_206A_200C_202B_200E_200E_202D_206A_206B_202C_200B_206F_200B_206C_206E_202C_206F_206C_206F_206C_200F_206D_202A_206B_200D_206A_200C_200C_202C_202E;
internal int _206C_200B_202C_202C_206F_200B_206E_206E_200C_206B_202A_200B_202A_206B_200E_202D_200B_202D_200D_202A_202A_202B_202B_200D_206B_206D_202A_202D_206E_202D_206E_202A_202B_206C_200D_206F_202A_202A_206A_202C_202E;
internal uint _202E_202D_200B_206C_206F_206C_202C_206E_202A_206D_206C_200C_202B_200E_200C_200F_206B_200F_200D_206E_200D_206A_202B_202D_202A_202A_202C_200D_206C_202A_200F_200D_200C_200C_200C_206A_202C_206F_202C_200D_202E;
internal void _200E_202C_200C_200F_202A_206A_202A_202A_206F_200B_200C_202E_202E_202B_202C_206C_206A_206D_202C_206F_202B_200D_200E_200D_202C_206B_202C_202B_200B_202C_202B_202E_206C_202C_200D_206B_206F_202A_202C_202D_202E(int numPosBits, int numPrevBits)
{
if (_202D_202E_206F_206A_206C_202B_200B_206E_206C_200C_206A_200E_206A_200B_202D_206C_200E_202B_206D_206F_206B_200E_200C_200B_206F_206E_200E_202C_206D_202B_206F_202C_206E_206A_206C_200B_202B_200D_206B_206D_202E == null || _206C_200B_202C_202C_206F_200B_206E_206E_200C_206B_202A_200B_202A_206B_200E_202D_200B_202D_200D_202A_202A_202B_202B_200D_206B_206D_202A_202D_206E_202D_206E_202A_202B_206C_200D_206F_202A_202A_206A_202C_202E != numPrevBits || _206C_206C_200F_202B_202B_200C_202C_206B_202B_206C_202B_202B_206A_200C_202B_200E_200E_202D_206A_206B_202C_200B_206F_200B_206C_206E_202C_206F_206C_206F_206C_200F_206D_202A_206B_200D_206A_200C_200C_202C_202E != numPosBits)
{
_206C_206C_200F_202B_202B_200C_202C_206B_202B_206C_202B_202B_206A_200C_202B_200E_200E_202D_206A_206B_202C_200B_206F_200B_206C_206E_202C_206F_206C_206F_206C_200F_206D_202A_206B_200D_206A_200C_200C_202C_202E = numPosBits;
int num = 31;
int num2 = numPosBits;
int num3 = 1 << num2 + num - (num2 | num);
num = 1;
num2 = num3;
_202E_202D_200B_206C_206F_206C_202C_206E_202A_206D_206C_200C_202B_200E_200C_200F_206B_200F_200D_206E_200D_206A_202B_202D_202A_202A_202C_200D_206C_202A_200F_200D_200C_200C_200C_206A_202C_206F_202C_200D_202E = (uint)(~(~num2 + num));
_206C_200B_202C_202C_206F_200B_206E_206E_200C_206B_202A_200B_202A_206B_200E_202D_200B_202D_200D_202A_202A_202B_202B_200D_206B_206D_202A_202D_206E_202D_206E_202A_202B_206C_200D_206F_202A_202A_206A_202C_202E = numPrevBits;
int num4 = _206C_200B_202C_202C_206F_200B_206E_206E_200C_206B_202A_200B_202A_206B_200E_202D_200B_202D_200D_202A_202A_202B_202B_200D_206B_206D_202A_202D_206E_202D_206E_202A_202B_206C_200D_206F_202A_202A_206A_202C_202E;
num = _206C_206C_200F_202B_202B_200C_202C_206B_202B_206C_202B_202B_206A_200C_202B_200E_200E_202D_206A_206B_202C_200B_206F_200B_206C_206E_202C_206F_206C_206F_206C_200F_206D_202A_206B_200D_206A_200C_200C_202C_202E;
num2 = num4;
int num5 = (num2 | num) + (num2 & num);
num = 31;
num2 = num5;
uint num6 = (uint)(1 << (num2 | num) - (num2 ^ num));
_202D_202E_206F_206A_206C_202B_200B_206E_206C_200C_206A_200E_206A_200B_202D_206C_200E_202B_206D_206F_206B_200E_200C_200B_206F_206E_200E_202C_206D_202B_206F_202C_206E_206A_206C_200B_202B_200D_206B_206D_202E = new _202B_200F_202E_202A_202C_202D_200C_202E_206F_202D_206D_200D_206C_206D_200E_200B_206D_206F_206A_206F_206B_206E_206D_202C_206C_202A_200C_206E_200B_202A_206D_202A_200E_202B_200F_206E_200E_202E_206D_206F_202E[num6];
uint num7 = 0u;
while (num7 < num6)
{
_202D_202E_206F_206A_206C_202B_200B_206E_206C_200C_206A_200E_206A_200B_202D_206C_200E_202B_206D_206F_206B_200E_200C_200B_206F_206E_200E_202C_206D_202B_206F_202C_206E_206A_206C_200B_202B_200D_206B_206D_202E[num7]._202B_206F_206B_200D_202C_200E_202E_206E_200F_206C_202A_200C_202B_206B_200B_200C_202E_202D_200C_206B_200C_206B_206B_206D_206F_202D_206E_202A_202D_200F_206F_206D_200D_202B_200D_202B_202B_200E_206D_206A_202E();
uint num8 = num7;
num = 1;
num2 = (int)num8;
int num9 = num2 ^ num;
int num10 = num2 & num;
num7 = (uint)(num9 + (num10 + num10));
}
}
}
internal void _202C_206B_206B_206D_202D_206C_202C_206E_200B_206D_202A_202A_206B_206F_202D_202D_202C_206F_206E_206E_206E_200B_200E_206F_200C_206E_202A_206E_206A_206F_206E_206C_206D_200C_202A_206F_206F_206E_202A_200C_202E()
{
int num = _206C_200B_202C_202C_206F_200B_206E_206E_200C_206B_202A_200B_202A_206B_200E_202D_200B_202D_200D_202A_202A_202B_202B_200D_206B_206D_202A_202D_206E_202D_206E_202A_202B_206C_200D_206F_202A_202A_206A_202C_202E;
int num2 = _206C_206C_200F_202B_202B_200C_202C_206B_202B_206C_202B_202B_206A_200C_202B_200E_200E_202D_206A_206B_202C_200B_206F_200B_206C_206E_202C_206F_206C_206F_206C_200F_206D_202A_206B_200D_206A_200C_200C_202C_202E;
int num3 = num;
int num4 = num3 ^ num2;
int num5 = num3 & num2;
int num6 = num4 + (num5 + num5);
num2 = 31;
num3 = num6;
uint num7 = (uint)(1 << (num3 | num2) - (num3 ^ num2));
for (uint num8 = 0u; num8 < num7; num8 = (uint)((num3 | num2) + (num3 & num2)))
{
_202D_202E_206F_206A_206C_202B_200B_206E_206C_200C_206A_200E_206A_200B_202D_206C_200E_202B_206D_206F_206B_200E_200C_200B_206F_206E_200E_202C_206D_202B_206F_202C_206E_206A_206C_200B_202B_200D_206B_206D_202E[num8]._202E_206F_206A_206A_200C_202D_200D_200C_206D_206D_206F_206C_200C_202D_200C_202E_200E_202B_202E_200C_200B_206D_200F_202D_200D_202B_206A_202C_200F_206F_202D_202E_202D_206F_200D_206F_202D_202C_206D_202E_202E();
uint num9 = num8;
num2 = 1;
num3 = (int)num9;
}
}
internal uint _202E_200B_202B_200E_200C_202E_206B_200B_202E_206A_206B_200F_200D_200F_206D_206A_206E_202E_206F_202A_206A_202D_200F_202E_206E_206C_202A_200F_206A_206A_202A_200C_200E_202A_200B_202C_206B_200B_200D_206C_202E(uint pos, byte prevByte)
{
int num = (int)_202E_202D_200B_206C_206F_206C_202C_206E_202A_206D_206C_200C_202B_200E_200C_200F_206B_200F_200D_206E_200D_206A_202B_202D_202A_202A_202C_200D_206C_202A_200F_200D_200C_200C_200C_206A_202C_206F_202C_200D_202E;
int num2 = (int)pos;
int num3 = num2 + num - (num2 | num);
int num4 = _206C_200B_202C_202C_206F_200B_206E_206E_200C_206B_202A_200B_202A_206B_200E_202D_200B_202D_200D_202A_202A_202B_202B_200D_206B_206D_202A_202D_206E_202D_206E_202A_202B_206C_200D_206F_202A_202A_206A_202C_202E;
num = 31;
num2 = num4;
int num5 = num3 << (num2 | num) - (num2 ^ num);
num = _206C_200B_202C_202C_206F_200B_206E_206E_200C_206B_202A_200B_202A_206B_200E_202D_200B_202D_200D_202A_202A_202B_202B_200D_206B_206D_202A_202D_206E_202D_206E_202A_202B_206C_200D_206F_202A_202A_206A_202C_202E;
num2 = 8;
int num6 = ~(~num2 + num);
num = 31;
num2 = num6;
num = prevByte >> num2 + num - (num2 | num);
num2 = num5;
return (uint)((num2 | num) + (num2 & num));
}
internal byte _200B_202A_202B_200D_202C_202C_206A_206B_200B_202D_202C_200F_200F_202E_206D_202D_206C_206E_202C_200D_202B_206E_200B_206C_206F_200C_206D_200C_200D_202A_202D_200F_202C_206D_200E_200E_202E_202B_202A_202B_202E(_206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E rangeDecoder, uint pos, byte prevByte)
{
return _202D_202E_206F_206A_206C_202B_200B_206E_206C_200C_206A_200E_206A_200B_202D_206C_200E_202B_206D_206F_206B_200E_200C_200B_206F_206E_200E_202C_206D_202B_206F_202C_206E_206A_206C_200B_202B_200D_206B_206D_202E[_202E_200B_202B_200E_200C_202E_206B_200B_202E_206A_206B_200F_200D_200F_206D_206A_206E_202E_206F_202A_206A_202D_200F_202E_206E_206C_202A_200F_206A_206A_202A_200C_200E_202A_200B_202C_206B_200B_200D_206C_202E(pos, prevByte)]._206F_200B_200D_206B_206D_202C_206B_200F_202E_200E_202E_206C_200D_206D_202B_200F_200B_202E_200E_206C_206F_200C_200D_202D_202B_202D_202C_206E_202E_206A_206B_200D_206A_200F_202C_200F_206D_200C_200B_202B_202E(rangeDecoder);
}
internal byte _200B_206F_206E_206D_206B_202A_200B_206A_200B_200C_202B_206E_206B_202D_206B_206F_202A_200C_202A_200C_206C_202D_202D_202E_200C_206B_202D_202A_200D_200F_206F_200E_206B_206A_206D_202D_202E_200C_200F_206D_202E(_206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E rangeDecoder, uint pos, byte prevByte, byte matchByte)
{
return _202D_202E_206F_206A_206C_202B_200B_206E_206C_200C_206A_200E_206A_200B_202D_206C_200E_202B_206D_206F_206B_200E_200C_200B_206F_206E_200E_202C_206D_202B_206F_202C_206E_206A_206C_200B_202B_200D_206B_206D_202E[_202E_200B_202B_200E_200C_202E_206B_200B_202E_206A_206B_200F_200D_200F_206D_206A_206E_202E_206F_202A_206A_202D_200F_202E_206E_206C_202A_200F_206A_206A_202A_200C_200E_202A_200B_202C_206B_200B_200D_206C_202E(pos, prevByte)]._206B_206A_206F_200B_206B_202D_202C_200E_206F_202A_206E_202A_202A_200D_206E_200D_206E_200D_202E_206C_200D_206A_200C_206A_206D_202A_206D_206D_206D_200B_202C_202C_200F_202D_202D_206A_200E_200E_200B_202E_202E(rangeDecoder, matchByte);
}
internal _200D_200E_200E_206E_200F_202B_202D_200B_206F_200E_202A_200E_206F_206C_206C_206A_202A_200F_200B_202C_202B_206F_206B_202E_200E_200E_202D_202B_206F_206C_200B_202E_200B_206B_206C_200E_200F_206B_206D_206D_202E()
{
}
}
internal readonly _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] _202C_206B_206E_206A_206A_206F_200D_202A_200F_206B_206A_206F_200B_200C_206E_206C_202A_206A_200E_206B_202E_202B_206C_206C_200C_206D_206F_206E_202C_200B_206F_206A_206A_206E_206F_206E_202B_202B_206B_202E_202E = new _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[192];
internal readonly _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] _206D_202D_200D_206B_206B_206E_200E_202A_200C_200F_200E_206E_206D_202B_206C_206D_200D_200B_206D_200F_202D_206A_206F_206A_200F_206D_200C_200B_202A_206F_200F_200C_200F_200C_200D_200E_206D_200C_206F_206E_202E = new _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[192];
internal readonly _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] _200C_206D_202C_202E_200D_200B_200C_200B_200E_200B_200D_206B_200B_200D_202A_202D_202E_202A_202E_202E_206C_202E_200F_206C_202A_200C_202C_202C_200F_206B_200F_200B_202C_206D_200D_200E_206D_206E_206C_206D_202E = new _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[12];
internal readonly _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] _200D_202C_206B_202C_206B_206B_200E_206E_202E_206B_200B_206C_202B_200C_200B_200D_206C_206C_206E_200B_200B_202E_202E_206A_206A_202D_202B_206D_200E_202D_200C_206D_206A_200C_200D_202B_202D_202E_200F_200D_202E = new _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[12];
internal readonly _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] _202B_206A_202B_202A_200B_202D_202A_206B_200B_206A_206C_200F_202E_200F_206F_200E_200E_200E_206F_206B_202D_206D_202C_200E_206A_202E_206B_200E_202D_206B_202E_202A_200E_200E_206D_206B_206D_202B_202C_206E_202E = new _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[12];
internal readonly _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] _206E_206C_200F_200F_202A_200B_202B_206B_202D_206E_202D_206C_206B_200D_206B_200E_202A_206B_206D_206E_206A_206B_206B_200C_206A_206C_202B_206D_202D_200D_200F_206D_206F_206F_200E_202B_200D_206A_206A_206C_202E = new _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[12];
internal readonly _200C_206C_206C_202E_206F_202C_200D_200B_200C_206E_206B_200B_206E_200F_202A_202B_200B_202E_202D_202E_200D_200E_206F_200D_202C_202A_200F_206E_200E_202A_202D_202C_202A_206D_206A_206E_202A_202C_206C_200C_202E _206F_202B_202B_200F_202C_202A_200E_200B_202E_200E_200C_202D_206A_202B_202E_206E_202C_200F_206E_200E_206A_202C_200D_202B_200F_200D_200E_206F_206A_202A_206A_206B_206A_200C_202C_206D_206F_206D_206A_206C_202E = new _200C_206C_206C_202E_206F_202C_200D_200B_200C_206E_206B_200B_206E_200F_202A_202B_200B_202E_202D_202E_200D_200E_206F_200D_202C_202A_200F_206E_200E_202A_202D_202C_202A_206D_206A_206E_202A_202C_206C_200C_202E();
internal readonly _200D_200E_200E_206E_200F_202B_202D_200B_206F_200E_202A_200E_206F_206C_206C_206A_202A_200F_200B_202C_202B_206F_206B_202E_200E_200E_202D_202B_206F_206C_200B_202E_200B_206B_206C_200E_200F_206B_206D_206D_202E _206D_200D_200D_200C_206F_200D_202A_200B_200F_206F_206E_206D_202E_200C_206C_206D_206D_200C_202C_206B_206B_200D_202D_200B_206B_200C_206C_206D_200B_202D_206A_206C_206B_200F_206D_206D_206D_202E_200C_206A_202E = new _200D_200E_200E_206E_200F_202B_202D_200B_206F_200E_202A_200E_206F_206C_206C_206A_202A_200F_200B_202C_202B_206F_206B_202E_200E_200E_202D_202B_206F_206C_200B_202E_200B_206B_206C_200E_200F_206B_206D_206D_202E();
internal readonly _206C_200B_206C_200B_200E_206B_200B_200E_202B_202B_200F_200C_202A_206E_202E_202E_200C_200C_206F_206F_206D_202D_200D_202E_200F_202E_206D_206A_202C_200E_200E_202E_202D_206F_206C_202E_206D_206F_202C_206A_202E _206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E = new _206C_200B_206C_200B_200E_206B_200B_200E_202B_202B_200F_200C_202A_206E_202E_202E_200C_200C_206F_206F_206D_202D_200D_202E_200F_202E_206D_206A_202C_200E_200E_202E_202D_206F_206C_202E_206D_206F_202C_206A_202E();
internal readonly _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] _200D_202B_200B_202B_202E_200E_200F_200F_206A_200D_206F_200D_200D_206C_206F_202D_206A_206D_200C_206D_200C_200C_202E_200F_206D_202C_206D_206D_206E_200B_200F_202A_202A_206E_200D_206B_206B_202B_206B_206E_202E = new _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[114];
internal readonly _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E[] _206E_202C_200B_206D_202B_200B_202D_202A_202E_202C_200B_200C_206F_200C_206F_202E_206D_206A_202A_200F_200B_200C_206C_202B_206E_200C_202A_202B_202B_200C_200F_206D_202E_206E_202E_202C_206A_200F_206D_202B_202E = new _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E[4];
internal readonly _206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E _200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E = new _206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E();
internal readonly _200C_206C_206C_202E_206F_202C_200D_200B_200C_206E_206B_200B_206E_200F_202A_202B_200B_202E_202D_202E_200D_200E_206F_200D_202C_202A_200F_206E_200E_202A_202D_202C_202A_206D_206A_206E_202A_202C_206C_200C_202E _202A_202A_206B_200D_206E_206C_200F_206E_200D_206A_202D_206A_202D_200F_200C_200D_206A_202B_202B_202E_202E_200E_206C_202B_206A_206A_202A_202C_200E_206C_200C_200E_206D_200F_206B_202E_206F_200F_202E_202E_202E = new _200C_206C_206C_202E_206F_202C_200D_200B_200C_206E_206B_200B_206E_200F_202A_202B_200B_202E_202D_202E_200D_200E_206F_200D_202C_202A_200F_206E_200E_202A_202D_202C_202A_206D_206A_206E_202A_202C_206C_200C_202E();
internal bool _202E_206A_200E_202D_202D_206D_202E_206F_200C_200F_200C_202D_206B_202D_202D_206F_202B_200D_200B_206F_200F_206C_202C_206B_206C_200E_206B_200D_200F_206E_206B_202C_206E_206E_200C_200D_200F_202C_206F_200C_202E;
internal uint _202C_202C_206B_206B_202E_206A_202A_206B_206A_200E_206B_200D_200B_202E_200B_206D_200B_202C_200C_202D_206C_200B_200F_202B_202B_206D_206D_206E_206C_202A_200D_200B_206E_202C_202B_206E_200E_200B_202C_206F_202E;
internal uint _206A_200C_200F_206E_206C_200E_206B_200D_206C_200F_200B_206E_206B_202C_200B_202C_202A_202C_206E_200D_202B_202D_206C_200C_200D_206A_206B_206D_206B_206B_206E_206F_206C_202C_202D_200D_200F_200B_206C_206C_202E;
internal _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E _202A_206C_200D_206B_200F_202D_206E_202D_206F_200F_200B_206B_206C_202E_202D_206B_200B_206C_200F_200B_206E_206F_202A_206B_200F_206C_200D_206D_202C_200B_206F_200B_202C_200F_206F_200B_206F_206E_206C_206F_202E = new _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E(4);
internal uint _200E_202A_206D_206F_200F_200D_200C_202D_202A_206C_202C_200B_206C_206F_206E_200F_202D_206C_202B_202C_202C_200B_202B_202A_200E_206D_206A_202B_200C_206F_200B_206E_200F_200E_200E_200C_206A_206F_202D_202D_202E;
internal _206F_206A_202A_200E_200D_202C_200B_206A_202D_206E_202E_200C_202D_202E_200E_202D_200D_200D_206E_200B_206A_202D_206B_206F_200F_206F_202B_206D_206A_206D_202C_202B_200D_202D_200E_206A_202A_206C_202D_206C_202E()
{
_202C_202C_206B_206B_202E_206A_202A_206B_206A_200E_206B_200D_200B_202E_200B_206D_200B_202C_200C_202D_206C_200B_200F_202B_202B_206D_206D_206E_206C_202A_200D_200B_206E_202C_202B_206E_200E_200B_202C_206F_202E = uint.MaxValue;
int num = 0;
while ((long)num < 4L)
{
_206E_202C_200B_206D_202B_200B_202D_202A_202E_202C_200B_200C_206F_200C_206F_202E_206D_206A_202A_200F_200B_200C_206C_202B_206E_200C_202A_202B_202B_200C_200F_206D_202E_206E_202E_202C_206A_200F_206D_202B_202E[num] = new _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E(6);
int num2 = num;
int num3 = 1;
int num4 = num2;
int num5 = num4 ^ num3;
int num6 = num4 & num3;
num = num5 + (num6 + num6);
}
}
internal void _200B_206C_202E_200C_202D_206B_206B_206E_202B_206F_200C_206B_206C_200E_202D_200D_202C_202D_206D_202B_202B_202D_202D_200B_206C_206D_202A_200C_200B_200F_200B_206A_206C_202B_206A_202D_202B_202B_206C_206D_202E(uint dictionarySize)
{
if (_202C_202C_206B_206B_202E_206A_202A_206B_206A_200E_206B_200D_200B_202E_200B_206D_200B_202C_200C_202D_206C_200B_200F_202B_202B_206D_206D_206E_206C_202A_200D_200B_206E_202C_202B_206E_200E_200B_202C_206F_202E != dictionarySize)
{
_202C_202C_206B_206B_202E_206A_202A_206B_206A_200E_206B_200D_200B_202E_200B_206D_200B_202C_200C_202D_206C_200B_200F_202B_202B_206D_206D_206E_206C_202A_200D_200B_206E_202C_202B_206E_200E_200B_202C_206F_202E = dictionarySize;
_206A_200C_200F_206E_206C_200E_206B_200D_206C_200F_200B_206E_206B_202C_200B_202C_202A_202C_206E_200D_202B_202D_206C_200C_200D_206A_206B_206D_206B_206B_206E_206F_206C_202C_202D_200D_200F_200B_206C_206C_202E = Math.Max(_202C_202C_206B_206B_202E_206A_202A_206B_206A_200E_206B_200D_200B_202E_200B_206D_200B_202C_200C_202D_206C_200B_200F_202B_202B_206D_206D_206E_206C_202A_200D_200B_206E_202C_202B_206E_200E_200B_202C_206F_202E, 1u);
uint windowSize = Math.Max(_206A_200C_200F_206E_206C_200E_206B_200D_206C_200F_200B_206E_206B_202C_200B_202C_202A_202C_206E_200D_202B_202D_206C_200C_200D_206A_206B_206D_206B_206B_206E_206F_206C_202C_202D_200D_200F_200B_206C_206C_202E, 4096u);
_206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._202A_206B_206C_202C_206F_200D_200D_206A_200D_202C_200C_206A_206B_206A_206A_206C_206C_206A_206C_206B_206A_200E_200B_200D_200D_200E_202C_206F_200B_200C_206C_206E_200D_202D_202A_202E_206B_202B_200E_200F_202E(windowSize);
}
}
internal void _206F_200E_206D_202E_206F_200B_200C_206F_206E_202E_200D_202A_202D_206C_206F_206B_202B_202D_202C_206B_206D_202C_206F_202E_202D_200E_206C_206A_206C_202E_206B_202B_202E_206C_206E_200C_206D_200E_200B_206C_202E(int lp, int lc)
{
_206D_200D_200D_200C_206F_200D_202A_200B_200F_206F_206E_206D_202E_200C_206C_206D_206D_200C_202C_206B_206B_200D_202D_200B_206B_200C_206C_206D_200B_202D_206A_206C_206B_200F_206D_206D_206D_202E_200C_206A_202E._200E_202C_200C_200F_202A_206A_202A_202A_206F_200B_200C_202E_202E_202B_202C_206C_206A_206D_202C_206F_202B_200D_200E_200D_202C_206B_202C_202B_200B_202C_202B_202E_206C_202C_200D_206B_206F_202A_202C_202D_202E(lp, lc);
}
internal void _206F_206A_202C_206F_202B_200E_206A_200F_202C_206B_200C_200B_202E_202D_206D_206A_206F_200F_202E_202B_206E_202E_202B_202C_206B_200E_206D_206D_206A_206C_206B_200B_206A_206C_206E_200C_200E_206B_206B_206C_202E(int pb)
{
int num = 31;
int num2 = pb;
uint num3 = (uint)(1 << num2 + num - (num2 | num));
_206F_202B_202B_200F_202C_202A_200E_200B_202E_200E_200C_202D_206A_202B_202E_206E_202C_200F_206E_200E_206A_202C_200D_202B_200F_200D_200E_206F_206A_202A_206A_206B_206A_200C_202C_206D_206F_206D_206A_206C_202E._200B_200C_200C_206F_202A_202C_200F_200B_200B_206A_200C_202B_206F_202E_206E_206E_202B_202D_206D_202A_200F_202D_202D_202C_200D_206B_200C_200E_206C_206F_200B_206C_206D_202E_206B_206A_202B_200E_200B_206E_202E(num3);
_202A_202A_206B_200D_206E_206C_200F_206E_200D_206A_202D_206A_202D_200F_200C_200D_206A_202B_202B_202E_202E_200E_206C_202B_206A_206A_202A_202C_200E_206C_200C_200E_206D_200F_206B_202E_206F_200F_202E_202E_202E._200B_200C_200C_206F_202A_202C_200F_200B_200B_206A_200C_202B_206F_202E_206E_206E_202B_202D_206D_202A_200F_202D_202D_202C_200D_206B_200C_200E_206C_206F_200B_206C_206D_202E_206B_206A_202B_200E_200B_206E_202E(num3);
num = 1;
num2 = (int)num3;
_200E_202A_206D_206F_200F_200D_200C_202D_202A_206C_202C_200B_206C_206F_206E_200F_202D_206C_202B_202C_202C_200B_202B_202A_200E_206D_206A_202B_200C_206F_200B_206E_200F_200E_200E_200C_206A_206F_202D_202D_202E = (uint)(~(~num2 + num));
}
internal void _200C_202C_206C_200B_206C_206F_206C_200D_202E_202B_200B_202D_202D_200F_202A_200C_200D_200D_202C_202D_206F_200B_200D_200F_200F_206D_202B_202E_200C_202A_202B_200E_206A_202A_206D_202A_206C_206F_200B_206F_202E(Stream inStream, Stream outStream)
{
_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E._206B_202A_206A_206D_206C_202B_206F_202A_200F_202E_206C_200D_200C_200F_206E_206A_206C_200E_200D_202B_206D_202C_200E_202E_206D_202A_206A_206D_200C_206B_206F_206B_202A_206E_206A_202B_202C_206B_202D_200C_202E(inStream);
_206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._200D_200C_200F_206A_206C_200D_206C_200F_200D_200B_200F_202B_200F_202A_202D_200E_202C_200E_200C_206F_200F_206E_206D_206F_206E_200B_206F_206D_206B_200C_202C_200C_200D_200F_206E_202E_206C_202B_200D_202E_202E(outStream, _202E_206A_200E_202D_202D_206D_202E_206F_200C_200F_200C_202D_206B_202D_202D_206F_202B_200D_200B_206F_200F_206C_202C_206B_206C_200E_206B_200D_200F_206E_206B_202C_206E_206E_200C_200D_200F_202C_206F_200C_202E);
uint num = 0u;
while (num < 12)
{
int num4;
int num5;
for (uint num2 = 0u; num2 <= _200E_202A_206D_206F_200F_200D_200C_202D_202A_206C_202C_200B_206C_206F_206E_200F_202D_206C_202B_202C_202C_200B_202B_202A_200E_206D_206A_202B_200C_206F_200B_206E_200F_200E_200E_200C_206A_206F_202D_202D_202E; num2 = (uint)((num5 | num4) + (num5 & num4)))
{
uint num3 = num << 4;
num4 = (int)num2;
num5 = (int)num3;
int num6 = num5 ^ num4;
int num7 = num5 & num4;
uint num8 = (uint)(num6 + (num7 + num7));
_202C_206B_206E_206A_206A_206F_200D_202A_200F_206B_206A_206F_200B_200C_206E_206C_202A_206A_200E_206B_202E_202B_206C_206C_200C_206D_206F_206E_202C_200B_206F_206A_206A_206E_206F_206E_202B_202B_206B_202E_202E[num8]._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
_206D_202D_200D_206B_206B_206E_200E_202A_200C_200F_200E_206E_206D_202B_206C_206D_200D_200B_206D_200F_202D_206A_206F_206A_200F_206D_200C_200B_202A_206F_200F_200C_200F_200C_200D_200E_206D_200C_206F_206E_202E[num8]._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
uint num9 = num2;
num4 = 1;
num5 = (int)num9;
}
_200C_206D_202C_202E_200D_200B_200C_200B_200E_200B_200D_206B_200B_200D_202A_202D_202E_202A_202E_202E_206C_202E_200F_206C_202A_200C_202C_202C_200F_206B_200F_200B_202C_206D_200D_200E_206D_206E_206C_206D_202E[num]._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
_200D_202C_206B_202C_206B_206B_200E_206E_202E_206B_200B_206C_202B_200C_200B_200D_206C_206C_206E_200B_200B_202E_202E_206A_206A_202D_202B_206D_200E_202D_200C_206D_206A_200C_200D_202B_202D_202E_200F_200D_202E[num]._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
_202B_206A_202B_202A_200B_202D_202A_206B_200B_206A_206C_200F_202E_200F_206F_200E_200E_200E_206F_206B_202D_206D_202C_200E_206A_202E_206B_200E_202D_206B_202E_202A_200E_200E_206D_206B_206D_202B_202C_206E_202E[num]._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
_206E_206C_200F_200F_202A_200B_202B_206B_202D_206E_202D_206C_206B_200D_206B_200E_202A_206B_206D_206E_206A_206B_206B_200C_206A_206C_202B_206D_202D_200D_200F_206D_206F_206F_200E_202B_200D_206A_206A_206C_202E[num]._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
uint num10 = num;
num4 = 1;
num5 = (int)num10;
int num11 = num5 ^ num4;
int num12 = num5 & num4;
num = (uint)(num11 + (num12 + num12));
}
_206D_200D_200D_200C_206F_200D_202A_200B_200F_206F_206E_206D_202E_200C_206C_206D_206D_200C_202C_206B_206B_200D_202D_200B_206B_200C_206C_206D_200B_202D_206A_206C_206B_200F_206D_206D_206D_202E_200C_206A_202E._202C_206B_206B_206D_202D_206C_202C_206E_200B_206D_202A_202A_206B_206F_202D_202D_202C_206F_206E_206E_206E_200B_200E_206F_200C_206E_202A_206E_206A_206F_206E_206C_206D_200C_202A_206F_206F_206E_202A_200C_202E();
num = 0u;
while (num < 4)
{
_206E_202C_200B_206D_202B_200B_202D_202A_202E_202C_200B_200C_206F_200C_206F_202E_206D_206A_202A_200F_200B_200C_206C_202B_206E_200C_202A_202B_202B_200C_200F_206D_202E_206E_202E_202C_206A_200F_206D_202B_202E[num]._200C_206F_206E_206C_202A_202B_206A_200E_200E_206C_202B_202B_206B_200F_206D_200E_206D_206A_206A_206B_206E_206E_200B_206C_202D_202D_202E_200D_206D_200F_202B_200E_202A_202C_206C_206B_206F_206E_206C_202E();
uint num13 = num;
int num4 = 1;
int num5 = (int)num13;
num = (uint)((num5 | num4) + (num5 & num4));
}
num = 0u;
while (num < 114)
{
_200D_202B_200B_202B_202E_200E_200F_200F_206A_200D_206F_200D_200D_206C_206F_202D_206A_206D_200C_206D_200C_200C_202E_200F_206D_202C_206D_206D_206E_200B_200F_202A_202A_206E_200D_206B_206B_202B_206B_206E_202E[num]._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
uint num14 = num;
int num4 = 1;
int num5 = (int)num14;
num = (uint)((num5 | num4) + (num5 & num4));
}
_206F_202B_202B_200F_202C_202A_200E_200B_202E_200E_200C_202D_206A_202B_202E_206E_202C_200F_206E_200E_206A_202C_200D_202B_200F_200D_200E_206F_206A_202A_206A_206B_206A_200C_202C_206D_206F_206D_206A_206C_202E._202C_202A_200B_202C_206D_200B_206A_206B_200D_202A_206A_200F_202E_206B_202D_202B_200D_206F_206B_206F_202D_206C_200E_200C_206F_206D_206B_206D_206E_200D_206F_202C_200B_202E_200B_206E_200C_206E_202E();
_202A_202A_206B_200D_206E_206C_200F_206E_200D_206A_202D_206A_202D_200F_200C_200D_206A_202B_202B_202E_202E_200E_206C_202B_206A_206A_202A_202C_200E_206C_200C_200E_206D_200F_206B_202E_206F_200F_202E_202E_202E._202C_202A_200B_202C_206D_200B_206A_206B_200D_202A_206A_200F_202E_206B_202D_202B_200D_206F_206B_206F_202D_206C_200E_200C_206F_206D_206B_206D_206E_200D_206F_202C_200B_202E_200B_206E_200C_206E_202E();
_202A_206C_200D_206B_200F_202D_206E_202D_206F_200F_200B_206B_206C_202E_202D_206B_200B_206C_200F_200B_206E_206F_202A_206B_200F_206C_200D_206D_202C_200B_206F_200B_202C_200F_206F_200B_206F_206E_206C_206F_202E._200C_206F_206E_206C_202A_202B_206A_200E_200E_206C_202B_202B_206B_200F_206D_200E_206D_206A_206A_206B_206E_206E_200B_206C_202D_202D_202E_200D_206D_200F_202B_200E_202A_202C_206C_206B_206F_206E_206C_202E();
}
internal void _206B_200E_200D_206E_202B_200D_206A_206F_206C_206A_200C_202D_202A_202D_206B_206C_200B_206A_202A_200F_206A_200B_202A_206F_200F_202B_202A_202C_206E_202D_202B_202A_206A_202B_206D_206D_200E_200F_206C_202C_202E(Stream inStream, Stream outStream, long inSize, long outSize)
{
_200C_202C_206C_200B_206C_206F_206C_200D_202E_202B_200B_202D_202D_200F_202A_200C_200D_200D_202C_202D_206F_200B_200D_200F_200F_206D_202B_202E_200C_202A_202B_200E_206A_202A_206D_202A_206C_206F_200B_206F_202E(inStream, outStream);
_206F_200D_202B_200E_206A_200C_202B_202E_206B_206C_200D_202E_200B_202C_206C_202E_206C_206D_202E_206C_200B_202A_202D_200C_202D_200D_200C_202C_202D_200B_206E_206D_202C_202B_200C_206C_202B_206F_200D_206F_202E obj = default(_206F_200D_202B_200E_206A_200C_202B_202E_206B_206C_200D_202E_200B_202C_206C_202E_206C_206D_202E_206C_200B_202A_202D_200C_202D_200D_200C_202C_202D_200B_206E_206D_202C_202B_200C_206C_202B_206F_200D_206F_202E);
obj._202E_200F_200C_206A_206A_202E_206E_200E_206E_200D_202D_202B_206E_206C_202D_200F_200D_200F_202A_206C_206B_200D_206B_206F_200D_202A_200F_202A_200B_200F_206A_202D_200F_202A_202A_206D_206A_206E_206C_202A_202E();
uint num = 0u;
uint num2 = 0u;
uint num3 = 0u;
uint num4 = 0u;
ulong num5 = 0uL;
if (num5 < (ulong)outSize)
{
_202C_206B_206E_206A_206A_206F_200D_202A_200F_206B_206A_206F_200B_200C_206E_206C_202A_206A_200E_206B_202E_202B_206C_206C_200C_206D_206F_206E_202C_200B_206F_206A_206A_206E_206F_206E_202B_202B_206B_202E_202E[obj._202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E << 4]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E);
obj._206C_200F_200C_200E_202A_206B_202B_202D_206D_200B_202A_200B_202C_206D_202D_202D_200D_202E_206B_200F_200D_200E_202A_202E_200B_200E_202D_200B_200E_206D_200E_206B_206E_206C_202B_200F_206D_206F_202C_206A_202E();
byte b = _206D_200D_200D_200C_206F_200D_202A_200B_200F_206F_206E_206D_202E_200C_206C_206D_206D_200C_202C_206B_206B_200D_202D_200B_206B_200C_206C_206D_200B_202D_206A_206C_206B_200F_206D_206D_206D_202E_200C_206A_202E._200B_202A_202B_200D_202C_202C_206A_206B_200B_202D_202C_200F_200F_202E_206D_202D_206C_206E_202C_200D_202B_206E_200B_206C_206F_200C_206D_200C_200D_202A_202D_200F_202C_206D_200E_200E_202E_202B_202A_202B_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E, 0u, 0);
_206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._202A_202E_206A_206E_206A_202E_206D_206D_206F_206B_202D_202C_202B_200D_206F_200E_202C_206C_202A_202D_200B_202A_206E_200E_200E_202B_200E_202A_206F_206C_202B_206C_206E_200F_206B_202E_202E_200C_200F_202A_202E(b);
ulong num6 = num5;
long num7 = 1L;
long num8 = (long)num6;
long num9 = num8 ^ num7;
long num10 = num8 & num7;
num5 = (ulong)(num9 + (num10 + num10));
}
while (num5 < (ulong)outSize)
{
int num11 = (int)num5;
int num12 = (int)_200E_202A_206D_206F_200F_200D_200C_202D_202A_206C_202C_200B_206C_206F_206E_200F_202D_206C_202B_202C_202C_200B_202B_202A_200E_206D_206A_202B_200C_206F_200B_206E_200F_200E_200E_200C_206A_206F_202D_202D_202E;
int num13 = num11;
uint num14 = (uint)(num13 + num12 - (num13 | num12));
_206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] array = _202C_206B_206E_206A_206A_206F_200D_202A_200F_206B_206A_206F_200B_200C_206E_206C_202A_206A_200E_206B_202E_202B_206C_206C_200C_206D_206F_206E_202C_200B_206F_206A_206A_206E_206F_206E_202B_202B_206B_202E_202E;
uint num15 = obj._202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E << 4;
num12 = (int)num14;
num13 = (int)num15;
int num16 = num13 ^ num12;
int num17 = num13 & num12;
long num7;
long num8;
if (array[num16 + (num17 + num17)]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E) == 0)
{
byte prevByte = _206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._202E_206A_200B_202C_200F_202C_202E_200B_206E_200D_202E_206E_206D_202B_202E_206F_206C_206B_206C_202D_200E_202C_202A_206B_206C_200C_206F_206B_202E_206C_200B_200D_202E_200C_206E_200C_206F_202A_202D_200C_202E(0u);
byte b2 = (obj._200E_200C_206C_200E_200B_206B_202B_200F_206F_202E_206B_202A_202B_202A_200C_200D_202E_200F_202E_202E_206F_200C_202B_202B_200C_202D_206A_202A_202C_200F_206D_202C_206F_200F_200B_200C_206A_206A_206B_200E_202E() ? _206D_200D_200D_200C_206F_200D_202A_200B_200F_206F_206E_206D_202E_200C_206C_206D_206D_200C_202C_206B_206B_200D_202D_200B_206B_200C_206C_206D_200B_202D_206A_206C_206B_200F_206D_206D_206D_202E_200C_206A_202E._200B_202A_202B_200D_202C_202C_206A_206B_200B_202D_202C_200F_200F_202E_206D_202D_206C_206E_202C_200D_202B_206E_200B_206C_206F_200C_206D_200C_200D_202A_202D_200F_202C_206D_200E_200E_202E_202B_202A_202B_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E, (uint)num5, prevByte) : _206D_200D_200D_200C_206F_200D_202A_200B_200F_206F_206E_206D_202E_200C_206C_206D_206D_200C_202C_206B_206B_200D_202D_200B_206B_200C_206C_206D_200B_202D_206A_206C_206B_200F_206D_206D_206D_202E_200C_206A_202E._200B_206F_206E_206D_206B_202A_200B_206A_200B_200C_202B_206E_206B_202D_206B_206F_202A_200C_202A_200C_206C_202D_202D_202E_200C_206B_202D_202A_200D_200F_206F_200E_206B_206A_206D_202D_202E_200C_200F_206D_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E, (uint)num5, prevByte, _206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._202E_206A_200B_202C_200F_202C_202E_200B_206E_200D_202E_206E_206D_202B_202E_206F_206C_206B_206C_202D_200E_202C_202A_206B_206C_200C_206F_206B_202E_206C_200B_200D_202E_200C_206E_200C_206F_202A_202D_200C_202E(num)));
_206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._202A_202E_206A_206E_206A_202E_206D_206D_206F_206B_202D_202C_202B_200D_206F_200E_202C_206C_202A_202D_200B_202A_206E_200E_200E_202B_200E_202A_206F_206C_202B_206C_206E_200F_206B_202E_202E_200C_200F_202A_202E(b2);
obj._206C_200F_200C_200E_202A_206B_202B_202D_206D_200B_202A_200B_202C_206D_202D_202D_200D_202E_206B_200F_200D_200E_202A_202E_200B_200E_202D_200B_200E_206D_200E_206B_206E_206C_202B_200F_206D_206F_202C_206A_202E();
ulong num18 = num5;
num7 = 1L;
num8 = (long)num18;
long num19 = num8 ^ num7;
long num20 = num8 & num7;
num5 = (ulong)(num19 + (num20 + num20));
continue;
}
uint num24;
if (_200C_206D_202C_202E_200D_200B_200C_200B_200E_200B_200D_206B_200B_200D_202A_202D_202E_202A_202E_202E_206C_202E_200F_206C_202A_200C_202C_202C_200F_206B_200F_200B_202C_206D_200D_200E_206D_206E_206C_206D_202E[obj._202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E) == 1)
{
if (_200D_202C_206B_202C_206B_206B_200E_206E_202E_206B_200B_206C_202B_200C_200B_200D_206C_206C_206E_200B_200B_202E_202E_206A_206A_202D_202B_206D_200E_202D_200C_206D_206A_200C_200D_202B_202D_202E_200F_200D_202E[obj._202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E) == 0)
{
_206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] array2 = _206D_202D_200D_206B_206B_206E_200E_202A_200C_200F_200E_206E_206D_202B_206C_206D_200D_200B_206D_200F_202D_206A_206F_206A_200F_206D_200C_200B_202A_206F_200F_200C_200F_200C_200D_200E_206D_200C_206F_206E_202E;
uint num21 = obj._202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E << 4;
num12 = (int)num14;
num13 = (int)num21;
if (array2[(num13 | num12) + (num13 & num12)]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E) == 0)
{
obj._200F_202D_202B_202C_202B_206D_206C_202E_200E_206D_202A_202E_206A_200C_200E_206E_206C_206B_202C_206F_206C_200D_206A_202D_206B_200C_200E_200D_206D_202D_206F_206E_206E_202C_202B_202A_206B_202C_202C_206A_202E();
_206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._202A_202E_206A_206E_206A_202E_206D_206D_206F_206B_202D_202C_202B_200D_206F_200E_202C_206C_202A_202D_200B_202A_206E_200E_200E_202B_200E_202A_206F_206C_202B_206C_206E_200F_206B_202E_202E_200C_200F_202A_202E(_206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._202E_206A_200B_202C_200F_202C_202E_200B_206E_200D_202E_206E_206D_202B_202E_206F_206C_206B_206C_202D_200E_202C_202A_206B_206C_200C_206F_206B_202E_206C_200B_200D_202E_200C_206E_200C_206F_202A_202D_200C_202E(num));
ulong num22 = num5;
num7 = 1L;
num8 = (long)num22;
num5 = (ulong)((num8 | num7) + (num8 & num7));
continue;
}
}
else
{
uint num23;
if (_202B_206A_202B_202A_200B_202D_202A_206B_200B_206A_206C_200F_202E_200F_206F_200E_200E_200E_206F_206B_202D_206D_202C_200E_206A_202E_206B_200E_202D_206B_202E_202A_200E_200E_206D_206B_206D_202B_202C_206E_202E[obj._202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E) == 0)
{
num23 = num2;
}
else
{
if (_206E_206C_200F_200F_202A_200B_202B_206B_202D_206E_202D_206C_206B_200D_206B_200E_202A_206B_206D_206E_206A_206B_206B_200C_206A_206C_202B_206D_202D_200D_200F_206D_206F_206F_200E_202B_200D_206A_206A_206C_202E[obj._202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E) == 0)
{
num23 = num3;
}
else
{
num23 = num4;
num4 = num3;
}
num3 = num2;
}
num2 = num;
num = num23;
}
num24 = _202A_202A_206B_200D_206E_206C_200F_206E_200D_206A_202D_206A_202D_200F_200C_200D_206A_202B_202B_202E_202E_200E_206C_202B_206A_206A_202A_202C_200E_206C_200C_200E_206D_200F_206B_202E_206F_200F_202E_202E_202E._206D_202C_202B_202C_200F_200D_206D_202D_202E_206D_200D_200B_202C_200C_202A_200E_206C_202A_206B_200E_202B_202C_202D_202B_206A_206A_206D_200F_206C_206A_206D_200D_202A_200E_206C_200B_200B_202E_206D_206A_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E, num14) + 2;
obj._202B_202A_206A_202A_202E_206A_200B_200C_200D_200B_206D_200B_200E_206B_202E_200F_200F_202E_206C_202C_200C_202A_200E_202D_200C_202A_202E_206B_202A_202A_202A_200F_200F_200E_206C_200E_202A_202D_200D_200F_202E();
}
else
{
num4 = num3;
num3 = num2;
num2 = num;
num24 = 2 + _206F_202B_202B_200F_202C_202A_200E_200B_202E_200E_200C_202D_206A_202B_202E_206E_202C_200F_206E_200E_206A_202C_200D_202B_200F_200D_200E_206F_206A_202A_206A_206B_206A_200C_202C_206D_206F_206D_206A_206C_202E._206D_202C_202B_202C_200F_200D_206D_202D_202E_206D_200D_200B_202C_200C_202A_200E_206C_202A_206B_200E_202B_202C_202D_202B_206A_206A_206D_200F_206C_206A_206D_200D_202A_200E_206C_200B_200B_202E_206D_206A_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E, num14);
obj._206B_202D_200E_206D_206B_202E_200E_206B_206E_206E_200B_202A_206C_202A_206E_200F_200B_206B_206F_206A_206E_200D_206A_200F_202B_202A_206E_206D_200E_206E_200C_202C_206D_206D_200F_206E_202B_200B_202D_206F_202E();
uint num25 = _206E_202C_200B_206D_202B_200B_202D_202A_202E_202C_200B_200C_206F_200C_206F_202E_206D_206A_202A_200F_200B_200C_206C_202B_206E_200C_202A_202B_202B_200C_200F_206D_202E_206E_202E_202C_206A_200F_206D_202B_202E[_202E_200F_202C_202A_206E_206F_202E_202B_202E_200C_200D_202D_202B_202D_202A_200F_200F_202D_206A_206A_202D_202A_206D_206E_200F_206E_202B_202C_206B_206C_200E_202C_202C_206F_206F_200C_206E_202D_206D_202E_202E(num24)]._200C_200F_206F_206A_200B_200B_200F_200B_202B_200E_202B_206F_202E_206A_206E_206B_200D_206C_202A_206A_200C_202D_202D_200B_200E_200B_202E_206B_206F_200C_200E_200B_202B_202B_206B_202A_200F_206F_202E_206A_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E);
if (num25 >= 4)
{
uint num26 = num25 >> 1;
num12 = 1;
num13 = (int)num26;
int num27 = ~(~num13 + num12);
num12 = 1;
num13 = (int)num25;
num12 = num13 + num12 - (num13 | num12);
num13 = 2;
int num28 = (num13 & num12) + (num13 ^ num12);
num12 = 31;
num13 = num27;
num = (uint)(num28 << num13 + num12 - (num13 | num12));
if (num25 < 14)
{
uint num29 = num;
_206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] models = _200D_202B_200B_202B_202E_200E_200F_200F_206A_200D_206F_200D_200D_206C_206F_202D_206A_206D_200C_206D_200C_200C_202E_200F_206D_202C_206D_206D_206E_200B_200F_202A_202A_206E_200D_206B_206B_202B_206B_206E_202E;
uint num30 = num;
num12 = (int)num25;
num13 = (int)num30;
int num31 = ~(~num13 + num12);
num12 = 1;
num13 = num31;
num = num29 + _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E._206D_200D_202A_206D_200F_206D_200F_202E_202D_200F_206B_202E_200D_202A_202B_206B_202E_206C_206D_206C_206D_202B_202B_206E_202B_206E_202A_200D_202D_200D_206C_200C_206F_206E_202B_202C_206D_200D_200B_206F_202E(models, (uint)(~(~num13 + num12)), _200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E, num27);
}
else
{
uint num32 = num;
_206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E obj2 = _200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E;
num12 = 4;
num13 = num27;
num = num32 + (obj2._206D_202A_202A_200C_206E_206C_206E_200C_202A_200F_202C_200B_206A_206D_202B_202A_202E_206E_206A_200D_206A_200D_206E_202A_202C_202D_202A_202D_200E_202E_200E_200B_202C_206B_202B_206C_202D_206C_202A_202D_202E(~(~num13 + num12)) << 4);
num += _202A_206C_200D_206B_200F_202D_206E_202D_206F_200F_200B_206B_206C_202E_202D_206B_200B_206C_200F_200B_206E_206F_202A_206B_200F_206C_200D_206D_202C_200B_206F_200B_202C_200F_206F_200B_206F_206E_206C_206F_202E._202B_202A_206F_200C_206C_202E_202D_202A_202C_200E_202A_206E_200C_202B_206C_200E_202D_206D_200D_200D_206F_202A_206A_202E_200B_206B_200E_206D_202C_202A_206B_200B_200E_202B_200D_206E_200C_206A_206C_200F_202E(_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E);
}
}
else
{
num = num25;
}
}
if ((num >= num5 || num >= _206A_200C_200F_206E_206C_200E_206B_200D_206C_200F_200B_206E_206B_202C_200B_202C_202A_202C_206E_200D_202B_202D_206C_200C_200D_206A_206B_206D_206B_206B_206E_206F_206C_202C_202D_200D_200F_200B_206C_206C_202E) && num == uint.MaxValue)
{
break;
}
_206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._202A_200C_200F_206C_206A_200E_202C_206F_206F_206C_206D_202D_206D_202C_200C_202A_202B_206B_200C_200B_200F_206D_202E_200B_202D_202B_206D_202B_206A_202A_202E_202C_202E_200C_206A_206D_206B_200C_202C_206D_202E(num, num24);
ulong num33 = num5;
num7 = num24;
num8 = (long)num33;
num5 = (ulong)((num8 | num7) + (num8 & num7));
}
_206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._200F_200B_206D_206C_200F_206A_206A_206F_206B_202C_206D_200E_206B_200D_200F_206C_202A_206C_202A_206C_202E_206F_200B_200C_200C_202C_206F_200F_206B_200D_206E_206E_206F_202A_202A_200B_200C_206F_202D_202C_202E();
_206C_202A_200E_206E_206E_200B_206C_200E_206C_200E_206F_202D_206C_202C_206D_202E_200B_200D_206A_206E_206B_202C_200F_200C_202C_202D_206A_206C_200D_200D_206A_202E_206F_202A_200B_206B_202B_206A_202E_206B_202E._206D_200C_206C_206A_206B_202E_200F_206E_202C_206D_206E_200E_200C_206A_200C_202A_206B_202B_202E_206E_202D_200E_206B_206B_206D_206D_200B_200D_206D_206F_200D_206F_202A_206A_200B_202D_206B_200B_206B_200E_202E();
_200C_206E_202B_202D_202B_206A_200F_200F_200D_206A_200C_202B_200B_206C_202A_202C_200B_202D_202A_202E_206E_206F_206F_200C_202A_200F_206E_202D_202C_200F_202E_202C_200B_200C_202C_200F_200D_206F_200D_206C_202E._200C_202B_206A_206A_206E_206C_206C_206D_206A_200C_200F_200D_206C_200D_206C_206A_200B_202E_202B_202A_200E_200C_206A_200F_200B_202E_202D_206F_202C_206C_206B_206D_206B_200D_206F_202E_206E_200B_206E_202D_202E();
}
internal void _206F_206A_200D_200B_200D_202B_200B_202A_206A_206B_200F_202C_206D_200E_202E_202B_202D_202B_202E_206F_202E_200F_202B_206A_202C_200C_206A_200C_206E_202E_202B_206C_200B_202C_200F_202C_202E_206F_200D_202B_202E(byte[] properties)
{
int lc = properties[0] % 9;
int num = properties[0] / 9;
int lp = num % 5;
int pb = num / 5;
uint num2 = 0u;
int num3 = 0;
while (num3 < 4)
{
uint num4 = num2;
int num5 = num3;
int num6 = 1;
byte num7 = properties[(num6 | num5) + (num6 & num5)];
int num8 = num3 * 8;
num5 = 31;
num6 = num8;
num5 = num7 << num6 + num5 - (num6 | num5);
num6 = (int)num4;
num2 = (uint)((num6 | num5) + (num6 & num5));
int num9 = num3;
num5 = 1;
num6 = num9;
int num10 = num6 ^ num5;
int num11 = num6 & num5;
num3 = num10 + (num11 + num11);
}
_200B_206C_202E_200C_202D_206B_206B_206E_202B_206F_200C_206B_206C_200E_202D_200D_202C_202D_206D_202B_202B_202D_202D_200B_206C_206D_202A_200C_200B_200F_200B_206A_206C_202B_206A_202D_202B_202B_206C_206D_202E(num2);
_206F_200E_206D_202E_206F_200B_200C_206F_206E_202E_200D_202A_202D_206C_206F_206B_202B_202D_202C_206B_206D_202C_206F_202E_202D_200E_206C_206A_206C_202E_206B_202B_202E_206C_206E_200C_206D_200E_200B_206C_202E(lp, lc);
_206F_206A_202C_206F_202B_200E_206A_200F_202C_206B_200C_200B_202E_202D_206D_206A_206F_200F_202E_202B_206E_202E_202B_202C_206B_200E_206D_206D_206A_206C_206B_200B_206A_206C_206E_200C_200E_206B_206B_206C_202E(pb);
}
internal static uint _202E_200F_202C_202A_206E_206F_202E_202B_202E_200C_200D_202D_202B_202D_202A_200F_200F_202D_206A_206A_202D_202A_206D_206E_200F_206E_202B_202C_206B_206C_200E_202C_202C_206F_206F_200C_206E_202D_206D_202E_202E(uint len)
{
uint num = len;
int num2 = 2;
int num3 = (int)num;
len = (uint)(~(~num3 + num2));
if (len < 4)
{
return len;
}
return 3u;
}
}
internal class _206C_200B_206C_200B_200E_206B_200B_200E_202B_202B_200F_200C_202A_206E_202E_202E_200C_200C_206F_206F_206D_202D_200D_202E_200F_202E_206D_206A_202C_200E_200E_202E_202D_206F_206C_202E_206D_206F_202C_206A_202E
{
internal byte[] _206F_202D_200F_202E_202A_206A_206D_206C_206E_206C_202A_200C_202A_206F_206C_202C_202C_200D_202E_202D_200E_200B_206C_200E_200C_206F_206C_200C_206E_206D_206C_206A_202A_200F_202B_206F_202B_206F_206C_202D_202E;
internal uint _206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E;
internal Stream _202A_200C_206E_206B_206B_202E_202D_200E_200C_202D_206E_202A_200E_206A_202A_206B_200E_200D_206E_206F_206A_200D_202A_206D_200F_202C_206C_206D_202B_206B_206C_206D_202E_206A_200B_206E_206E_206F_206B_202E;
internal uint _200C_202E_206B_206F_206C_206D_206D_202C_200C_200E_206E_200E_202B_206E_202E_200D_206B_200B_200B_202E_200B_202E_206B_202C_206B_206B_206D_202A_206E_200F_202D_206C_200B_206E_206A_206A_206C_202C_206E_206F_202E;
internal uint _200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E;
internal void _202A_206B_206C_202C_206F_200D_200D_206A_200D_202C_200C_206A_206B_206A_206A_206C_206C_206A_206C_206B_206A_200E_200B_200D_200D_200E_202C_206F_200B_200C_206C_206E_200D_202D_202A_202E_206B_202B_200E_200F_202E(uint windowSize)
{
if (_200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E != windowSize)
{
_206F_202D_200F_202E_202A_206A_206D_206C_206E_206C_202A_200C_202A_206F_206C_202C_202C_200D_202E_202D_200E_200B_206C_200E_200C_206F_206C_200C_206E_206D_206C_206A_202A_200F_202B_206F_202B_206F_206C_202D_202E = new byte[windowSize];
}
_200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E = windowSize;
_206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E = 0u;
_200C_202E_206B_206F_206C_206D_206D_202C_200C_200E_206E_200E_202B_206E_202E_200D_206B_200B_200B_202E_200B_202E_206B_202C_206B_206B_206D_202A_206E_200F_202D_206C_200B_206E_206A_206A_206C_202C_206E_206F_202E = 0u;
}
internal void _200D_200C_200F_206A_206C_200D_206C_200F_200D_200B_200F_202B_200F_202A_202D_200E_202C_200E_200C_206F_200F_206E_206D_206F_206E_200B_206F_206D_206B_200C_202C_200C_200D_200F_206E_202E_206C_202B_200D_202E_202E(Stream stream, bool solid)
{
_206D_200C_206C_206A_206B_202E_200F_206E_202C_206D_206E_200E_200C_206A_200C_202A_206B_202B_202E_206E_202D_200E_206B_206B_206D_206D_200B_200D_206D_206F_200D_206F_202A_206A_200B_202D_206B_200B_206B_200E_202E();
_202A_200C_206E_206B_206B_202E_202D_200E_200C_202D_206E_202A_200E_206A_202A_206B_200E_200D_206E_206F_206A_200D_202A_206D_200F_202C_206C_206D_202B_206B_206C_206D_202E_206A_200B_206E_206E_206F_206B_202E = stream;
if (!solid)
{
_200C_202E_206B_206F_206C_206D_206D_202C_200C_200E_206E_200E_202B_206E_202E_200D_206B_200B_200B_202E_200B_202E_206B_202C_206B_206B_206D_202A_206E_200F_202D_206C_200B_206E_206A_206A_206C_202C_206E_206F_202E = 0u;
_206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E = 0u;
}
}
internal void _206D_200C_206C_206A_206B_202E_200F_206E_202C_206D_206E_200E_200C_206A_200C_202A_206B_202B_202E_206E_202D_200E_206B_206B_206D_206D_200B_200D_206D_206F_200D_206F_202A_206A_200B_202D_206B_200B_206B_200E_202E()
{
_200F_200B_206D_206C_200F_206A_206A_206F_206B_202C_206D_200E_206B_200D_200F_206C_202A_206C_202A_206C_202E_206F_200B_200C_200C_202C_206F_200F_206B_200D_206E_206E_206F_202A_202A_200B_200C_206F_202D_202C_202E();
_202A_200C_206E_206B_206B_202E_202D_200E_200C_202D_206E_202A_200E_206A_202A_206B_200E_200D_206E_206F_206A_200D_202A_206D_200F_202C_206C_206D_202B_206B_206C_206D_202E_206A_200B_206E_206E_206F_206B_202E = null;
Buffer.BlockCopy(new byte[_206F_202D_200F_202E_202A_206A_206D_206C_206E_206C_202A_200C_202A_206F_206C_202C_202C_200D_202E_202D_200E_200B_206C_200E_200C_206F_206C_200C_206E_206D_206C_206A_202A_200F_202B_206F_202B_206F_206C_202D_202E.Length], 0, _206F_202D_200F_202E_202A_206A_206D_206C_206E_206C_202A_200C_202A_206F_206C_202C_202C_200D_202E_202D_200E_200B_206C_200E_200C_206F_206C_200C_206E_206D_206C_206A_202A_200F_202B_206F_202B_206F_206C_202D_202E, 0, _206F_202D_200F_202E_202A_206A_206D_206C_206E_206C_202A_200C_202A_206F_206C_202C_202C_200D_202E_202D_200E_200B_206C_200E_200C_206F_206C_200C_206E_206D_206C_206A_202A_200F_202B_206F_202B_206F_206C_202D_202E.Length);
}
internal void _200F_200B_206D_206C_200F_206A_206A_206F_206B_202C_206D_200E_206B_200D_200F_206C_202A_206C_202A_206C_202E_206F_200B_200C_200C_202C_206F_200F_206B_200D_206E_206E_206F_202A_202A_200B_200C_206F_202D_202C_202E()
{
uint num = _206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E;
int num2 = (int)_200C_202E_206B_206F_206C_206D_206D_202C_200C_200E_206E_200E_202B_206E_202E_200D_206B_200B_200B_202E_200B_202E_206B_202C_206B_206B_206D_202A_206E_200F_202D_206C_200B_206E_206A_206A_206C_202C_206E_206F_202E;
int num3 = (int)num;
uint num4 = (uint)(~(~num3 + num2));
if (num4 != 0)
{
_202A_200C_206E_206B_206B_202E_202D_200E_200C_202D_206E_202A_200E_206A_202A_206B_200E_200D_206E_206F_206A_200D_202A_206D_200F_202C_206C_206D_202B_206B_206C_206D_202E_206A_200B_206E_206E_206F_206B_202E.Write(_206F_202D_200F_202E_202A_206A_206D_206C_206E_206C_202A_200C_202A_206F_206C_202C_202C_200D_202E_202D_200E_200B_206C_200E_200C_206F_206C_200C_206E_206D_206C_206A_202A_200F_202B_206F_202B_206F_206C_202D_202E, (int)_200C_202E_206B_206F_206C_206D_206D_202C_200C_200E_206E_200E_202B_206E_202E_200D_206B_200B_200B_202E_200B_202E_206B_202C_206B_206B_206D_202A_206E_200F_202D_206C_200B_206E_206A_206A_206C_202C_206E_206F_202E, (int)num4);
if (_206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E >= _200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E)
{
_206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E = 0u;
}
_200C_202E_206B_206F_206C_206D_206D_202C_200C_200E_206E_200E_202B_206E_202E_200D_206B_200B_200B_202E_200B_202E_206B_202C_206B_206B_206D_202A_206E_200F_202D_206C_200B_206E_206A_206A_206C_202C_206E_206F_202E = _206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E;
}
}
internal void _202A_200C_200F_206C_206A_200E_202C_206F_206F_206C_206D_202D_206D_202C_200C_202A_202B_206B_200C_200B_200F_206D_202E_200B_202D_202B_206D_202B_206A_202A_202E_202C_202E_200C_206A_206D_206B_200C_202C_206D_202E(uint distance, uint len)
{
uint num = _206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E;
int num2 = (int)distance;
int num3 = (int)num;
int num4 = ~(~num3 + num2);
num2 = 1;
num3 = num4;
uint num5 = (uint)(~(~num3 + num2));
if (num5 >= _200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E)
{
uint num6 = num5;
num2 = (int)_200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E;
num3 = (int)num6;
num5 = (uint)((num3 | num2) + (num3 & num2));
}
while (len != 0)
{
if (num5 >= _200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E)
{
num5 = 0u;
}
byte[] array = _206F_202D_200F_202E_202A_206A_206D_206C_206E_206C_202A_200C_202A_206F_206C_202C_202C_200D_202E_202D_200E_200B_206C_200E_200C_206F_206C_200C_206E_206D_206C_206A_202A_200F_202B_206F_202B_206F_206C_202D_202E;
uint num7 = _206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E;
num2 = 1;
num3 = (int)num7;
int num8 = num3 ^ num2;
int num9 = num3 & num2;
_206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E = (uint)(num8 + (num9 + num9));
byte[] array2 = _206F_202D_200F_202E_202A_206A_206D_206C_206E_206C_202A_200C_202A_206F_206C_202C_202C_200D_202E_202D_200E_200B_206C_200E_200C_206F_206C_200C_206E_206D_206C_206A_202A_200F_202B_206F_202B_206F_206C_202D_202E;
uint num10 = num5;
num2 = 1;
num3 = (int)num10;
int num11 = num3 ^ num2;
int num12 = num3 & num2;
num5 = (uint)(num11 + (num12 + num12));
array[num7] = array2[num10];
if (_206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E >= _200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E)
{
_200F_200B_206D_206C_200F_206A_206A_206F_206B_202C_206D_200E_206B_200D_200F_206C_202A_206C_202A_206C_202E_206F_200B_200C_200C_202C_206F_200F_206B_200D_206E_206E_206F_202A_202A_200B_200C_206F_202D_202C_202E();
}
uint num13 = len;
num2 = 1;
num3 = (int)num13;
len = (uint)(~(~num3 + num2));
}
}
internal void _202A_202E_206A_206E_206A_202E_206D_206D_206F_206B_202D_202C_202B_200D_206F_200E_202C_206C_202A_202D_200B_202A_206E_200E_200E_202B_200E_202A_206F_206C_202B_206C_206E_200F_206B_202E_202E_200C_200F_202A_202E(byte b)
{
byte[] array = _206F_202D_200F_202E_202A_206A_206D_206C_206E_206C_202A_200C_202A_206F_206C_202C_202C_200D_202E_202D_200E_200B_206C_200E_200C_206F_206C_200C_206E_206D_206C_206A_202A_200F_202B_206F_202B_206F_206C_202D_202E;
uint num = _206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E;
int num2 = 1;
int num3 = (int)num;
int num4 = num3 ^ num2;
int num5 = num3 & num2;
_206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E = (uint)(num4 + (num5 + num5));
array[num] = b;
if (_206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E >= _200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E)
{
_200F_200B_206D_206C_200F_206A_206A_206F_206B_202C_206D_200E_206B_200D_200F_206C_202A_206C_202A_206C_202E_206F_200B_200C_200C_202C_206F_200F_206B_200D_206E_206E_206F_202A_202A_200B_200C_206F_202D_202C_202E();
}
}
internal byte _202E_206A_200B_202C_200F_202C_202E_200B_206E_200D_202E_206E_206D_202B_202E_206F_206C_206B_206C_202D_200E_202C_202A_206B_206C_200C_206F_206B_202E_206C_200B_200D_202E_200C_206E_200C_206F_202A_202D_200C_202E(uint distance)
{
uint num = _206A_206F_200E_206B_206E_206A_206D_200C_200C_202A_202B_200D_202D_200F_206B_200B_206D_200E_202D_200B_202C_206C_206A_206C_206D_202C_202A_200C_202C_206E_202C_206E_206E_200C_200E_202D_202B_206E_200C_206C_202E;
int num2 = (int)distance;
int num3 = (int)num;
int num4 = ~(~num3 + num2);
num2 = 1;
num3 = num4;
uint num5 = (uint)(~(~num3 + num2));
if (num5 >= _200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E)
{
uint num6 = num5;
num2 = (int)_200D_202A_200B_200F_202B_200D_202C_206C_200C_206A_202B_200B_206F_206E_206E_202B_200D_202D_202D_200B_206B_200F_206B_202C_200B_206E_206E_200B_206E_202E_206F_202B_206D_202D_200B_200F_202B_202B_206A_200E_202E;
num3 = (int)num6;
num5 = (uint)((num3 | num2) + (num3 & num2));
}
return _206F_202D_200F_202E_202A_206A_206D_206C_206E_206C_202A_200C_202A_206F_206C_202C_202C_200D_202E_202D_200E_200B_206C_200E_200C_206F_206C_200C_206E_206D_206C_206A_202A_200F_202B_206F_202B_206F_206C_202D_202E[num5];
}
internal _206C_200B_206C_200B_200E_206B_200B_200E_202B_202B_200F_200C_202A_206E_202E_202E_200C_200C_206F_206F_206D_202D_200D_202E_200F_202E_206D_206A_202C_200E_200E_202E_202D_206F_206C_202E_206D_206F_202C_206A_202E()
{
}
}
internal struct _206F_200D_202B_200E_206A_200C_202B_202E_206B_206C_200D_202E_200B_202C_206C_202E_206C_206D_202E_206C_200B_202A_202D_200C_202D_200D_200C_202C_202D_200B_206E_206D_202C_202B_200C_206C_202B_206F_200D_206F_202E
{
internal uint _202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E;
internal void _202E_200F_200C_206A_206A_202E_206E_200E_206E_200D_202D_202B_206E_206C_202D_200F_200D_200F_202A_206C_206B_200D_206B_206F_200D_202A_200F_202A_200B_200F_206A_202D_200F_202A_202A_206D_206A_206E_206C_202A_202E()
{
_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E = 0u;
}
internal void _206C_200F_200C_200E_202A_206B_202B_202D_206D_200B_202A_200B_202C_206D_202D_202D_200D_202E_206B_200F_200D_200E_202A_202E_200B_200E_202D_200B_200E_206D_200E_206B_206E_206C_202B_200F_206D_206F_202C_206A_202E()
{
if (_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E < 4)
{
_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E = 0u;
}
else if (_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E < 10)
{
uint num = _202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E;
int num2 = 3;
int num3 = (int)num;
_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E = (uint)(~(~num3 + num2));
}
else
{
uint num4 = _202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E;
int num2 = 6;
int num3 = (int)num4;
_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E = (uint)(~(~num3 + num2));
}
}
internal void _206B_202D_200E_206D_206B_202E_200E_206B_206E_206E_200B_202A_206C_202A_206E_200F_200B_206B_206F_206A_206E_200D_206A_200F_202B_202A_206E_206D_200E_206E_200C_202C_206D_206D_200F_206E_202B_200B_202D_206F_202E()
{
_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E = ((_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E < 7) ? 7u : 10u);
}
internal void _202B_202A_206A_202A_202E_206A_200B_200C_200D_200B_206D_200B_200E_206B_202E_200F_200F_202E_206C_202C_200C_202A_200E_202D_200C_202A_202E_206B_202A_202A_202A_200F_200F_200E_206C_200E_202A_202D_200D_200F_202E()
{
_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E = ((_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E < 7) ? 8u : 11u);
}
internal void _200F_202D_202B_202C_202B_206D_206C_202E_200E_206D_202A_202E_206A_200C_200E_206E_206C_206B_202C_206F_206C_200D_206A_202D_206B_200C_200E_200D_206D_202D_206F_206E_206E_202C_202B_202A_206B_202C_202C_206A_202E()
{
_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E = ((_202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E < 7) ? 9u : 11u);
}
internal bool _200E_200C_206C_200E_200B_206B_202B_200F_206F_202E_206B_202A_202B_202A_200C_200D_202E_200F_202E_202E_206F_200C_202B_202B_200C_202D_206A_202A_202C_200F_206D_202C_206F_200F_200B_200C_206A_206A_206B_200E_202E()
{
return _202E_206D_200F_200B_202E_206C_206B_200E_206B_202B_202A_206C_200C_202A_206C_200E_202A_200D_206F_200E_200C_202A_206A_206C_202D_200F_200E_206C_206C_202B_200F_202A_206B_206B_200C_200E_200F_206F_202E_206E_202E < 7;
}
}
[StructLayout(LayoutKind.Explicit, Size = 72320)]
internal struct _200D_202B_200B_206E_200B_206B_206E_202C_206E_206F_202A_206E_206A_202E_200C_200D_202B_200B_206F_200B_202B_206D_200D_206D_206F_200F_202D_200F_202A_202E_206E_202C_206F_206D_206B_206A_200D_200D_206F_200D_202E
{
}

View file

@ -0,0 +1,120 @@
internal struct _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E
{
internal readonly _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] _200C_202A_202A_202B_206A_202B_202A_202E_202A_206C_202C_206A_206D_202A_200C_206D_206C_200D_200B_202E_200B_206C_206B_200E_206C_206D_200B_202A_202A_200B_202C_202D_206D_200F_206B_202C_202A_200B_206D_202E_202E;
internal readonly int _206A_206E_200B_206B_202E_206B_202A_202A_200D_202E_202C_206C_200C_206C_200C_200F_202C_200C_206A_206F_200D_200C_202C_206A_202E_200D_206B_206B_200C_206F_206D_206B_206A_202A_200C_206A_200B_202A_206C_202C_202E;
internal _202C_206D_206F_206C_202B_206F_200E_206D_206E_200B_206E_206C_200D_206F_206C_206B_200B_200E_202A_200F_206C_202D_200D_200B_206E_202C_200B_206A_200D_200D_206C_202A_200D_200E_206B_202E_202D_202D_202D_202E(int numBitLevels)
{
_206A_206E_200B_206B_202E_206B_202A_202A_200D_202E_202C_206C_200C_206C_200C_200F_202C_200C_206A_206F_200D_200C_202C_206A_202E_200D_206B_206B_200C_206F_206D_206B_206A_202A_200C_206A_200B_202A_206C_202C_202E = numBitLevels;
int num = 31;
_200C_202A_202A_202B_206A_202B_202A_202E_202A_206C_202C_206A_206D_202A_200C_206D_206C_200D_200B_202E_200B_206C_206B_200E_206C_206D_200B_202A_202A_200B_202C_202D_206D_200F_206B_202C_202A_200B_206D_202E_202E = new _206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[1 << (numBitLevels | num) - (numBitLevels ^ num)];
}
internal void _200C_206F_206E_206C_202A_202B_206A_200E_200E_206C_202B_202B_206B_200F_206D_200E_206D_206A_206A_206B_206E_206E_200B_206C_202D_202D_202E_200D_206D_200F_202B_200E_202A_202C_206C_206B_206F_206E_206C_202E()
{
uint num = 1u;
while (true)
{
long num2 = num;
int num3 = _206A_206E_200B_206B_202E_206B_202A_202A_200D_202E_202C_206C_200C_206C_200C_200F_202C_200C_206A_206F_200D_200C_202C_206A_202E_200D_206B_206B_200C_206F_206D_206B_206A_202A_200C_206A_200B_202A_206C_202C_202E;
int num4 = 31;
int num5 = num3;
if (num2 < 1 << (num5 | num4) - (num5 ^ num4))
{
_200C_202A_202A_202B_206A_202B_202A_202E_202A_206C_202C_206A_206D_202A_200C_206D_206C_200D_200B_202E_200B_206C_206B_200E_206C_206D_200B_202A_202A_200B_202C_202D_206D_200F_206B_202C_202A_200B_206D_202E_202E[num]._202A_206E_200C_200D_200D_202D_200F_200F_206E_202D_200F_206D_200E_202D_202C_206D_202C_206C_202A_200D_200D_200F_200B_206F_206D_200D_200E_200F_206E_206F_200F_200B_206C_206A_206A_200B_202A_206B_202D_200C_202E();
uint num6 = num;
num4 = 1;
num5 = (int)num6;
int num7 = num5 ^ num4;
int num8 = num5 & num4;
num = (uint)(num7 + (num8 + num8));
continue;
}
break;
}
}
internal uint _200C_200F_206F_206A_200B_200B_200F_200B_202B_200E_202B_206F_202E_206A_206E_206B_200D_206C_202A_206A_200C_202D_202D_200B_200E_200B_202E_206B_206F_200C_200E_200B_202B_202B_206B_202A_200F_206F_202E_206A_202E(_206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E rangeDecoder)
{
uint num = 1u;
int num4;
int num5;
for (int num2 = _206A_206E_200B_206B_202E_206B_202A_202A_200D_202E_202C_206C_200C_206C_200C_200F_202C_200C_206A_206F_200D_200C_202C_206A_202E_200D_206B_206B_200C_206F_206D_206B_206A_202A_200C_206A_200B_202A_206C_202C_202E; num2 > 0; num2 = ~(~num5 + num4))
{
num = (num << 1) + _200C_202A_202A_202B_206A_202B_202A_202E_202A_206C_202C_206A_206D_202A_200C_206D_206C_200D_200B_202E_200B_206C_206B_200E_206C_206D_200B_202A_202A_200B_202C_202D_206D_200F_206B_202C_202A_200B_206D_202E_202E[num]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(rangeDecoder);
int num3 = num2;
num4 = 1;
num5 = num3;
}
uint num6 = num;
int num7 = _206A_206E_200B_206B_202E_206B_202A_202A_200D_202E_202C_206C_200C_206C_200C_200F_202C_200C_206A_206F_200D_200C_202C_206A_202E_200D_206B_206B_200C_206F_206D_206B_206A_202A_200C_206A_200B_202A_206C_202C_202E;
num4 = 31;
num5 = num7;
num4 = 1 << num5 + num4 - (num5 | num4);
num5 = (int)num6;
return (uint)(~(~num5 + num4));
}
internal uint _202B_202A_206F_200C_206C_202E_202D_202A_202C_200E_202A_206E_200C_202B_206C_200E_202D_206D_200D_200D_206F_202A_206A_202E_200B_206B_200E_206D_202C_202A_206B_200B_200E_202B_200D_206E_200C_206A_206C_200F_202E(_206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E rangeDecoder)
{
uint num = 1u;
uint num2 = 0u;
int num3 = 0;
while (num3 < _206A_206E_200B_206B_202E_206B_202A_202A_200D_202E_202C_206C_200C_206C_200C_200F_202C_200C_206A_206F_200D_200C_202C_206A_202E_200D_206B_206B_200C_206F_206D_206B_206A_202A_200C_206A_200B_202A_206C_202C_202E)
{
uint num4 = _200C_202A_202A_202B_206A_202B_202A_202E_202A_206C_202C_206A_206D_202A_200C_206D_206C_200D_200B_202E_200B_206C_206B_200E_206C_206D_200B_202A_202A_200B_202C_202D_206D_200F_206B_202C_202A_200B_206D_202E_202E[num]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(rangeDecoder);
num <<= 1;
uint num5 = num;
int num6 = (int)num4;
int num7 = (int)num5;
num = (uint)((num7 | num6) + (num7 & num6));
uint num8 = num2;
int num9 = num3;
num6 = 31;
num7 = num9;
num6 = (int)(num4 << (num7 | num6) - (num7 ^ num6));
num7 = (int)num8;
num2 = (uint)((num7 & num6) + (num7 ^ num6));
int num10 = num3;
num6 = 1;
num7 = num10;
int num11 = num7 ^ num6;
int num12 = num7 & num6;
num3 = num11 + (num12 + num12);
}
return num2;
}
internal static uint _206D_200D_202A_206D_200F_206D_200F_202E_202D_200F_206B_202E_200D_202A_202B_206B_202E_206C_206D_206C_206D_202B_202B_206E_202B_206E_202A_200D_202D_200D_206C_200C_206F_206E_202B_202C_206D_200D_200B_206F_202E(_206C_200E_206F_206F_206B_200D_200C_206D_202D_202A_200B_206F_202A_200C_202A_206D_206A_200E_206B_202D_202A_200D_206F_200B_206C_200C_202C_202A_200C_206E_200C_200C_206B_206D_202B_206A_200F_200E_200B_200F_202E[] Models, uint startIndex, _206E_200C_202A_200F_202B_200E_200E_202C_206D_206B_202D_206A_206F_206D_202C_206D_206E_202C_206D_202A_206C_206C_206E_200C_202A_200F_200F_206D_202B_206A_206D_200D_200F_202A_202A_202A_202B_206D_200E_206D_202E rangeDecoder, int NumBitLevels)
{
uint num = 1u;
uint num2 = 0u;
int num3 = 0;
while (num3 < NumBitLevels)
{
int num4 = (int)num;
int num5 = (int)startIndex;
uint num6 = Models[(num5 | num4) + (num5 & num4)]._202B_200D_200C_200E_206A_202B_206C_202D_206C_206F_200F_200D_200F_206B_202D_202C_206C_202C_200B_200F_206B_206A_206F_202B_200C_202A_202E_206F_202D_206E_202E_202B_200D_206D_206E_202B_206D_206B_202D_206D_202E(rangeDecoder);
num <<= 1;
uint num7 = num;
num4 = (int)num6;
num5 = (int)num7;
int num8 = num5 ^ num4;
int num9 = num5 & num4;
num = (uint)(num8 + (num9 + num9));
uint num10 = num2;
int num11 = num3;
num4 = 31;
num5 = num11;
num4 = (int)(num6 << (num5 | num4) - (num5 ^ num4));
num5 = (int)num10;
num2 = (uint)(num5 + num4 - (num5 & num4));
int num12 = num3;
num4 = 1;
num5 = num12;
num3 = (num5 | num4) + (num5 & num4);
}
return num2;
}
}

View file

View file

View file

View file

View file

View file

View file

@ -20,7 +20,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
}
set
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
}
@ -44,7 +44,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
}
set
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
}
@ -55,47 +55,47 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable)_items).GetEnumerator();
return _200F_206A_202D_200D_200C_200C_200C_202C_202B_202A_202E_200D_202B_202C_202E_202B_206D_202B_206F_200E_200B_200D_200E_200E_202A_202D_202A_206D_200C_202A_202B_206F_200B_202D_202E_202D_202E_202D_202C_200C_202E((IEnumerable)_items);
}
void ICollection.CopyTo(Array array, int index)
{
((ICollection)_items).CopyTo(array, index);
_206D_202E_200E_202A_202C_206B_200D_206B_206F_202A_206F_206E_206B_200C_200D_206F_200E_206D_206A_202B_202B_202D_206E_206B_200E_202D_200E_206A_206A_206F_206A_200D_200B_200C_200F_202B_200E_206E_200D_202E((ICollection)_items, array, index);
}
int IList.Add(object? value)
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
void IList.Clear()
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
bool IList.Contains(object? value)
{
return ((IList)_items).Contains(value);
return _202D_206E_202B_200D_202B_206A_200B_200C_200C_206F_200C_200D_206F_202C_200E_200B_200B_202C_202E_200F_200E_202C_206E_200F_202B_200B_206E_200F_202E_202E_202D_206F_200E_200C_206C_206E_200D_202E_202E_200E_202E((IList)_items, value);
}
int IList.IndexOf(object? value)
{
return ((IList)_items).IndexOf(value);
return _200B_202D_206E_202A_202E_200E_202A_200D_206D_206A_206C_200D_202A_202D_202C_202C_200F_206A_202E_206A_202D_200E_200F_206B_206B_200D_202C_202C_206D_206D_202A_200E_206A_200C_200E_206C_200C_206D_206E_202E((IList)_items, value);
}
void IList.Insert(int index, object? value)
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
void IList.Remove(object? value)
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
void IList.RemoveAt(int index)
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
IEnumerator<T> IEnumerable<T>.GetEnumerator()
@ -105,12 +105,12 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
void ICollection<T>.Add(T item)
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
void ICollection<T>.Clear()
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
bool ICollection<T>.Contains(T item)
@ -125,7 +125,7 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
bool ICollection<T>.Remove(T item)
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
int IList<T>.IndexOf(T item)
@ -135,11 +135,36 @@ internal sealed class _003C_003Ez__ReadOnlyArray<T> : IEnumerable, ICollection,
void IList<T>.Insert(int index, T item)
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
void IList<T>.RemoveAt(int index)
{
throw new NotSupportedException();
throw _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E();
}
static IEnumerator _200F_206A_202D_200D_200C_200C_200C_202C_202B_202A_202E_200D_202B_202C_202E_202B_206D_202B_206F_200E_200B_200D_200E_200E_202A_202D_202A_206D_200C_202A_202B_206F_200B_202D_202E_202D_202E_202D_202C_200C_202E(IEnumerable P_0)
{
return P_0.GetEnumerator();
}
static void _206D_202E_200E_202A_202C_206B_200D_206B_206F_202A_206F_206E_206B_200C_200D_206F_200E_206D_206A_202B_202B_202D_206E_206B_200E_202D_200E_206A_206A_206F_206A_200D_200B_200C_200F_202B_200E_206E_200D_202E(ICollection P_0, Array P_1, int P_2)
{
P_0.CopyTo(P_1, P_2);
}
static NotSupportedException _206D_202A_206A_202B_206A_206A_206B_206F_200F_206A_206E_206C_202C_200D_200B_202A_206E_200E_202A_200F_206E_200F_202D_200B_202D_202E_202D_206F_202B_206A_202A_206E_200C_200D_202A_206F_200C_202A_206D_206C_202E()
{
return new NotSupportedException();
}
static bool _202D_206E_202B_200D_202B_206A_200B_200C_200C_206F_200C_200D_206F_202C_200E_200B_200B_202C_202E_200F_200E_202C_206E_200F_202B_200B_206E_200F_202E_202E_202D_206F_200E_200C_206C_206E_200D_202E_202E_200E_202E(IList P_0, object P_1)
{
return P_0.Contains(P_1);
}
static int _200B_202D_206E_202A_202E_200E_202A_200D_206D_206A_206C_200D_202A_202D_202C_202C_200F_206A_202E_206A_202D_200E_200F_206B_206B_200D_202C_202C_206D_206D_202A_200E_206A_200C_200E_206C_200C_206D_206E_202E(IList P_0, object P_1)
{
return P_0.IndexOf(P_1);
}
}

View file

@ -20,7 +20,7 @@ internal sealed class _003C_003Ez__ReadOnlyList<T> : IEnumerable, ICollection, I
}
set
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
}
@ -44,7 +44,7 @@ internal sealed class _003C_003Ez__ReadOnlyList<T> : IEnumerable, ICollection, I
}
set
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
}
@ -55,47 +55,47 @@ internal sealed class _003C_003Ez__ReadOnlyList<T> : IEnumerable, ICollection, I
IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable)_items).GetEnumerator();
return _202B_202E_206D_206E_206E_206D_202D_206E_200F_202E_202A_200E_202D_206B_200F_206A_206F_202E_200C_200D_202C_200B_200F_202E_206B_206B_206D_200C_202D_206A_200F_200F_202D_202A_200C_200B_202A_200E_200C_206D_202E((IEnumerable)_items);
}
void ICollection.CopyTo(Array array, int index)
{
((ICollection)_items).CopyTo(array, index);
_200D_206E_206D_202E_202E_202B_206A_202A_202A_206A_206B_206C_200D_202C_206D_202E_202D_206A_200E_206E_206A_202D_200E_202C_200F_202E_202B_206D_206A_202B_200D_200E_202E_200F_206C_200F_206D_206B_200E_200D_202E((ICollection)_items, array, index);
}
int IList.Add(object? value)
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
void IList.Clear()
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
bool IList.Contains(object? value)
{
return ((IList)_items).Contains(value);
return _202C_202B_200B_206E_206A_206C_200C_202D_206B_206B_202A_206D_206E_206D_200B_202A_200F_206E_202B_206B_206C_206D_206F_200D_202D_200D_202D_202A_200D_202B_202C_206A_206C_200D_206B_202C_202C_200E_202A_206F_202E((IList)_items, value);
}
int IList.IndexOf(object? value)
{
return ((IList)_items).IndexOf(value);
return _202D_202E_202C_202E_200F_206F_200E_206D_202B_200F_206A_202D_202B_200E_200D_206D_206A_206F_202A_206E_206A_202A_206A_206A_206F_200F_202A_200E_200E_206E_206A_202A_206B_200F_202A_202C_202D_202B_206A_206C_202E((IList)_items, value);
}
void IList.Insert(int index, object? value)
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
void IList.Remove(object? value)
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
void IList.RemoveAt(int index)
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
IEnumerator<T> IEnumerable<T>.GetEnumerator()
@ -105,12 +105,12 @@ internal sealed class _003C_003Ez__ReadOnlyList<T> : IEnumerable, ICollection, I
void ICollection<T>.Add(T item)
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
void ICollection<T>.Clear()
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
bool ICollection<T>.Contains(T item)
@ -125,7 +125,7 @@ internal sealed class _003C_003Ez__ReadOnlyList<T> : IEnumerable, ICollection, I
bool ICollection<T>.Remove(T item)
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
int IList<T>.IndexOf(T item)
@ -135,11 +135,36 @@ internal sealed class _003C_003Ez__ReadOnlyList<T> : IEnumerable, ICollection, I
void IList<T>.Insert(int index, T item)
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
void IList<T>.RemoveAt(int index)
{
throw new NotSupportedException();
throw _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E();
}
static IEnumerator _202B_202E_206D_206E_206E_206D_202D_206E_200F_202E_202A_200E_202D_206B_200F_206A_206F_202E_200C_200D_202C_200B_200F_202E_206B_206B_206D_200C_202D_206A_200F_200F_202D_202A_200C_200B_202A_200E_200C_206D_202E(IEnumerable P_0)
{
return P_0.GetEnumerator();
}
static void _200D_206E_206D_202E_202E_202B_206A_202A_202A_206A_206B_206C_200D_202C_206D_202E_202D_206A_200E_206E_206A_202D_200E_202C_200F_202E_202B_206D_206A_202B_200D_200E_202E_200F_206C_200F_206D_206B_200E_200D_202E(ICollection P_0, Array P_1, int P_2)
{
P_0.CopyTo(P_1, P_2);
}
static NotSupportedException _206C_206F_200C_202C_206E_206D_200E_202C_206F_202B_202A_206D_206F_206D_202C_206D_206B_206A_202D_200D_202C_202B_206E_200E_200F_202A_202E_200E_202B_202C_200E_200D_206B_202B_206F_202A_200E_206C_202B_206A_202E()
{
return new NotSupportedException();
}
static bool _202C_202B_200B_206E_206A_206C_200C_202D_206B_206B_202A_206D_206E_206D_200B_202A_200F_206E_202B_206B_206C_206D_206F_200D_202D_200D_202D_202A_200D_202B_202C_206A_206C_200D_206B_202C_202C_200E_202A_206F_202E(IList P_0, object P_1)
{
return P_0.Contains(P_1);
}
static int _202D_202E_202C_202E_200F_206F_200E_206D_202B_200F_206A_202D_202B_200E_200D_206D_206A_206F_202A_206E_206A_202A_206A_206A_206F_200F_202A_200E_200E_206E_206A_202A_206B_200F_202A_202C_202D_202B_206A_206C_202E(IList P_0, object P_1)
{
return P_0.IndexOf(P_1);
}
}

View file

@ -19,11 +19,27 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
bool IEnumerator.MoveNext()
{
if (!_moveNextCalled)
int num = (_moveNextCalled ? (-1358713628) : (-1358713625));
while (true)
{
return _moveNextCalled = true;
int num2 = num;
int num3 = -1358713626;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return false;
case 1:
return _moveNextCalled = true;
case 0:
goto IL_0055;
}
continue;
IL_0055:
num = -1358713625;
}
return false;
}
void IEnumerator.Reset()
@ -46,15 +62,29 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
{
get
{
if (index != 0)
int num = ((index == 0) ? 745258458 : 745258459);
while (true)
{
throw new IndexOutOfRangeException();
int num2 = num;
int num3 = 745258458;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_0041;
case 0:
return _item;
case 1:
throw _202E_206A_206F_200B_200E_206C_206D_202E_202A_200E_200F_202A_202E_206A_200D_206D_206D_206B_206C_200F_206C_206C_202B_206D_206A_206B_202C_200C_206F_200C_206D_206A_202D_202B_206D_202C_206E_202D_200F_202B_202E();
}
continue;
IL_0041:
num = 745258459;
}
return _item;
}
set
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
}
@ -68,11 +98,25 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
{
get
{
if (index != 0)
int num = ((index == 0) ? (-543192047) : (-543192046));
while (true)
{
throw new IndexOutOfRangeException();
int num2 = num;
int num3 = -543192048;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0041;
case 1:
return _item;
case 2:
throw _202E_206A_206F_200B_200E_206C_206D_202E_202A_200E_200F_202A_202E_206A_200D_206D_206D_206B_206C_200F_206C_206C_202B_206D_206A_206B_202C_200C_206F_200C_206D_206A_202D_202B_206D_202C_206E_202D_200F_202B_202E();
}
continue;
IL_0041:
num = -543192046;
}
return _item;
}
}
@ -84,15 +128,31 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
{
get
{
if (index != 0)
int num = ((index == 0) ? (-1389399719) : (-1389399720));
while (true)
{
throw new IndexOutOfRangeException();
int num2 = num;
int num3 = -1389399719;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
return _item;
case 1:
throw _202E_206A_206F_200B_200E_206C_206D_202E_202A_200E_200F_202A_202E_206A_200D_206D_206D_206B_206C_200F_206C_206C_202B_206D_206A_206B_202C_200C_206F_200C_206D_206A_202D_202B_206D_202C_206E_202D_200F_202B_202E();
case 2:
goto IL_0050;
}
continue;
IL_0050:
num = -1389399720;
}
return _item;
}
set
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
}
@ -108,17 +168,17 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
void ICollection.CopyTo(Array array, int index)
{
array.SetValue(_item, index);
_206B_206E_206A_202D_206E_202D_206F_202B_202C_200E_202E_202A_206C_206F_206F_206B_200C_200F_206D_202A_206A_202B_200C_202B_200E_206D_202A_200E_206A_206F_206F_200C_206A_202C_202B_200D_206A_200B_206B_202A_202E(array, (object)_item, index);
}
int IList.Add(object? value)
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
void IList.Clear()
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
bool IList.Contains(object? value)
@ -128,26 +188,42 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
int IList.IndexOf(object? value)
{
if (!EqualityComparer<T>.Default.Equals(_item, (T)value))
int num = (EqualityComparer<T>.Default.Equals(_item, (T)value) ? 82767569 : 82767568);
while (true)
{
return -1;
int num2 = num;
int num3 = 82767569;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_0058;
case 0:
return 0;
case 1:
return -1;
}
continue;
IL_0058:
num = 82767568;
}
return 0;
}
void IList.Insert(int index, object? value)
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
void IList.Remove(object? value)
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
void IList.RemoveAt(int index)
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
IEnumerator<T> IEnumerable<T>.GetEnumerator()
@ -157,12 +233,12 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
void ICollection<T>.Add(T item)
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
void ICollection<T>.Clear()
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
bool ICollection<T>.Contains(T item)
@ -177,25 +253,54 @@ internal sealed class _003C_003Ez__ReadOnlySingleElementList<T> : IEnumerable, I
bool ICollection<T>.Remove(T item)
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
int IList<T>.IndexOf(T item)
{
if (!EqualityComparer<T>.Default.Equals(_item, item))
int num = (EqualityComparer<T>.Default.Equals(_item, item) ? (-1404189620) : (-1404189617));
while (true)
{
return -1;
int num2 = num;
int num3 = -1404189618;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0051;
case 2:
return 0;
case 1:
return -1;
}
continue;
IL_0051:
num = -1404189617;
}
return 0;
}
void IList<T>.Insert(int index, T item)
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
void IList<T>.RemoveAt(int index)
{
throw new NotSupportedException();
throw _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E();
}
static void _206B_206E_206A_202D_206E_202D_206F_202B_202C_200E_202E_202A_206C_206F_206F_206B_200C_200F_206D_202A_206A_202B_200C_202B_200E_206D_202A_200E_206A_206F_206F_200C_206A_202C_202B_200D_206A_200B_206B_202A_202E(Array P_0, object P_1, int P_2)
{
P_0.SetValue(P_1, P_2);
}
static IndexOutOfRangeException _202E_206A_206F_200B_200E_206C_206D_202E_202A_200E_200F_202A_202E_206A_200D_206D_206D_206B_206C_200F_206C_206C_202B_206D_206A_206B_202C_200C_206F_200C_206D_206A_202D_202B_206D_202C_206E_202D_200F_202B_202E()
{
return new IndexOutOfRangeException();
}
static NotSupportedException _202B_202E_202D_206F_202D_202A_206E_200D_200D_206E_206B_200B_206D_206A_206C_202D_206A_202B_202C_202A_206B_206B_200E_200D_200E_206E_202E_206A_202E_200D_202E_202D_202A_206E_202C_206C_200D_206B_206C_202C_202E()
{
return new NotSupportedException();
}
}

3259
Questionable/-Module-.cs Normal file

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,11 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Ipc.Exceptions;
using Dalamud.Plugin.Services;
using Lumina.Excel;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using Questionable.External;
@ -14,61 +19,210 @@ internal sealed class BossModModule : ICombatModule, IDisposable
private readonly Configuration _configuration;
public BossModModule(ILogger<BossModModule> logger, BossModIpc bossModIpc, Configuration configuration)
private readonly IObjectTable _objectTable;
public BossModModule(ILogger<BossModModule> logger, BossModIpc bossModIpc, Configuration configuration, IObjectTable objectTable)
{
_logger = logger;
_bossModIpc = bossModIpc;
_configuration = configuration;
_objectTable = objectTable;
}
public bool CanHandleFight(CombatController.CombatData combatData)
{
if (_configuration.General.CombatModule != Configuration.ECombatModule.BossMod)
int num = ((_configuration.General.CombatModule == Configuration.ECombatModule.BossMod) ? (-1465780808) : (-1465780807));
while (true)
{
return false;
int num2 = num;
int num3 = -1465780808;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
return _bossModIpc.IsSupported();
case 1:
return false;
case 2:
goto IL_005f;
}
continue;
IL_005f:
num = -1465780807;
}
return _bossModIpc.IsSupported();
}
bool ICombatModule.CanHandleFight(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in CanHandleFight
return this.CanHandleFight(combatData);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool Start(CombatController.CombatData combatData)
{
try
{
_bossModIpc.SetPreset(BossModIpc.EPreset.Overworld);
return true;
_200F_202B_206D_200D_202A_206D_206B_200D_206F_206C_202D_202B_200E_202B_202A_200C_202C_206C_206B_206F_206A_202B_206E_206A_200F_202D_206A_200F_206E_200D_202E_202B_200D_202E_202C_202C_200B_200C_200F_206B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(460354770), new object[1] { combatData.SpawnType });
int num = (_bossModIpc.EnableAi(BossModIpc.EPreset.Active) ? (-1132234490) : (-1132234488));
byte? b = default(byte?);
bool flag = default(bool);
IPlayerCharacter playerCharacter = default(IPlayerCharacter);
while (true)
{
int num2 = num;
int num3 = -1132234496;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 5:
{
byte valueOrDefault = b.GetValueOrDefault();
num3 = 3;
num4 = valueOrDefault;
num = (((uint)(~(~num4 + num3)) > 1u) ? (-1132234489) : (-1132234494));
break;
}
case 2:
flag = true;
num = -1132234493;
break;
case 1:
b = _200C_202E_206E_200C_206E_206E_202C_200F_200C_200F_200B_200B_200C_206A_202A_206C_206E_206C_206D_206D_202D_200F_202B_206C_200B_206B_206E_200F_200E_206A_202A_202C_200D_206D_202D_206F_206E_202A_206B_200E_202E((ICharacter)playerCharacter).ValueNullable?.Role;
num = ((!b.HasValue) ? (-1132234489) : (-1132234491));
break;
case 3:
{
bool flag2 = flag;
ILogger<BossModModule> logger = _logger;
string text = global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(305098006);
object[] obj = new object[2] { flag2, null };
ClassJob? valueNullable = _200C_202E_206E_200C_206E_206E_202C_200F_200C_200F_200B_200B_200C_206A_202A_206C_206E_206C_206D_206D_202D_200F_202B_206C_200B_206B_206E_200F_200E_206A_202A_202C_200D_206D_202D_206F_206E_202A_206B_200E_202E((ICharacter)playerCharacter).ValueNullable;
byte? b2;
if (!valueNullable.HasValue)
{
b = null;
b2 = b;
}
else
{
b2 = valueNullable.GetValueOrDefault().Role;
}
obj[1] = b2;
_200F_202B_206D_200D_202A_206D_206B_200D_206F_206C_202D_202B_200E_202B_202A_200C_202C_206C_206B_206F_206A_202B_206E_206A_200F_202D_206A_200F_206E_200D_202E_202B_200D_202E_202C_202C_200B_200C_200F_206B_202E((ILogger)logger, text, obj);
_bossModIpc.SetRangeStrategy(BossModIpc.EPreset.Active, flag2);
num = -1132234492;
break;
}
case 6:
playerCharacter = _206F_206B_200B_206F_200D_206E_202C_206B_202D_200F_202D_202A_206D_206C_202E_200E_200D_200F_206B_206E_202A_206D_206F_200D_200F_200E_206A_200E_206B_206C_200D_200F_206F_206E_202E_202E_206F_206E_200E_202A_202E(_objectTable);
num = ((playerCharacter == null) ? (-1132234492) : (-1132234495));
break;
case 8:
_200E_202D_202D_206F_206D_202D_206D_206A_200B_200D_206E_206A_206E_200B_200B_200C_206E_206E_206E_200D_202B_206A_202C_202E_206B_200D_206A_202C_200E_206D_202E_202C_202A_200F_200D_202C_202B_206F_202E_202B_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-651638394), Array.Empty<object>());
return false;
case 0:
num = -1132234488;
break;
case 7:
flag = false;
num = -1132234493;
break;
case 4:
return true;
}
}
}
catch (IpcError exception)
catch (IpcError ipcError)
{
_logger.LogWarning(exception, "Could not start combat");
_206E_206C_202C_202E_200F_206E_206B_206D_202B_202E_202C_202A_200D_200B_206B_200F_202E_202C_202B_206B_200E_202D_200B_206D_200B_206B_200C_202E_206B_206D_206F_200E_200E_202D_200E_206E_206A_202C_202A_206C_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1300221531), Array.Empty<object>());
return false;
}
}
bool ICombatModule.Start(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in Start
return this.Start(combatData);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool Stop()
{
try
{
_bossModIpc.ClearPreset();
_bossModIpc.DisableAi();
return true;
}
catch (IpcError exception)
catch (IpcError ipcError)
{
_logger.LogWarning(exception, "Could not turn off combat");
_206E_206C_202C_202E_200F_206E_206B_206D_202B_202E_202C_202A_200D_200B_206B_200F_202E_202C_202B_206B_200E_202D_200B_206D_200B_206B_200C_202E_206B_206D_206F_200E_200E_202D_200E_206E_206A_202C_202A_206C_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-52047300), Array.Empty<object>());
return false;
}
}
bool ICombatModule.Stop()
{
//ILSpy generated this explicit interface implementation from .override directive in Stop
return this.Stop();
}
public void Update(IGameObject gameObject)
{
}
void ICombatModule.Update(IGameObject gameObject)
{
//ILSpy generated this explicit interface implementation from .override directive in Update
this.Update(gameObject);
}
public bool CanAttack(IBattleNpc target)
{
return true;
}
bool ICombatModule.CanAttack(IBattleNpc target)
{
//ILSpy generated this explicit interface implementation from .override directive in CanAttack
return this.CanAttack(target);
}
public void Dispose()
{
Stop();
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static void _200F_202B_206D_200D_202A_206D_206B_200D_206F_206C_202D_202B_200E_202B_202A_200C_202C_206C_206B_206F_206A_202B_206E_206A_200F_202D_206A_200F_206E_200D_202E_202B_200D_202E_202C_202C_200B_200C_200F_206B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static void _200E_202D_202D_206F_206D_202D_206D_206A_200B_200D_206E_206A_206E_200B_200B_200C_206E_206E_206E_200D_202B_206A_202C_202E_206B_200D_206A_202C_200E_206D_202E_202C_202A_200F_200D_202C_202B_206F_202E_202B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static IPlayerCharacter _206F_206B_200B_206F_200D_206E_202C_206B_202D_200F_202D_202A_206D_206C_202E_200E_200D_200F_206B_206E_202A_206D_206F_200D_200F_200E_206A_200E_206B_206C_200D_200F_206F_206E_202E_202E_206F_206E_200E_202A_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static RowRef<ClassJob> _200C_202E_206E_200C_206E_206E_202C_200F_200C_200F_200B_200B_200C_206A_202A_206C_206E_206C_206D_206D_202D_200F_202B_206C_200B_206B_206E_200F_200E_206A_202A_202C_200D_206D_202D_206F_206E_202A_206B_200E_202E(ICharacter P_0)
{
return P_0.ClassJob;
}
static void _206E_206C_202C_202E_200F_206E_206B_206D_202B_202E_202C_202A_200D_200B_206B_200F_202E_202C_202B_206B_200E_202D_200B_206D_200B_206B_200C_202E_206B_206D_206F_200E_200E_202D_200E_206E_206A_202C_202A_206C_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogWarning(P_1, P_2, P_3);
}
}

View file

@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services;
@ -15,6 +17,65 @@ namespace Questionable.Controller.CombatModules;
internal sealed class ItemUseModule : ICombatModule
{
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass15_0
{
public IGameObject nextTarget;
internal bool _003CUpdate_003Eb__0(ComplexCombatData x)
{
int num = ((_200F_200D_202D_206C_200E_200D_206C_206D_206F_206F_206E_206F_202D_202D_200F_202E_202B_200B_202C_206D_202B_200B_200D_200D_206D_200D_200E_206B_206D_206D_202D_206C_202C_202E_206D_200E_200D_206A_206B_202D_202E(x) != _202D_206F_202C_206C_206B_200F_202A_200B_206A_200E_200D_200E_202B_202A_200B_202B_202D_202D_202D_200E_206F_206B_206E_202E_202B_206E_200C_206C_202E_200D_202E_206E_206E_200B_202A_206B_206B_200D_206A_206A_202E(nextTarget)) ? 1884617909 : 1884617907);
ICharacter character = default(ICharacter);
while (true)
{
int num2 = num;
int num3 = 1884617910;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
return _200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x) == _202C_202C_200B_206B_200C_206A_206F_206B_202C_206B_206D_200D_206A_202A_200D_206B_202D_206C_200C_200C_200B_206F_200C_206E_200B_200B_206D_206C_200E_206E_202A_206C_202C_206C_206D_200F_206A_202A_206F_202E(character);
case 6:
character = nextTarget as ICharacter;
num = ((character == null) ? 1884617910 : 1884617906);
break;
case 3:
return false;
case 0:
return false;
case 2:
num = 1884617907;
break;
case 1:
return true;
case 5:
num = ((!_200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x).HasValue) ? 1884617911 : 1884617904);
break;
}
}
}
static uint _200F_200D_202D_206C_200E_200D_206C_206D_206F_206F_206E_206F_202D_202D_200F_202E_202B_200B_202C_206D_202B_200B_200D_200D_206D_200D_200E_206B_206D_206D_202D_206C_202C_202E_206D_200E_200D_206A_206B_202D_202E(ComplexCombatData P_0)
{
return P_0.DataId;
}
static uint _202D_206F_202C_206C_206B_200F_202A_200B_206A_200E_200D_200E_202B_202A_200B_202B_202D_202D_202D_200E_206F_206B_206E_202E_202B_206E_200C_206C_202E_200D_202E_206E_206E_200B_202A_206B_206B_200D_206A_206A_202E(IGameObject P_0)
{
return P_0.BaseId;
}
static uint? _200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(ComplexCombatData P_0)
{
return P_0.NameId;
}
static uint _202C_202C_200B_206B_200C_206A_206F_206B_202C_206B_206D_200D_206A_202A_200D_206B_202D_206C_200C_200C_200B_206F_200C_206E_200B_200B_206D_206C_200E_206E_202A_206C_202C_206C_206D_200F_206A_202A_206F_202E(ICharacter P_0)
{
return P_0.NameId;
}
}
private readonly IServiceProvider _serviceProvider;
private readonly ICondition _condition;
@ -27,13 +88,13 @@ internal sealed class ItemUseModule : ICombatModule
private bool _isDoingRotation;
private DateTime _continueAt;
private long _continueAt;
private bool _itemUsePending;
private DateTime _itemUsePendingUntil;
private long _itemUsePendingUntil;
private int _lastKnownItemCount;
public ICombatModule? Delegate => _delegate;
public ItemUseModule(IServiceProvider serviceProvider, ICondition condition, ILogger<ItemUseModule> logger)
{
@ -42,142 +103,364 @@ internal sealed class ItemUseModule : ICombatModule
_logger = logger;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool CanHandleFight(CombatController.CombatData combatData)
{
if (combatData.CombatItemUse == null)
int num = ((combatData.CombatItemUse != null) ? (-969597141) : (-969597144));
while (true)
{
return false;
int num2 = num;
int num3 = -969597142;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_005a;
case 1:
{
_delegate = (from x in _serviceProvider.GetRequiredService<IEnumerable<ICombatModule>>()
where !(x is ItemUseModule)
select x).FirstOrDefault((ICombatModule x) => x.CanHandleFight(combatData));
ILogger<ItemUseModule> logger = _logger;
string text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-150894400);
object[] array = new object[1];
ICombatModule? combatModule = _delegate;
array[0] = ((combatModule != null) ? _202C_206B_202B_206E_200B_206D_200F_206D_206F_200D_200B_206F_206E_202B_202E_200D_202D_206A_206B_200E_202A_206A_202B_202D_206E_206A_206C_202C_200B_200E_206E_206C_200E_206E_206A_206C_202C_202E_202A_202E_202E((MemberInfo)_202A_200C_206B_202C_206A_206B_202C_202B_206A_200C_206A_206B_206B_202B_202D_202B_202D_206B_206F_202D_206C_202D_206C_202E_202C_206D_200D_202C_200D_202B_200D_200E_200E_206F_202B_200E_206A_202A_206E_202C_202E((object)combatModule)) : null);
_202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E((ILogger)logger, text, array);
return _delegate != null;
}
case 2:
return false;
}
continue;
IL_005a:
num = -969597144;
}
_delegate = (from x in _serviceProvider.GetRequiredService<IEnumerable<ICombatModule>>()
where !(x is ItemUseModule)
select x).FirstOrDefault((ICombatModule x) => x.CanHandleFight(combatData));
_logger.LogInformation("ItemUse delegate: {Delegate}", _delegate?.GetType().Name);
return _delegate != null;
}
public unsafe bool Start(CombatController.CombatData combatData)
bool ICombatModule.CanHandleFight(CombatController.CombatData combatData)
{
if (_delegate.Start(combatData))
//ILSpy generated this explicit interface implementation from .override directive in CanHandleFight
return this.CanHandleFight(combatData);
}
public bool Start(CombatController.CombatData combatData)
{
int num = ((!_delegate.Start(combatData)) ? 109561954 : 109561955);
while (true)
{
_combatData = combatData;
_isDoingRotation = true;
_continueAt = DateTime.Now;
if (_combatData?.CombatItemUse != null)
int num2 = num;
int num3 = 109561954;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
InventoryManager* ptr = InventoryManager.Instance();
_lastKnownItemCount = ptr->GetInventoryItemCount(_combatData.CombatItemUse.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0);
case 2:
goto IL_004e;
case 1:
_combatData = combatData;
_isDoingRotation = true;
_continueAt = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E();
_itemUsePending = false;
return true;
case 0:
return false;
}
return true;
continue;
IL_004e:
num = 109561955;
}
return false;
}
bool ICombatModule.Start(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in Start
return this.Start(combatData);
}
public bool Stop()
{
if (_isDoingRotation)
int num = ((!_isDoingRotation) ? 1494033930 : 1494033931);
while (true)
{
_delegate.Stop();
_isDoingRotation = false;
_combatData = null;
_delegate = null;
_continueAt = DateTime.Now;
int num2 = num;
int num3 = 1494033930;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = 1494033931;
break;
case 0:
return true;
case 1:
_delegate.Stop();
_isDoingRotation = false;
_combatData = null;
_delegate = null;
_continueAt = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E();
num = 1494033930;
break;
}
}
return true;
}
bool ICombatModule.Stop()
{
//ILSpy generated this explicit interface implementation from .override directive in Stop
return this.Stop();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe void Update(IGameObject nextTarget)
{
if (_delegate == null || _continueAt > DateTime.Now)
int num = ((_delegate != null) ? (-1423296184) : (-1423296167));
long num7 = default(long);
int inventoryItemCount = default(int);
while (true)
{
return;
}
if (_combatData?.CombatItemUse == null)
{
_delegate.Update(nextTarget);
}
else if (_combatData.KillEnemyDataIds.Contains(nextTarget.BaseId) || _combatData.ComplexCombatDatas.Any((ComplexCombatData x) => x.DataId == nextTarget.BaseId && (!x.NameId.HasValue || (nextTarget is ICharacter character && x.NameId == character.NameId))))
{
if (_isDoingRotation)
{
int inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(_combatData.CombatItemUse.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0);
if (_itemUsePending)
{
if (DateTime.Now < _itemUsePendingUntil)
{
_logger.LogDebug("Item use pending; ignoring temporary inventory count={Count}", inventoryItemCount);
}
else
{
_itemUsePending = false;
}
}
if (!_itemUsePending && inventoryItemCount == 0)
{
_isDoingRotation = false;
_delegate.Stop();
return;
}
_lastKnownItemCount = inventoryItemCount;
if (ShouldUseItem(nextTarget))
{
_itemUsePending = true;
_itemUsePendingUntil = DateTime.Now.AddSeconds(3.0);
AgentInventoryContext.Instance()->UseItem(_combatData.CombatItemUse.ItemId, InventoryType.Invalid, 0u, 0);
_continueAt = DateTime.Now.AddSeconds(2.0);
}
else
{
_delegate.Update(nextTarget);
}
}
else if (_condition[ConditionFlag.Casting])
{
DateTime dateTime = DateTime.Now.AddSeconds(0.5);
if (dateTime > _continueAt)
{
_continueAt = dateTime;
}
}
else
int num2 = num;
int num3 = -1423296181;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 17:
_delegate.Update(nextTarget);
return;
case 6:
num = ((!ShouldUseItem(nextTarget)) ? (-1423296182) : (-1423296189));
break;
case 11:
num = ((_202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() >= _itemUsePendingUntil) ? (-1423296180) : (-1423296161));
break;
case 2:
num = ((!_isDoingRotation) ? (-1423296174) : (-1423296162));
break;
case 23:
num = ((!_isDoingRotation) ? (-1423296168) : (-1423296177));
break;
case 5:
_continueAt = num7;
return;
case 22:
num = ((_combatData?.CombatItemUse != null) ? (-1423296190) : (-1423296166));
break;
case 10:
_isDoingRotation = true;
_delegate.Start(_combatData);
return;
case 16:
_delegate.Update(nextTarget);
return;
case 19:
num = ((!_200D_200F_202C_206F_202E_202C_206A_202D_206E_206A_206A_206E_200B_202D_206E_202B_202C_206E_202B_206D_206C_200E_202E_200F_206C_202C_200B_202E_206F_200E_206E_200C_202B_202A_200E_200C_206B_200C_206F_206F_202E(_condition, ConditionFlag.Casting)) ? (-1423296191) : (-1423296186));
break;
case 24:
num = -1423296167;
break;
case 3:
num = ((_continueAt <= _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E()) ? (-1423296163) : (-1423296188));
break;
case 25:
return;
case 14:
num = ((inventoryItemCount != 0) ? (-1423296179) : (-1423296165));
break;
case 1:
_delegate.Update(nextTarget);
return;
case 21:
_delegate.Update(nextTarget);
num = -1423296174;
break;
case 13:
num7 = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() + 500;
num = ((num7 <= _continueAt) ? (-1423296174) : (-1423296178));
break;
case 12:
num = (_itemUsePending ? (-1423296179) : (-1423296187));
break;
case 0:
num = ((!_combatData.ComplexCombatDatas.Any(delegate(ComplexCombatData x)
{
int num8 = ((_003C_003Ec__DisplayClass15_0._200F_200D_202D_206C_200E_200D_206C_206D_206F_206F_206E_206F_202D_202D_200F_202E_202B_200B_202C_206D_202B_200B_200D_200D_206D_200D_200E_206B_206D_206D_202D_206C_202C_202E_206D_200E_200D_206A_206B_202D_202E(x) != _003C_003Ec__DisplayClass15_0._202D_206F_202C_206C_206B_200F_202A_200B_206A_200E_200D_200E_202B_202A_200B_202B_202D_202D_202D_200E_206F_206B_206E_202E_202B_206E_200C_206C_202E_200D_202E_206E_206E_200B_202A_206B_206B_200D_206A_206A_202E(nextTarget)) ? 1884617909 : 1884617907);
ICharacter character = default(ICharacter);
while (true)
{
int num9 = num8;
int num10 = 1884617910;
int num11 = num9;
switch ((num11 | num10) - (num11 & num10))
{
case 4:
return _003C_003Ec__DisplayClass15_0._200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x) == _003C_003Ec__DisplayClass15_0._202C_202C_200B_206B_200C_206A_206F_206B_202C_206B_206D_200D_206A_202A_200D_206B_202D_206C_200C_200C_200B_206F_200C_206E_200B_200B_206D_206C_200E_206E_202A_206C_202C_206C_206D_200F_206A_202A_206F_202E(character);
case 6:
character = nextTarget as ICharacter;
num8 = ((character == null) ? 1884617910 : 1884617906);
break;
case 3:
return false;
case 0:
return false;
case 2:
num8 = 1884617907;
break;
case 1:
return true;
case 5:
num8 = ((!_003C_003Ec__DisplayClass15_0._200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x).HasValue) ? 1884617911 : 1884617904);
break;
}
}
})) ? (-1423296183) : (-1423296164));
break;
case 7:
_itemUsePending = false;
num = -1423296185;
break;
case 4:
inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(_202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(_combatData.CombatItemUse), isHq: false, checkEquipped: true, checkArmory: true, 0);
num = ((!_itemUsePending) ? (-1423296185) : (-1423296192));
break;
case 15:
return;
case 18:
return;
case 20:
_202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-316452763), new object[1] { inventoryItemCount });
num = -1423296185;
break;
case 9:
num = (_combatData.KillEnemyDataIds.Contains(_206D_202D_206D_202B_206E_202C_202B_202D_200E_200F_202E_202E_206E_202B_202E_202A_202B_202A_200F_206A_206F_202E_200C_200C_202A_206E_200F_206F_200B_200B_206B_206E_206D_206D_206D_206D_206A_202A_206A_200E_202E(nextTarget)) ? (-1423296164) : (-1423296181));
break;
case 8:
_202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-350550837), new object[1] { _202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(_combatData.CombatItemUse) });
_itemUsePending = true;
_itemUsePendingUntil = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() + 3000;
AgentInventoryContext.Instance()->UseItem(_202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(_combatData.CombatItemUse), InventoryType.Invalid, 0u, 0);
_continueAt = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() + 2000;
return;
}
}
else if (_isDoingRotation)
{
_delegate.Update(nextTarget);
}
}
void ICombatModule.Update(IGameObject nextTarget)
{
//ILSpy generated this explicit interface implementation from .override directive in Update
this.Update(nextTarget);
}
private unsafe bool ShouldUseItem(IGameObject gameObject)
{
if (_combatData?.CombatItemUse == null)
int num = ((_combatData?.CombatItemUse != null) ? (-1964360590) : (-1964360581));
BattleChara* ptr = default(BattleChara*);
while (true)
{
return false;
}
if (gameObject is IBattleChara)
{
BattleChara* address = (BattleChara*)gameObject.Address;
if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.Incapacitated)
int num2 = num;
int num3 = -1964360589;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
return (address->ActorControlFlags & 0x40) != 0;
case 2:
{
byte actorControlFlags = ptr->ActorControlFlags;
num3 = 64;
num4 = actorControlFlags;
return (num4 | num3) - (num4 ^ num3) != 0;
}
if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.HealthPercent)
{
return 100f * (float)address->Health / (float)address->MaxHealth < (float)_combatData.CombatItemUse.Value;
}
if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.MissingStatus)
{
return !address->StatusManager.HasStatus((uint)_combatData.CombatItemUse.Value);
case 0:
return 100f * (float)ptr->Health / (float)ptr->MaxHealth < (float)_206F_202B_200E_200D_200E_200D_206B_200C_200E_206C_200E_200E_202C_202E_206E_200D_206B_206C_200D_206A_202E_200C_206B_200D_200E_200C_206D_200B_200B_206D_202D_200B_202E_200F_200E_206D_200D_206D_200E_202E(_combatData.CombatItemUse);
case 9:
num = -1964360581;
break;
case 7:
return false;
case 6:
num = ((_206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(_combatData.CombatItemUse) != ECombatItemUseCondition.MissingStatus) ? (-1964360588) : (-1964360585));
break;
case 4:
return !ptr->StatusManager.HasStatus((uint)_206F_202B_200E_200D_200E_200D_206B_200C_200E_206C_200E_200E_202C_202E_206E_200D_206B_206C_200D_206A_202E_200C_206B_200D_200E_200C_206D_200B_200B_206D_202D_200B_202E_200F_200E_206D_200D_206D_200E_202E(_combatData.CombatItemUse));
case 8:
return false;
case 5:
ptr = (BattleChara*)_200D_200D_202A_206D_202B_206C_202E_200B_206F_202D_200C_206F_200E_200B_206C_200C_206F_200B_206D_206D_202E_202D_206F_206B_202A_206A_202B_206D_206D_200C_200F_202D_202D_206D_202D_206C_200C_202E_202D_202E_202E(gameObject);
num = ((_206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(_combatData.CombatItemUse) != ECombatItemUseCondition.Incapacitated) ? (-1964360592) : (-1964360591));
break;
case 1:
num = ((!(gameObject is IBattleChara)) ? (-1964360588) : (-1964360586));
break;
case 3:
num = ((_206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(_combatData.CombatItemUse) != ECombatItemUseCondition.HealthPercent) ? (-1964360587) : (-1964360589));
break;
}
}
return false;
}
public bool CanAttack(IBattleNpc target)
{
return _delegate.CanAttack(target);
}
bool ICombatModule.CanAttack(IBattleNpc target)
{
//ILSpy generated this explicit interface implementation from .override directive in CanAttack
return this.CanAttack(target);
}
static Type _202A_200C_206B_202C_206A_206B_202C_202B_206A_200C_206A_206B_206B_202B_202D_202B_202D_206B_206F_202D_206C_202D_206C_202E_202C_206D_200D_202C_200D_202B_200D_200E_200E_206F_202B_200E_206A_202A_206E_202C_202E(object P_0)
{
return P_0.GetType();
}
static string _202C_206B_202B_206E_200B_206D_200F_206D_206F_200D_200B_206F_206E_202B_202E_200D_202D_206A_206B_200E_202A_206A_202B_202D_206E_206A_206C_202C_200B_200E_206E_206C_200E_206E_206A_206C_202C_202E_202A_202E_202E(MemberInfo P_0)
{
return P_0.Name;
}
static void _202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static long _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E()
{
return Environment.TickCount64;
}
static uint _206D_202D_206D_202B_206E_202C_202B_202D_200E_200F_202E_202E_206E_202B_202E_202A_202B_202A_200F_206A_206F_202E_200C_200C_202A_206E_200F_206F_200B_200B_206B_206E_206D_206D_206D_206D_206A_202A_206A_200E_202E(IGameObject P_0)
{
return P_0.BaseId;
}
static uint _202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(CombatItemUse P_0)
{
return P_0.ItemId;
}
static bool _200D_200F_202C_206F_202E_202C_206A_202D_206E_206A_206A_206E_200B_202D_206E_202B_202C_206E_202B_206D_206C_200E_202E_200F_206C_202C_200B_202E_206F_200E_206E_200C_202B_202A_200E_200C_206B_200C_206F_206F_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static nint _200D_200D_202A_206D_202B_206C_202E_200B_206F_202D_200C_206F_200E_200B_206C_200C_206F_200B_206D_206D_202E_202D_206F_206B_202A_206A_202B_206D_206D_200C_200F_202D_202D_206D_202D_206C_200C_202E_202D_202E_202E(IGameObject P_0)
{
return P_0.Address;
}
static ECombatItemUseCondition _206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(CombatItemUse P_0)
{
return P_0.Condition;
}
static int _206F_202B_200E_200D_200E_200D_206B_200C_200E_206C_200E_200E_202C_202E_206E_200D_206B_206C_200D_206A_202E_200C_206B_200D_200E_200C_206D_200B_200B_206D_202D_200B_202E_200F_200E_206D_200D_206D_200E_202E(CombatItemUse P_0)
{
return P_0.Value;
}
}

View file

@ -23,7 +23,38 @@ internal sealed class Mount128Module : ICombatModule
public bool CanHandleFight(CombatController.CombatData combatData)
{
return _gameFunctions.GetMountId() == 128;
ushort? mountId = _gameFunctions.GetMountId();
int num = (mountId.HasValue ? 1315978543 : 1315978542);
int? obj;
while (true)
{
int num2 = num;
int num3 = 1315978543;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
default:
continue;
case 2:
goto IL_005c;
case 0:
obj = mountId.GetValueOrDefault();
break;
case 1:
obj = null;
break;
}
break;
IL_005c:
num = 1315978542;
}
return obj == 128;
}
bool ICombatModule.CanHandleFight(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in CanHandleFight
return this.CanHandleFight(combatData);
}
public bool Start(CombatController.CombatData combatData)
@ -31,30 +62,114 @@ internal sealed class Mount128Module : ICombatModule
return true;
}
bool ICombatModule.Start(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in Start
return this.Start(combatData);
}
public bool Stop()
{
return true;
}
bool ICombatModule.Stop()
{
//ILSpy generated this explicit interface implementation from .override directive in Stop
return this.Stop();
}
public void Update(IGameObject gameObject)
{
EAction[] actions = _actions;
foreach (EAction action in actions)
int num = 0;
int num2 = -321000316;
while (true)
{
if (_gameFunctions.UseAction(gameObject, action, checkCanUse: false))
int num3 = num2;
int num4 = -321000313;
int num5 = num3;
switch ((num5 | num4) - (num5 & num4))
{
case 5:
num2 = -321000316;
break;
case 4:
return;
case 0:
{
int num6 = num;
num4 = 1;
num5 = num6;
int num7 = num5 ^ num4;
int num8 = num5 & num4;
num = num7 + (num8 + num8);
num2 = -321000316;
break;
}
case 2:
return;
case 1:
{
EAction action = actions[num];
num2 = ((!_gameFunctions.UseAction(gameObject, action, checkCanUse: false)) ? (-321000313) : (-321000315));
break;
}
case 3:
num2 = ((num < actions.Length) ? (-321000314) : (-321000317));
break;
}
}
}
void ICombatModule.Update(IGameObject gameObject)
{
//ILSpy generated this explicit interface implementation from .override directive in Update
this.Update(gameObject);
}
public bool CanAttack(IBattleNpc target)
{
uint baseId = target.BaseId;
if (baseId - 7504 <= 1 || baseId == 14107)
uint num = _200D_206E_206B_200C_200E_200F_200E_206A_200C_200E_202B_202A_206C_202B_206A_202B_200D_206F_200F_202D_200C_200E_206E_200D_200E_202A_200B_200B_206F_206F_202B_206D_202A_200E_202D_206F_206D_200F_202B_202E((IGameObject)target);
int num2 = 7504;
int num3 = (int)num;
int num4 = (((uint)(~(~num3 + num2)) <= 1u) ? 2050510022 : 2050510023);
bool result = default(bool);
while (true)
{
return true;
int num5 = num4;
num2 = 2050510022;
num3 = num5;
switch ((num3 | num2) - (num3 & num2))
{
case 2:
return result;
case 1:
num4 = ((num != 14107) ? 2050510018 : 2050510022);
break;
case 3:
num4 = 2050510023;
break;
case 0:
result = true;
num4 = 2050510020;
break;
case 4:
result = false;
num4 = 2050510020;
break;
}
}
return false;
}
bool ICombatModule.CanAttack(IBattleNpc target)
{
//ILSpy generated this explicit interface implementation from .override directive in CanAttack
return this.CanAttack(target);
}
static uint _200D_206E_206B_200C_200E_200F_200E_206A_200C_200E_202B_202A_206C_202B_206A_202B_200D_206F_200F_202D_200C_200E_206E_200D_200E_202A_200B_200B_206F_206F_202B_206D_202A_200E_202D_206F_206D_200F_202B_202E(IGameObject P_0)
{
return P_0.BaseId;
}
}

View file

@ -19,7 +19,38 @@ internal sealed class Mount147Module : ICombatModule
public bool CanHandleFight(CombatController.CombatData combatData)
{
return _gameFunctions.GetMountId() == 147;
ushort? mountId = _gameFunctions.GetMountId();
int num = (mountId.HasValue ? (-1629535910) : (-1629535911));
int? obj;
while (true)
{
int num2 = num;
int num3 = -1629535909;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
default:
continue;
case 1:
obj = mountId.GetValueOrDefault();
break;
case 2:
obj = null;
break;
case 0:
goto IL_009c;
}
break;
IL_009c:
num = -1629535911;
}
return obj == 147;
}
bool ICombatModule.CanHandleFight(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in CanHandleFight
return this.CanHandleFight(combatData);
}
public bool Start(CombatController.CombatData combatData)
@ -27,25 +58,85 @@ internal sealed class Mount147Module : ICombatModule
return true;
}
bool ICombatModule.Start(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in Start
return this.Start(combatData);
}
public bool Stop()
{
return true;
}
bool ICombatModule.Stop()
{
//ILSpy generated this explicit interface implementation from .override directive in Stop
return this.Stop();
}
public void Update(IGameObject gameObject)
{
EAction[] actions = _actions;
foreach (EAction action in actions)
int num = 0;
int num2 = -1800928323;
while (true)
{
if (_gameFunctions.UseAction(gameObject, action, checkCanUse: false))
int num3 = num2;
int num4 = -1800928324;
int num5 = num3;
switch ((num5 | num4) - (num5 & num4))
{
case 1:
num2 = ((num < actions.Length) ? (-1800928327) : (-1800928321));
break;
case 3:
return;
case 5:
{
EAction action = actions[num];
num2 = ((!_gameFunctions.UseAction(gameObject, action, checkCanUse: false)) ? (-1800928322) : (-1800928328));
break;
}
case 0:
num2 = -1800928323;
break;
case 2:
{
int num6 = num;
num4 = 1;
num5 = num6;
int num7 = num5 ^ num4;
int num8 = num5 & num4;
num = num7 + (num8 + num8);
num2 = -1800928323;
break;
}
case 4:
return;
}
}
}
void ICombatModule.Update(IGameObject gameObject)
{
//ILSpy generated this explicit interface implementation from .override directive in Update
this.Update(gameObject);
}
public bool CanAttack(IBattleNpc target)
{
return target.BaseId == 8593;
return _200F_202B_206E_206D_206B_200D_202E_200E_202A_202D_202D_206E_206B_200D_200C_202B_206A_202D_206F_206E_202C_200E_202D_206D_206A_202E_206B_200B_202B_202A_206F_200C_200C_202E_200E_206C_206C_200E_200E_202C_202E((IGameObject)target) == 8593;
}
bool ICombatModule.CanAttack(IBattleNpc target)
{
//ILSpy generated this explicit interface implementation from .override directive in CanAttack
return this.CanAttack(target);
}
static uint _200F_202B_206E_206D_206B_200D_202E_200E_202A_202D_202D_206E_206B_200D_200C_202B_206A_202D_206F_206E_202C_200E_202D_206D_206A_202E_206B_200B_202B_202A_206F_200C_200C_202E_200E_206C_206C_200E_200E_202C_202E(IGameObject P_0)
{
return P_0.BaseId;
}
}

View file

@ -1,4 +1,5 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin;
using Dalamud.Plugin.Ipc;
@ -9,14 +10,9 @@ namespace Questionable.Controller.CombatModules;
internal sealed class RotationSolverRebornModule : ICombatModule, IDisposable
{
private enum StateCommandType : byte
{
Off,
Auto,
TargetOnly,
Manual,
AutoDuty
}
private const byte ModeOff = 0;
private const byte ModeHenched = 4;
private readonly ILogger<RotationSolverRebornModule> _logger;
@ -24,76 +20,182 @@ internal sealed class RotationSolverRebornModule : ICombatModule, IDisposable
private readonly ICallGateSubscriber<string, object> _test;
private readonly ICallGateSubscriber<StateCommandType, object> _changeOperationMode;
private readonly ICallGateSubscriber<byte, object> _changeOperationMode;
private readonly ICallGateSubscriber<string, object, object> _setConfig;
[MethodImpl(MethodImplOptions.NoInlining)]
public RotationSolverRebornModule(ILogger<RotationSolverRebornModule> logger, IDalamudPluginInterface pluginInterface, Configuration configuration)
{
_logger = logger;
_configuration = configuration;
_test = pluginInterface.GetIpcSubscriber<string, object>("RotationSolverReborn.Test");
_changeOperationMode = pluginInterface.GetIpcSubscriber<StateCommandType, object>("RotationSolverReborn.ChangeOperatingMode");
_test = pluginInterface.GetIpcSubscriber<string, object>(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1411732443));
_changeOperationMode = pluginInterface.GetIpcSubscriber<byte, object>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1860544423));
_setConfig = pluginInterface.GetIpcSubscriber<string, object, object>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1066419232));
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool IsAvailable()
{
int num = ((_configuration.General.CombatModule == Configuration.ECombatModule.RotationSolverReborn) ? 1043338071 : 1043338068);
while (true)
{
int num2 = num;
int num3 = 1043338070;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0051;
case 2:
return false;
case 1:
try
{
_test.InvokeAction(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(801710835));
return true;
}
catch (IpcError)
{
return false;
}
}
continue;
IL_0051:
num = 1043338068;
}
}
public bool CanHandleFight(CombatController.CombatData combatData)
{
if (_configuration.General.CombatModule != Configuration.ECombatModule.RotationSolverReborn)
{
return false;
}
try
{
_test.InvokeAction("Validate RSR is callable from Questionable");
return true;
}
catch (IpcError)
{
return false;
}
return IsAvailable();
}
bool ICombatModule.CanHandleFight(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in CanHandleFight
return this.CanHandleFight(combatData);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool Start(CombatController.CombatData combatData)
{
try
{
_changeOperationMode.InvokeAction(StateCommandType.Manual);
_changeOperationMode.InvokeAction(4);
SetConfig(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1302352989), false);
SetConfig(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-21636385), true);
SetConfig(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(440160262), 1);
return true;
}
catch (IpcError exception)
catch (IpcError ipcError)
{
_logger.LogWarning(exception, "Could not start combat");
_206B_200C_200B_202B_202B_206C_202B_200E_202D_202E_200C_206A_206D_202C_200B_202C_202E_200E_200E_200D_200F_206B_202A_206C_206F_202C_206D_206A_200E_202D_202E_200D_200F_202E_200E_200D_200E_200C_200F_202B_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1187675745), Array.Empty<object>());
return false;
}
}
bool ICombatModule.Start(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in Start
return this.Start(combatData);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool Stop()
{
if (!_changeOperationMode.HasAction)
int num = (_202B_200D_202B_206D_206F_202A_206C_206C_200D_200C_202B_202C_202C_202C_200E_206B_202D_202C_202A_206B_206B_206C_202B_202D_200F_206E_200D_206E_206B_206F_206A_206F_206A_200E_206B_200E_206B_206D_202A_206B_202E((ICallGateSubscriber)_changeOperationMode) ? (-427994100) : (-427994099));
while (true)
{
return true;
}
try
{
_changeOperationMode.InvokeAction(StateCommandType.Off);
return true;
}
catch (IpcError exception)
{
_logger.LogWarning(exception, "Could not turn off combat");
return false;
int num2 = num;
int num3 = -427994100;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_004e;
case 1:
return true;
case 0:
try
{
_changeOperationMode.InvokeAction(0);
return true;
}
catch (IpcError ipcError)
{
_206B_200C_200B_202B_202B_206C_202B_200E_202D_202E_200C_206A_206D_202C_200B_202C_202E_200E_200E_200D_200F_206B_202A_206C_206F_202C_206D_206A_200E_202D_202E_200D_200F_202E_200E_200D_200E_200C_200F_202B_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-52047300), Array.Empty<object>());
return false;
}
}
continue;
IL_004e:
num = -427994099;
}
}
bool ICombatModule.Stop()
{
//ILSpy generated this explicit interface implementation from .override directive in Stop
return this.Stop();
}
public void Update(IGameObject gameObject)
{
}
void ICombatModule.Update(IGameObject gameObject)
{
//ILSpy generated this explicit interface implementation from .override directive in Update
this.Update(gameObject);
}
public bool CanAttack(IBattleNpc target)
{
return true;
}
bool ICombatModule.CanAttack(IBattleNpc target)
{
//ILSpy generated this explicit interface implementation from .override directive in CanAttack
return this.CanAttack(target);
}
public void Dispose()
{
Stop();
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void SetConfig(string key, object value)
{
try
{
_setConfig.InvokeAction(key, value);
}
catch (IpcError ipcError)
{
_202D_206C_200F_200F_206F_202B_206F_202C_206B_206E_206A_202D_202B_206A_202A_200D_206F_206F_200F_200F_202A_206E_206F_202E_206C_200D_200B_200E_206C_200B_206A_202E_202E_206D_200B_202E_200C_200E_202C_202D_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1316823844), new object[1] { key });
}
}
static void _206B_200C_200B_202B_202B_206C_202B_200E_202D_202E_200C_206A_206D_202C_200B_202C_202E_200E_200E_200D_200F_206B_202A_206C_206F_202C_206D_206A_200E_202D_202E_200D_200F_202E_200E_200D_200E_200C_200F_202B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogWarning(P_1, P_2, P_3);
}
static bool _202B_200D_202B_206D_206F_202A_206C_206C_200D_200C_202B_202C_202C_202C_200E_206B_202D_202C_202A_206B_206B_206C_202B_202D_200F_206E_200D_206E_206B_206F_206A_206F_206A_200E_206B_200E_206B_206D_202A_206B_202E(ICallGateSubscriber P_0)
{
return P_0.HasAction;
}
static void _202D_206C_200F_200F_206F_202B_206F_202C_206B_206E_206A_202D_202B_206A_202A_200D_206F_206F_200F_200F_202A_206E_206F_202E_206C_200D_200B_200E_206C_200B_206A_202E_202E_206D_200B_202E_200C_200E_202C_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogDebug(P_1, P_2, P_3);
}
}

View file

@ -1,8 +1,14 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin;
using Dalamud.Plugin.Ipc;
using Dalamud.Plugin.Ipc.Exceptions;
using Dalamud.Plugin.Services;
using Lumina.Excel;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps;
@ -42,7 +48,14 @@ internal sealed class WrathComboModule : ICombatModule, IDisposable
OrbwalkerIntegration,
AutoRezOutOfParty,
DPSAoETargets,
SingleTargetExcogHPP
SingleTargetExcogHPP,
AutoRezDPSJobsHealersOnly,
DPSAlwaysHardTarget,
HealerAlwaysHardTarget,
BypassQuest,
BypassFATE,
IgnoreRangeInBoss,
UnTargetAndDisableForPenalty
}
public enum HealerRotationMode
@ -52,12 +65,26 @@ internal sealed class WrathComboModule : ICombatModule, IDisposable
Lowest_Current
}
public enum DPSRotationMode
{
Manual,
Highest_Max,
Lowest_Max,
Highest_Current,
Lowest_Current,
Tank_Target,
Nearest,
Furthest
}
private const string CallbackPrefix = "Questionable$Wrath";
private readonly ILogger<WrathComboModule> _logger;
private readonly Configuration _configuration;
private readonly IObjectTable _objectTable;
private readonly ICallGateSubscriber<object> _test;
private readonly ICallGateSubscriber<string, string, string, Guid?> _registerForLeaseWithCallback;
@ -70,118 +97,472 @@ internal sealed class WrathComboModule : ICombatModule, IDisposable
private readonly ICallGateSubscriber<Guid, ESetResult> _setCurrentJobAutoRotationReady;
private readonly ICallGateSubscriber<uint, List<string>?> _getComboNamesForJob;
private readonly ICallGateSubscriber<Guid, string, bool, bool, ESetResult> _setComboState;
private readonly ICallGateProvider<int, string, object> _callback;
private Guid? _lease;
public WrathComboModule(ILogger<WrathComboModule> logger, Configuration configuration, IDalamudPluginInterface pluginInterface)
[MethodImpl(MethodImplOptions.NoInlining)]
public WrathComboModule(ILogger<WrathComboModule> logger, Configuration configuration, IObjectTable objectTable, IDalamudPluginInterface pluginInterface)
{
_logger = logger;
_configuration = configuration;
_test = pluginInterface.GetIpcSubscriber<object>("WrathCombo.Test");
_registerForLeaseWithCallback = pluginInterface.GetIpcSubscriber<string, string, string, Guid?>("WrathCombo.RegisterForLeaseWithCallback");
_releaseControl = pluginInterface.GetIpcSubscriber<Guid, object>("WrathCombo.ReleaseControl");
_setAutoRotationState = pluginInterface.GetIpcSubscriber<Guid, bool, ESetResult>("WrathCombo.SetAutoRotationState");
_setAutoRotationConfigState = pluginInterface.GetIpcSubscriber<Guid, object, object, ESetResult>("WrathCombo.SetAutoRotationConfigState");
_setCurrentJobAutoRotationReady = pluginInterface.GetIpcSubscriber<Guid, ESetResult>("WrathCombo.SetCurrentJobAutoRotationReady");
_callback = pluginInterface.GetIpcProvider<int, string, object>("Questionable$Wrath.WrathComboCallback");
_objectTable = objectTable;
_test = pluginInterface.GetIpcSubscriber<object>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-881363820));
_registerForLeaseWithCallback = pluginInterface.GetIpcSubscriber<string, string, string, Guid?>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-200781622));
_releaseControl = pluginInterface.GetIpcSubscriber<Guid, object>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(254606733));
_setAutoRotationState = pluginInterface.GetIpcSubscriber<Guid, bool, ESetResult>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1072043349));
_setAutoRotationConfigState = pluginInterface.GetIpcSubscriber<Guid, object, object, ESetResult>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(920538037));
_setCurrentJobAutoRotationReady = pluginInterface.GetIpcSubscriber<Guid, ESetResult>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1662176505));
_getComboNamesForJob = pluginInterface.GetIpcSubscriber<uint, List<string>>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(987268149));
_setComboState = pluginInterface.GetIpcSubscriber<Guid, string, bool, bool, ESetResult>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1902147951));
_callback = pluginInterface.GetIpcProvider<int, string, object>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-437654203));
_callback.RegisterAction(Callback);
}
public bool IsAvailable()
{
int num = ((_configuration.General.CombatModule == Configuration.ECombatModule.WrathCombo) ? (-1348986340) : (-1348986337));
while (true)
{
int num2 = num;
int num3 = -1348986338;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0053;
case 1:
return false;
case 2:
try
{
_test.InvokeAction();
return true;
}
catch (IpcError)
{
return false;
}
}
continue;
IL_0053:
num = -1348986337;
}
}
public bool CanHandleFight(CombatController.CombatData combatData)
{
if (_configuration.General.CombatModule != Configuration.ECombatModule.WrathCombo)
{
return false;
}
try
{
_test.InvokeAction();
return true;
}
catch (IpcError)
{
return false;
}
return IsAvailable();
}
bool ICombatModule.CanHandleFight(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in CanHandleFight
return this.CanHandleFight(combatData);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool Start(CombatController.CombatData combatData)
{
try
{
_lease = _registerForLeaseWithCallback.InvokeFunc("Questionable", "Questionable", "Questionable$Wrath");
if (_lease.HasValue)
_lease = _registerForLeaseWithCallback.InvokeFunc(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-121562455));
int num = ((!_lease.HasValue) ? (-1358981583) : (-1358981584));
while (true)
{
_logger.LogDebug("Wrath combo lease: {Lease}", _lease.Value);
if (!_setAutoRotationState.InvokeFunc(_lease.Value, arg2: true).IsSuccess())
int num2 = num;
int num3 = -1358981583;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
_logger.LogError("Unable to set autorotation state");
case 6:
num = -1358981584;
break;
case 5:
{
ESetResult eSetResult2 = _setCurrentJobAutoRotationReady.InvokeFunc(_lease.Value);
_202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-246523235), new object[1] { eSetResult2 });
num = (eSetResult2.IsSuccess() ? (-1358981581) : (-1358981579));
break;
}
case 1:
{
_202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1086439273), new object[1] { _lease.Value });
ESetResult eSetResult = _setAutoRotationState.InvokeFunc(_lease.Value, arg2: true);
_202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-650979249), new object[1] { eSetResult });
num = (eSetResult.IsSuccess() ? (-1358981580) : (-1358981582));
break;
}
case 4:
_200C_200D_202C_206F_200B_206E_206F_200D_200E_206D_200E_202E_200C_200C_202D_206A_202D_206E_202D_206F_200F_200D_200D_202E_206B_206F_200C_206C_202E_200F_202E_200C_202D_202E_202E_200E_206B_206E_202B_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-831608674), Array.Empty<object>());
Stop();
return false;
}
if (!_setCurrentJobAutoRotationReady.InvokeFunc(_lease.Value).IsSuccess())
{
_logger.LogError("Unable to set current job for autorotation");
case 2:
EnableCombosForCurrentJob();
SetConfig(AutoRotationConfigOption.HealerRotationMode, HealerRotationMode.Lowest_Current);
SetConfig(AutoRotationConfigOption.DPSRotationMode, DPSRotationMode.Manual);
SetConfig(AutoRotationConfigOption.InCombatOnly, 0);
SetConfig(AutoRotationConfigOption.IncludeNPCs, 1);
SetConfig(AutoRotationConfigOption.OnlyAttackInCombat, 0);
SetConfig(AutoRotationConfigOption.AutoCleanse, 1);
SetConfig(AutoRotationConfigOption.AutoRez, 1);
SetConfig(AutoRotationConfigOption.AutoRezDPSJobs, 1);
SetConfig(AutoRotationConfigOption.ManageKardia, 1);
SetConfig(AutoRotationConfigOption.DPSAoETargets, 3);
SetConfig(AutoRotationConfigOption.AutoRezOutOfParty, 0);
SetConfig(AutoRotationConfigOption.DPSAlwaysHardTarget, 1);
SetConfig(AutoRotationConfigOption.BypassQuest, 1);
return true;
case 3:
_200C_200D_202C_206F_200B_206E_206F_200D_200E_206D_200E_202E_200C_200C_202D_206A_202D_206E_202D_206F_200F_200D_200D_202E_206B_206F_200C_206C_202E_200F_202E_200C_202D_202E_202E_200E_206B_206E_202B_202D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-2060892089), Array.Empty<object>());
Stop();
return false;
case 0:
_200C_200D_202C_206F_200B_206E_206F_200D_200E_206D_200E_202E_200C_200C_202D_206A_202D_206E_202D_206F_200F_200D_200D_202E_206B_206F_200C_206C_202E_200F_202E_200C_202D_202E_202E_200E_206B_206E_202B_202D_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1103601186), Array.Empty<object>());
return false;
}
ESetResult eSetResult = _setAutoRotationConfigState.InvokeFunc(_lease.Value, AutoRotationConfigOption.HealerRotationMode, HealerRotationMode.Lowest_Current);
if (!eSetResult.IsSuccess())
{
_logger.LogError("Unable to configure healing priority for autorotation: {Result}", eSetResult);
}
return true;
}
_logger.LogError("Wrath combo did not return a lease");
return false;
}
catch (IpcError exception)
catch (IpcError ipcError)
{
_logger.LogError(exception, "Unable to use wrath combo for combat");
_206B_206A_206C_202C_200F_202D_206B_202C_206F_200D_200B_206A_206E_202E_200B_200F_200E_206C_200C_206B_200D_200D_206E_206F_202D_202B_206A_200D_206A_200F_202C_202C_202E_202E_206C_206B_202C_202C_202A_202D_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1303013100), Array.Empty<object>());
return false;
}
}
bool ICombatModule.Start(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in Start
return this.Start(combatData);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public bool Stop()
{
try
{
if (_lease.HasValue)
int num = ((!_lease.HasValue) ? (-1077439308) : (-1077439305));
while (true)
{
_releaseControl.InvokeAction(_lease.Value);
_lease = null;
int num2 = num;
int num3 = -1077439307;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -1077439305;
break;
case 2:
_releaseControl.InvokeAction(_lease.Value);
_lease = null;
num = -1077439308;
break;
case 1:
return true;
}
}
return true;
}
catch (IpcError exception)
catch (IpcError ipcError)
{
_logger.LogWarning(exception, "Could not turn off wrath combo");
_202C_202C_202C_202B_200E_202C_202B_202B_202D_202C_206F_206C_202C_206C_202E_206F_206C_202D_200F_200B_200D_202D_200E_206E_200D_206E_200E_206B_206D_202D_206C_206E_202D_200E_202C_200D_202D_202D_200D_200C_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1222809597), Array.Empty<object>());
return false;
}
}
bool ICombatModule.Stop()
{
//ILSpy generated this explicit interface implementation from .override directive in Stop
return this.Stop();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Update(IGameObject nextTarget)
{
if (!_lease.HasValue)
int num = (_lease.HasValue ? 1213985662 : 1213985663);
while (true)
{
throw new TaskException("Wrath Combo Lease is cancelled");
int num2 = num;
int num3 = 1213985662;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
return;
case 1:
throw new TaskException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(688347319));
case 2:
goto IL_005e;
}
continue;
IL_005e:
num = 1213985663;
}
}
void ICombatModule.Update(IGameObject nextTarget)
{
//ILSpy generated this explicit interface implementation from .override directive in Update
this.Update(nextTarget);
}
public bool CanAttack(IBattleNpc target)
{
return true;
}
bool ICombatModule.CanAttack(IBattleNpc target)
{
//ILSpy generated this explicit interface implementation from .override directive in CanAttack
return this.CanAttack(target);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void EnableCombosForCurrentJob()
{
int num = (_lease.HasValue ? (-1738503464) : (-1738503461));
uint num7 = default(uint);
string current = default(string);
ESetResult eSetResult = default(ESetResult);
while (true)
{
int num2 = num;
int num3 = -1738503463;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -1738503461;
break;
case 1:
{
IPlayerCharacter playerCharacter = _200C_200E_200F_206E_202E_206F_206E_200B_206F_202E_202B_202C_206D_206F_202A_202D_200C_206A_200B_206A_206D_202E_206D_202E_206F_202B_206E_200B_202C_206F_200D_206D_206B_202A_206B_200D_206E_202B_202D_206F_202E(_objectTable);
num7 = ((playerCharacter != null) ? _200B_202E_206C_200D_202E_200B_202D_202C_200E_202B_202D_206F_202D_200D_206D_206E_206F_200E_206E_200B_200C_202A_206E_200C_206D_200F_206E_206B_200D_202D_206F_202B_206F_200C_206E_206E_206C_206A_202C_202A_202E((ICharacter)playerCharacter).RowId : 0u);
num = ((num7 != 0) ? (-1738503462) : (-1738503459));
break;
}
case 2:
return;
case 4:
return;
case 3:
try
{
List<string> list = _getComboNamesForJob.InvokeFunc(num7);
num = ((list == null) ? 406782414 : 406782415);
while (true)
{
int num8 = num;
num3 = 406782413;
num4 = num8;
int num9 = num4 + num3;
int num10 = num4 & num3;
switch (num9 - (num10 + num10))
{
case 0:
num = 406782415;
break;
case 3:
_200E_202E_206F_200D_206A_200E_206B_202D_200D_200B_200D_206D_200C_200F_206A_200C_202E_202D_202C_206B_202D_200B_206D_202D_200E_206C_206A_206F_200E_202A_206E_202E_202C_206F_206F_202B_200C_200D_206F_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1097438702), new object[1] { num7 });
return;
case 2:
num = ((list.Count != 0) ? 406782412 : 406782414);
break;
case 1:
{
_202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-155886281), new object[3]
{
list.Count,
num7,
_206F_206D_206C_206C_206E_206A_200B_200D_200E_206A_206C_202C_206B_202D_200F_206D_206B_206A_202C_200E_200F_200F_202C_202C_206F_206F_202A_200F_202D_206B_200B_200F_200F_206D_206B_200E_202B_200C_200F_200C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1467939024), (IEnumerable<string>)list)
});
int num11 = 0;
using (List<string>.Enumerator enumerator = list.GetEnumerator())
{
num = 1772577375;
while (true)
{
int num12 = num;
num3 = 1772577374;
num4 = num12;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
_200E_202E_206F_200D_206A_200E_206B_202D_200D_200B_200D_206D_200C_200F_206A_200C_202E_202D_202C_206B_202D_200B_206D_202D_200E_206C_206A_206F_200E_202A_206E_202E_202C_206F_206F_202B_200C_200D_206F_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1020041796), new object[2] { current, eSetResult });
num = 1772577375;
break;
case 3:
current = enumerator.Current;
eSetResult = _setComboState.InvokeFunc(_lease.Value, current, arg3: true, arg4: true);
num = ((!eSetResult.IsSuccess()) ? 1772577370 : 1772577371);
break;
case 0:
num = 1772577375;
break;
case 1:
num = (enumerator.MoveNext() ? 1772577373 : 1772577372);
break;
case 5:
{
int num13 = num11;
num3 = 1;
num4 = num13;
num11 = (num4 | num3) + (num4 & num3);
num = 1772577375;
break;
}
case 2:
goto end_IL_01cd;
}
continue;
end_IL_01cd:
break;
}
}
_202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1723018308), new object[3] { num11, list.Count, num7 });
return;
}
}
}
}
catch (IpcError ipcError)
{
_202C_202C_202C_202B_200E_202C_202B_202B_202D_202C_206F_206C_202C_206C_202E_206F_206C_202D_200F_200B_200D_202D_200E_206E_200D_206E_200E_206B_206D_202D_206C_206E_202D_200E_202C_200D_202D_202D_200D_200C_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-290281876), new object[1] { num7 });
return;
}
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void SetConfig(AutoRotationConfigOption configKey, object value)
{
int num = (_lease.HasValue ? 965536274 : 965536273);
while (true)
{
int num2 = num;
int num3 = 965536272;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0050;
case 1:
return;
case 2:
try
{
ESetResult eSetResult = _setAutoRotationConfigState.InvokeFunc(_lease.Value, configKey, value);
num = (eSetResult.IsSuccess() ? (-646726898) : (-646726899));
while (true)
{
int num7 = num;
num3 = -646726897;
num4 = num7;
int num8 = num4 + num3;
int num9 = num4 & num3;
switch (num8 - (num9 + num9))
{
case 0:
num = -646726899;
break;
case 2:
_200E_202E_206F_200D_206A_200E_206B_202D_200D_200B_200D_206D_200C_200F_206A_200C_202E_202D_202C_206B_202D_200B_206D_202D_200E_206C_206A_206F_200E_202A_206E_202E_202C_206F_206F_202B_200C_200D_206F_206A_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1491997045), new object[3] { configKey, value, eSetResult });
num = -646726898;
break;
case 1:
return;
}
}
}
catch (IpcError ipcError)
{
_202C_202C_202C_202B_200E_202C_202B_202B_202D_202C_206F_206C_202C_206C_202E_206F_206C_202D_200F_200B_200D_202D_200E_206E_200D_206E_200E_206B_206D_202D_206C_206E_202D_200E_202C_200D_202D_202D_200D_200C_202E((ILogger)_logger, (Exception)ipcError, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-931599605), new object[2] { configKey, value });
return;
}
}
continue;
IL_0050:
num = 965536273;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void Callback(int reason, string additionalInfo)
{
_logger.LogWarning("WrathCombo callback: {Reason} ({Info})", reason, additionalInfo);
_200E_202E_206F_200D_206A_200E_206B_202D_200D_200B_200D_206D_200C_200F_206A_200C_202E_202D_202C_206B_202D_200B_206D_202D_200E_206C_206A_206F_200E_202A_206E_202E_202C_206F_206F_202B_200C_200D_206F_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-935286471), new object[2] { reason, additionalInfo });
_lease = null;
}
public void Dispose()
{
Stop();
_callback.UnregisterAction();
_lease = null;
_202C_206B_202E_206B_202D_200E_200F_206C_200E_206D_200C_200B_202B_202D_206E_206A_206C_206B_206F_206A_200D_202E_206D_206D_202C_200D_200E_206E_202C_202A_202B_200B_202B_202E_202B_206F_200D_200F_206F_202E((ICallGateProvider)_callback);
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static void _202C_202A_202B_206B_202B_202D_206B_206D_202A_200D_202C_200F_200F_200B_202B_200E_200B_202D_200D_206A_200D_206C_202E_206E_202C_200D_200E_206B_200F_206E_206E_202C_200E_202E_206B_206D_200C_206B_200C_202B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static void _200C_200D_202C_206F_200B_206E_206F_200D_200E_206D_200E_202E_200C_200C_202D_206A_202D_206E_202D_206F_200F_200D_200D_202E_206B_206F_200C_206C_202E_200F_202E_200C_202D_202E_202E_200E_206B_206E_202B_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogError(P_1, P_2);
}
static void _206B_206A_206C_202C_200F_202D_206B_202C_206F_200D_200B_206A_206E_202E_200B_200F_200E_206C_200C_206B_200D_200D_206E_206F_202D_202B_206A_200D_206A_200F_202C_202C_202E_202E_206C_206B_202C_202C_202A_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
static void _202C_202C_202C_202B_200E_202C_202B_202B_202D_202C_206F_206C_202C_206C_202E_206F_206C_202D_200F_200B_200D_202D_200E_206E_200D_206E_200E_206B_206D_202D_206C_206E_202D_200E_202C_200D_202D_202D_200D_200C_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogWarning(P_1, P_2, P_3);
}
static IPlayerCharacter _200C_200E_200F_206E_202E_206F_206E_200B_206F_202E_202B_202C_206D_206F_202A_202D_200C_206A_200B_206A_206D_202E_206D_202E_206F_202B_206E_200B_202C_206F_200D_206D_206B_202A_206B_200D_206E_202B_202D_206F_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static RowRef<ClassJob> _200B_202E_206C_200D_202E_200B_202D_202C_200E_202B_202D_206F_202D_200D_206D_206E_206F_200E_206E_200B_200C_202A_206E_200C_206D_200F_206E_206B_200D_202D_206F_202B_206F_200C_206E_206E_206C_206A_202C_202A_202E(ICharacter P_0)
{
return P_0.ClassJob;
}
static void _200E_202E_206F_200D_206A_200E_206B_202D_200D_200B_200D_206D_200C_200F_206A_200C_202E_202D_202C_206B_202D_200B_206D_202D_200E_206C_206A_206F_200E_202A_206E_202E_202C_206F_206F_202B_200C_200D_206F_206A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static string _206F_206D_206C_206C_206E_206A_200B_200D_200E_206A_206C_202C_206B_202D_200F_206D_206B_206A_202C_200E_200F_200F_202C_202C_206F_206F_202A_200F_202D_206B_200B_200F_200F_206D_206B_200E_202B_200C_200F_200C_202E(string P_0, IEnumerable<string> P_1)
{
return string.Join(P_0, P_1);
}
static void _202C_206B_202E_206B_202D_200E_200F_206C_200E_206D_200C_200B_202B_202D_206E_206A_206C_206B_206F_206A_200D_202E_206D_206D_202C_200D_200E_206E_202C_202A_202B_200B_202B_202E_202B_206F_200D_200F_206F_202E(ICallGateProvider P_0)
{
P_0.UnregisterAction();
}
}

View file

@ -4,10 +4,31 @@ internal static class WrathResultExtensions
{
public static bool IsSuccess(this WrathComboModule.ESetResult result)
{
if ((uint)result <= 1u)
int num = (((uint)result > 1u) ? 142889615 : 142889612);
bool result2 = default(bool);
while (true)
{
return true;
int num2 = num;
int num3 = 142889614;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 142889612;
break;
case 2:
result2 = true;
num = 142889613;
break;
case 1:
result2 = false;
num = 142889613;
break;
case 3:
return result2;
}
}
return false;
}
}

View file

@ -0,0 +1,54 @@
using System.Runtime.CompilerServices;
using Questionable.Model.Questing;
namespace Questionable.Controller.Conditions;
internal sealed class BeforeDutyCondition : StopCondition
{
public override bool IsSession => false;
public override EStopConditionType Type => EStopConditionType.BeforeDuty;
public override bool Evaluate(StopEvaluationContext context)
{
EInteractionType? upcomingInteractionType = context.UpcomingInteractionType;
int num = ((!upcomingInteractionType.HasValue) ? (-1887031172) : (-1887031170));
bool result = default(bool);
while (true)
{
int num2 = num;
int num3 = -1887031171;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
result = false;
num = -1887031171;
break;
case 4:
result = true;
num = -1887031171;
break;
case 3:
{
EInteractionType valueOrDefault = upcomingInteractionType.GetValueOrDefault();
num = (((uint)(valueOrDefault - 19) > 1u) ? (-1887031172) : (-1887031175));
break;
}
case 0:
return result;
case 2:
num = -1887031170;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string GetDescription()
{
return global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-2024271967);
}
}

View file

@ -0,0 +1,8 @@
namespace Questionable.Controller.Conditions;
internal enum EStopConditionMode
{
Off,
Pause,
Stop
}

View file

@ -0,0 +1,14 @@
namespace Questionable.Controller.Conditions;
internal enum EStopConditionType
{
QuestComplete,
QuestAccept,
Level,
GlobalSequence,
TimePlayed,
InventoryFull,
QuestCount,
BeforeDuty,
GilThreshold
}

View file

@ -0,0 +1,26 @@
using System.Runtime.CompilerServices;
namespace Questionable.Controller.Conditions;
internal sealed class GilThresholdCondition : StopCondition
{
public required int MinGil { get; set; }
public override bool IsSession => false;
public override EStopConditionType Type => EStopConditionType.GilThreshold;
public override bool Evaluate(StopEvaluationContext context)
{
return context.Gil < MinGil;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string GetDescription()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-789256971));
defaultInterpolatedStringHandler.AppendFormatted(MinGil, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1282575127));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
}

View file

@ -0,0 +1,26 @@
using System.Runtime.CompilerServices;
namespace Questionable.Controller.Conditions;
internal sealed class GlobalSequenceCondition : StopCondition
{
public required int TargetSequence { get; set; }
public override bool IsSession => false;
public override EStopConditionType Type => EStopConditionType.GlobalSequence;
public override bool Evaluate(StopEvaluationContext context)
{
return context.CurrentSequence >= TargetSequence;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string GetDescription()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(48652591));
defaultInterpolatedStringHandler.AppendFormatted(TargetSequence);
return defaultInterpolatedStringHandler.ToStringAndClear();
}
}

View file

@ -0,0 +1,21 @@
using System.Runtime.CompilerServices;
namespace Questionable.Controller.Conditions;
internal sealed class InventoryFullCondition : StopCondition
{
public override bool IsSession => false;
public override EStopConditionType Type => EStopConditionType.InventoryFull;
public override bool Evaluate(StopEvaluationContext context)
{
return context.FreeInventorySlots == 0;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string GetDescription()
{
return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(915709300);
}
}

View file

@ -0,0 +1,26 @@
using System.Runtime.CompilerServices;
namespace Questionable.Controller.Conditions;
internal sealed class LevelCondition : StopCondition
{
public required int TargetLevel { get; set; }
public override bool IsSession => false;
public override EStopConditionType Type => EStopConditionType.Level;
public override bool Evaluate(StopEvaluationContext context)
{
return context.PlayerLevel >= TargetLevel;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string GetDescription()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1980344015));
defaultInterpolatedStringHandler.AppendFormatted(TargetLevel);
return defaultInterpolatedStringHandler.ToStringAndClear();
}
}

View file

@ -0,0 +1,45 @@
using System.Runtime.CompilerServices;
using Questionable.Model.Questing;
namespace Questionable.Controller.Conditions;
internal sealed class QuestAcceptCondition : StopCondition
{
private bool _isSession;
public required ElementId QuestId { get; set; }
public override bool IsSession => _isSession;
public override EStopConditionType Type => EStopConditionType.QuestAccept;
public override bool Evaluate(StopEvaluationContext context)
{
return ((QuestAcceptCondition)(object)context.AcceptedQuestId)?._200B_206A_200B_200C_206C_200C_200B_206A_202E_206F_202A_206B_202B_206C_202E_200C_202B_206B_202A_202D_206B_206C_206F_206E_206A_206E_202A_206A_206C_200F_206C_200B_206E_200B_200C_200B_206B_200F_206A_206D_202E(QuestId) ?? false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string GetDescription()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-145606806));
defaultInterpolatedStringHandler.AppendFormatted(QuestId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1158663954));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
public static QuestAcceptCondition CreateSession(ElementId questId)
{
return new QuestAcceptCondition
{
QuestId = questId,
_isSession = true,
Mode = EStopConditionMode.Stop
};
}
bool _200B_206A_200B_200C_206C_200C_200B_206A_202E_206F_202A_206B_202B_206C_202E_200C_202B_206B_202A_202D_206B_206C_206F_206E_206A_206E_202A_206A_206C_200F_206C_200B_206E_200B_200C_200B_206B_200F_206A_206D_202E(ElementId P_0)
{
return ((ElementId)(object)this).Equals(P_0);
}
}

View file

@ -0,0 +1,112 @@
using System.Runtime.CompilerServices;
using Questionable.Model.Questing;
namespace Questionable.Controller.Conditions;
internal sealed class QuestCompleteCondition : StopCondition
{
private bool _isSession;
public required ElementId QuestId { get; set; }
public int? Sequence { get; set; }
public override bool IsSession => _isSession;
public override EStopConditionType Type => EStopConditionType.QuestComplete;
public override bool Evaluate(StopEvaluationContext context)
{
int? sequence = Sequence;
int num = ((!sequence.HasValue) ? 1923712411 : 1923712409);
int valueOrDefault = default(int);
while (true)
{
int num2 = num;
int num3 = 1923712408;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return false;
case 0:
return context.CurrentSequence >= valueOrDefault;
case 1:
{
valueOrDefault = sequence.GetValueOrDefault();
ElementId? currentQuestId = context.CurrentQuestId;
num = (((object)currentQuestId == null || !((QuestCompleteCondition)(object)currentQuestId)._206F_202D_200C_200B_200F_200D_200D_202B_206B_206D_202B_200D_202D_200D_206A_202C_202C_206D_206C_202D_206C_206A_202B_202E_202E_206C_206F_200D_206A_202A_200F_206B_206F_202E_206C_206F_200E_200F_202B_200D_202E(QuestId)) ? 1923712410 : 1923712408);
break;
}
case 4:
num = 1923712409;
break;
case 3:
return ((QuestCompleteCondition)(object)context.CompletedQuestId)?._206F_202D_200C_200B_200F_200D_200D_202B_206B_206D_202B_200D_202D_200D_206A_202C_202C_206D_206C_202D_206C_206A_202B_202E_202E_206C_206F_200D_206A_202A_200F_206B_206F_202E_206C_206F_200E_200F_202B_200D_202E(QuestId) ?? false;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string GetDescription()
{
string text = _206C_202B_200F_200F_206A_206D_200D_206E_202C_202B_202C_206A_206F_200B_206A_206B_200C_202A_206B_200D_206E_202A_206D_206C_200F_202B_202A_206C_206A_202C_206D_202B_206B_202B_202B_206E_206F_206C_200E_202B_202E((object)QuestId);
int? sequence = Sequence;
int num = ((!sequence.HasValue) ? (-1343890336) : (-1343890335));
int valueOrDefault = default(int);
while (true)
{
int num2 = num;
int num3 = -1343890336;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
num = -1343890335;
break;
case 1:
valueOrDefault = sequence.GetValueOrDefault();
num = -1343890334;
break;
case 2:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(19, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(18748268));
defaultInterpolatedStringHandler.AppendFormatted(text);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1980091129));
defaultInterpolatedStringHandler.AppendFormatted(valueOrDefault);
return defaultInterpolatedStringHandler.ToStringAndClear();
}
case 0:
return _202B_202D_206E_206D_202D_206D_202C_206C_206D_206D_200F_206E_206F_206F_202D_200B_202A_202A_202D_206E_202E_200D_200F_206D_200B_202A_206A_200C_206F_206F_206F_202A_202A_200E_202C_202A_206B_200B_202A_200C_202E(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1754422725), text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-729035300));
}
}
}
public static QuestCompleteCondition CreateSession(ElementId questId)
{
return new QuestCompleteCondition
{
QuestId = questId,
_isSession = true,
Mode = EStopConditionMode.Stop
};
}
bool _206F_202D_200C_200B_200F_200D_200D_202B_206B_206D_202B_200D_202D_200D_206A_202C_202C_206D_206C_202D_206C_206A_202B_202E_202E_206C_206F_200D_206A_202A_200F_206B_206F_202E_206C_206F_200E_200F_202B_200D_202E(ElementId P_0)
{
return ((ElementId)(object)this).Equals(P_0);
}
static string _206C_202B_200F_200F_206A_206D_200D_206E_202C_202B_202C_206A_206F_200B_206A_206B_200C_202A_206B_200D_206E_202A_206D_206C_200F_202B_202A_206C_206A_202C_206D_202B_206B_202B_202B_206E_206F_206C_200E_202B_202E(object P_0)
{
return P_0.ToString();
}
static string _202B_202D_206E_206D_202D_206D_202C_206C_206D_206D_200F_206E_206F_206F_202D_200B_202A_202A_202D_206E_202E_200D_200F_206D_200B_202A_206A_200C_206F_206F_206F_202A_202A_200E_202C_202A_206B_200B_202A_200C_202E(string P_0, string P_1, string P_2)
{
return P_0 + P_1 + P_2;
}
}

View file

@ -0,0 +1,26 @@
using System.Runtime.CompilerServices;
namespace Questionable.Controller.Conditions;
internal sealed class QuestCountCondition : StopCondition
{
public required int Count { get; set; }
public override bool IsSession => true;
public override EStopConditionType Type => EStopConditionType.QuestCount;
public override bool Evaluate(StopEvaluationContext context)
{
return context.QuestsCompletedThisSession >= Count;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string GetDescription()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 1);
defaultInterpolatedStringHandler.AppendFormatted(Count);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1579947935));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
}

View file

@ -0,0 +1,17 @@
using Newtonsoft.Json;
namespace Questionable.Controller.Conditions;
[JsonConverter(typeof(StopConditionConverter))]
internal abstract class StopCondition
{
public EStopConditionMode Mode { get; set; } = EStopConditionMode.Stop;
public abstract bool IsSession { get; }
public abstract EStopConditionType Type { get; }
public abstract bool Evaluate(StopEvaluationContext context);
public abstract string GetDescription();
}

View file

@ -0,0 +1,434 @@
using System;
using System.Runtime.CompilerServices;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Questionable.Model.Questing;
namespace Questionable.Controller.Conditions;
internal sealed class StopConditionConverter : JsonConverter<StopCondition>
{
public override StopCondition? ReadJson(JsonReader reader, Type objectType, StopCondition? existingValue, bool hasExistingValue, JsonSerializer serializer)
{
try
{
return ReadJsonCore(reader);
}
catch (Exception)
{
return null;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static StopCondition? ReadJsonCore(JsonReader reader)
{
JObject jObject = _206C_200E_206F_200F_202C_202D_200B_200E_200D_200D_200F_202E_206B_206E_202C_206B_206F_200E_206C_202D_200E_202E_206D_206E_202C_202E_206D_200C_206E_202E_206F_200C_202E_206D_206E_202D_206E_202C_206B_200D_202E(reader);
string text = _200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(52233837))?.Value<string>();
int num = ((text == null) ? (-2010192551) : (-2010192556));
ElementId elementId2 = default(ElementId);
StopCondition stopCondition2 = default(StopCondition);
ElementId elementId = default(ElementId);
StopCondition stopCondition = default(StopCondition);
int? num7 = default(int?);
char c = default(char);
while (true)
{
int num2 = num;
int num3 = -2010192547;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 10:
elementId2 = DeserializeElementId(_200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(795152114)));
num = (((object)elementId2 == null) ? (-2010192551) : (-2010192558));
break;
case 5:
num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1603904649)) ? (-2010192557) : (-2010192562));
break;
case 4:
goto IL_0152;
case 3:
stopCondition2 = new QuestAcceptCondition
{
QuestId = elementId
};
num = -2010192575;
break;
case 28:
stopCondition = stopCondition2;
num = ((stopCondition == null) ? (-2010192572) : (-2010192548));
break;
case 6:
num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(436457362)) ? (-2010192553) : (-2010192563));
break;
case 25:
return stopCondition;
case 14:
elementId = DeserializeElementId(_200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(795152114)));
num = (((object)elementId == null) ? (-2010192551) : (-2010192546));
break;
case 0:
stopCondition2 = new BeforeDutyCondition();
num = -2010192575;
break;
case 19:
num = -2010192551;
break;
case 15:
{
QuestCompleteCondition obj = new QuestCompleteCondition
{
QuestId = elementId2
};
JToken jToken = _200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(5286166));
int? sequence;
if (jToken == null)
{
num7 = null;
sequence = num7;
}
else
{
sequence = jToken.Value<int?>();
}
obj.Sequence = sequence;
stopCondition2 = obj;
num = -2010192575;
break;
}
case 2:
goto IL_026d;
case 31:
stopCondition2 = new GilThresholdCondition
{
MinGil = (_200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1170513832))?.Value<int>() ?? 1000)
};
num = -2010192575;
break;
case 7:
num = -2010192551;
break;
case 29:
num = -2010192551;
break;
case 24:
goto IL_02f2;
case 22:
num = -2010192551;
break;
case 9:
{
int num8 = _206F_202A_200E_206F_206E_206C_206D_206A_202D_202B_202B_206C_206B_206B_202B_200C_200F_200C_202D_202E_206B_206E_200B_200D_202C_206E_206C_202A_202D_200E_206F_202C_200D_206E_202A_202D_202B_200C_206D_206A_202E(text);
num3 = 5;
num4 = num8;
switch (~(~num4 + num3))
{
case 6:
break;
case 1:
case 2:
case 3:
case 4:
goto IL_0152;
case 5:
goto IL_026d;
case 9:
goto IL_02f2;
default:
goto IL_0370;
case 7:
goto IL_0394;
case 8:
goto IL_03e3;
case 0:
goto IL_04e6;
}
goto case 5;
}
case 23:
num = -2010192556;
break;
case 11:
num = -2010192551;
break;
case 20:
goto IL_0394;
case 17:
num = ((c != 'Q') ? (-2010192551) : (-2010192549));
break;
case 32:
goto IL_03e3;
case 16:
num = -2010192551;
break;
case 26:
stopCondition2 = new LevelCondition
{
TargetLevel = (_200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(133157427))?.Value<int>() ?? 50)
};
num = -2010192575;
break;
case 12:
num = -2010192551;
break;
case 8:
stopCondition2 = new GlobalSequenceCondition
{
TargetSequence = (_200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1825719736))?.Value<int>() ?? 1)
};
num = -2010192575;
break;
case 30:
num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-17723474)) ? (-2010192570) : (-2010192565));
break;
case 18:
{
int valueOrDefault = num7.GetValueOrDefault();
stopCondition.Mode = (EStopConditionMode)valueOrDefault;
num = -2010192572;
break;
}
case 21:
goto IL_04e6;
case 27:
stopCondition2 = new InventoryFullCondition();
num = -2010192575;
break;
case 1:
num7 = _200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(jObject, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-672065767))?.Value<int>();
num = ((!num7.HasValue) ? (-2010192572) : (-2010192561));
break;
case 13:
{
num = -2010192551;
break;
}
IL_0394:
num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1252232514)) ? (-2010192574) : (-2010192576));
break;
IL_0370:
num = -2010192559;
break;
IL_02f2:
num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1543657704)) ? (-2010192555) : (-2010192550));
break;
IL_026d:
num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(512682232)) ? (-2010192547) : (-2010192560));
break;
IL_04e6:
num = (_206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(text, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1372234188)) ? (-2010192569) : (-2010192554));
break;
IL_03e3:
c = _206D_206F_202A_202E_202A_200F_206C_202D_202E_200D_200F_206B_206C_206C_200C_202E_200B_202A_202C_206A_202C_200F_200B_206F_206C_206A_200D_200C_206C_200D_206E_200F_206E_206E_202D_206A_206D_200C_202C_202A_202E(text, 0);
num = ((c == 'I') ? (-2010192573) : (-2010192564));
break;
IL_0152:
stopCondition2 = null;
num = -2010192575;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override void WriteJson(JsonWriter writer, StopCondition? value, JsonSerializer serializer)
{
int num = ((value == null) ? (-588005033) : (-588005040));
JObject jObject = default(JObject);
QuestCompleteCondition questCompleteCondition = default(QuestCompleteCondition);
LevelCondition levelCondition = default(LevelCondition);
QuestAcceptCondition questAcceptCondition = default(QuestAcceptCondition);
GlobalSequenceCondition globalSequenceCondition = default(GlobalSequenceCondition);
GilThresholdCondition gilThresholdCondition = default(GilThresholdCondition);
while (true)
{
int num2 = num;
int num3 = -588005025;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = -588005040;
break;
case 11:
_202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1722090064), _206B_202A_206F_200D_202E_202A_202B_200B_202D_206A_206B_200B_206A_202A_202C_206C_206C_200B_206E_202D_200D_202C_200F_206C_206F_206B_206A_206E_206C_206A_200C_202E_202E_206B_202A_206A_206D_202D_202D_206F_202E(_200D_206A_206B_206D_206B_202D_202B_206F_206C_200F_202D_200C_202B_202A_200B_206E_206F_200B_206B_206C_206D_200D_200D_206F_206C_206F_200E_200B_200C_202E_206D_206D_200E_202B_202D_202C_200B_200C_206C_202E((object)questCompleteCondition.QuestId)));
num = ((!questCompleteCondition.Sequence.HasValue) ? (-588005027) : (-588005032));
break;
case 13:
_202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1235586580), _202C_200E_202B_206A_202B_206A_206E_206E_202C_200E_202C_202A_206A_206C_206F_202A_200E_202D_200C_200E_200D_202C_206F_202D_206A_202C_200F_200B_202C_202E_200D_202A_202B_206D_206D_202B_202E_200F_202D_200E_202E(levelCondition.TargetLevel));
num = -588005027;
break;
case 6:
questAcceptCondition = value as QuestAcceptCondition;
num = ((questAcceptCondition != null) ? (-588005030) : (-588005037));
break;
case 9:
globalSequenceCondition = value as GlobalSequenceCondition;
num = ((globalSequenceCondition != null) ? (-588005028) : (-588005026));
break;
case 5:
_202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(764363779), _206B_202A_206F_200D_202E_202A_202B_200B_202D_206A_206B_200B_206A_202A_202C_206C_206C_200B_206E_202D_200D_202C_200F_206C_206F_206B_206A_206E_206C_206A_200C_202E_202E_206B_202A_206A_206D_202D_202D_206F_202E(_200D_206A_206B_206D_206B_202D_202B_206F_206C_200F_202D_200C_202B_202A_200B_206E_206F_200B_206B_206C_206D_200D_200D_206F_206C_206F_200E_200B_200C_202E_206D_206D_200E_202B_202D_202C_200B_200C_206C_202E((object)questAcceptCondition.QuestId)));
num = -588005027;
break;
case 14:
{
JObject jObject2 = _202A_202B_202E_206A_202D_200C_206E_200C_202E_200B_206E_206A_206E_206C_206D_206A_206B_200D_206B_202B_202D_202A_202D_202D_206B_206A_202D_202B_206D_202B_206D_202A_202D_202E_202E_200E_202D_200D_202E_206A_202E();
_202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject2, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1591043485), _206B_202A_206F_200D_202E_202A_202B_200B_202D_206A_206B_200B_206A_202A_202C_206C_206C_200B_206E_202D_200D_202C_200F_206C_206F_206B_206A_206E_206C_206A_200C_202E_202E_206B_202A_206A_206D_202D_202D_206F_202E(value.Type.ToString()));
_202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject2, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1945719235), _202C_200E_202B_206A_202B_206A_206E_206E_202C_200E_202C_202A_206A_206C_206F_202A_200E_202D_200C_200E_200D_202C_206F_202D_206A_202C_200F_200B_202C_202E_200D_202A_202B_206D_206D_202B_202E_200F_202D_200E_202E((int)value.Mode));
jObject = jObject2;
questCompleteCondition = value as QuestCompleteCondition;
num = ((questCompleteCondition != null) ? (-588005036) : (-588005031));
break;
}
case 7:
_202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-5124988), _202E_206B_200F_202D_202A_200B_202C_202B_200E_202E_206D_202A_206E_206A_206E_206A_206D_206B_206E_206E_200F_206E_206F_202B_202C_206D_202D_206B_206E_202A_202A_206F_206E_202B_200D_200B_202D_206F_202A_202E_202E(questCompleteCondition.Sequence));
num = -588005027;
break;
case 1:
gilThresholdCondition = value as GilThresholdCondition;
num = ((gilThresholdCondition != null) ? (-588005035) : (-588005029));
break;
case 10:
_202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-51044274), _202C_200E_202B_206A_202B_206A_206E_206E_202C_200E_202C_202A_206A_206C_206F_202A_200E_202D_200C_200E_200D_202C_206F_202D_206A_202C_200F_200B_202C_202E_200D_202A_202B_206D_206D_202B_202E_200F_202D_200E_202E(gilThresholdCondition.MinGil));
num = -588005027;
break;
case 12:
levelCondition = value as LevelCondition;
num = ((levelCondition != null) ? (-588005038) : (-588005034));
break;
case 8:
_202B_206F_206B_202D_200F_202E_206B_206E_202C_202A_202B_200E_202B_206F_202D_206B_206A_200E_206E_206A_202A_202B_202C_202C_200D_206B_200B_206A_200D_206E_202C_206C_200B_202D_206C_200E_200E_206F_200D_202D_202E(writer);
return;
case 4:
num = -588005027;
break;
case 2:
_200F_206E_200B_206B_200B_200F_200B_200F_206F_206A_206D_200F_206F_202A_202E_202B_202C_202B_206B_200E_200B_206F_202D_200B_206E_206A_206C_200B_200E_202A_202A_200D_202E_206B_200B_206B_200E_206F_200B_200F_202E((JToken)jObject, writer);
return;
case 3:
_202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(jObject, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-512840921), _202C_200E_202B_206A_202B_206A_206E_206E_202C_200E_202C_202A_206A_206C_206F_202A_200E_202D_200C_200E_200D_202C_206F_202D_206A_202C_200F_200B_202C_202E_200D_202A_202B_206D_206D_202B_202E_200F_202D_200E_202E(globalSequenceCondition.TargetSequence));
num = -588005027;
break;
case 15:
num = ((!value.IsSession) ? (-588005039) : (-588005033));
break;
}
}
}
private static ElementId? DeserializeElementId(JToken? token)
{
int num = ((token != null) ? (-620565956) : (-620565958));
ElementId result = default(ElementId);
string text = default(string);
while (true)
{
int num2 = num;
int num3 = -620565956;
int num4 = num2;
object obj;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
num = -620565958;
break;
case 2:
return null;
case 1:
return result;
case 0:
obj = token.Value<string>();
goto IL_0069;
case 4:
num = (_200C_202C_200F_202B_202B_206A_200C_202B_206A_202D_202B_206B_202B_202D_202D_202C_200C_206F_202D_206D_202B_202B_202E_200F_202E_202A_206F_206A_202B_200C_202E_202A_206C_202D_206C_206F_206F_202E_206E_202D_202E(text, ref result) ? (-620565955) : (-620565954));
break;
case 5:
return null;
case 6:
{
obj = null;
goto IL_0069;
}
IL_0069:
text = (string)obj;
num = ((text != null) ? (-620565960) : (-620565959));
break;
}
}
}
static JObject _206C_200E_206F_200F_202C_202D_200B_200E_200D_200D_200F_202E_206B_206E_202C_206B_206F_200E_206C_202D_200E_202E_206D_206E_202C_202E_206D_200C_206E_202E_206F_200C_202E_206D_206E_202D_206E_202C_206B_200D_202E(JsonReader P_0)
{
return JObject.Load(P_0);
}
static JToken _200F_202B_202C_206A_206F_200F_206B_202C_200C_202C_200B_202B_200E_206C_200F_200D_200E_206D_202D_206C_206B_200D_200B_202E_200B_200F_202E_202B_206E_206D_206D_202C_202D_206B_206E_206A_200B_206C_206E_202E_202E(JObject P_0, string P_1)
{
return P_0[P_1];
}
static int _206F_202A_200E_206F_206E_206C_206D_206A_202D_202B_202B_206C_206B_206B_202B_200C_200F_200C_202D_202E_206B_206E_200B_200D_202C_206E_206C_202A_202D_200E_206F_202C_200D_206E_202A_202D_202B_200C_206D_206A_202E(string P_0)
{
return P_0.Length;
}
static char _206D_206F_202A_202E_202A_200F_206C_202D_202E_200D_200F_206B_206C_206C_200C_202E_200B_202A_202C_206A_202C_200F_200B_206F_206C_206A_200D_200C_206C_200D_206E_200F_206E_206E_202D_206A_206D_200C_202C_202A_202E(string P_0, int P_1)
{
return P_0[P_1];
}
static bool _206A_206B_206D_206E_206B_202D_200F_202C_200C_202B_206A_200C_206F_202B_206F_206F_200E_200F_202C_206A_200E_202A_200B_202B_202A_206D_206E_200C_200B_206F_200D_206F_202D_202D_200E_200F_200E_202E_200D_206A_202E(string P_0, string P_1)
{
return P_0 == P_1;
}
static void _202B_206F_206B_202D_200F_202E_206B_206E_202C_202A_202B_200E_202B_206F_202D_206B_206A_200E_206E_206A_202A_202B_202C_202C_200D_206B_200B_206A_200D_206E_202C_206C_200B_202D_206C_200E_200E_206F_200D_202D_202E(JsonWriter P_0)
{
P_0.WriteNull();
}
static JObject _202A_202B_202E_206A_202D_200C_206E_200C_202E_200B_206E_206A_206E_206C_206D_206A_206B_200D_206B_202B_202D_202A_202D_202D_206B_206A_202D_202B_206D_202B_206D_202A_202D_202E_202E_200E_202D_200D_202E_206A_202E()
{
return new JObject();
}
static JToken _206B_202A_206F_200D_202E_202A_202B_200B_202D_206A_206B_200B_206A_202A_202C_206C_206C_200B_206E_202D_200D_202C_200F_206C_206F_206B_206A_206E_206C_206A_200C_202E_202E_206B_202A_206A_206D_202D_202D_206F_202E(string P_0)
{
return P_0;
}
static void _202C_200D_202D_206A_200C_200F_206B_202B_206F_200D_200D_200C_202E_200E_206E_206F_202B_202E_200F_202E_202E_200D_202C_202C_206C_206B_202C_202B_206A_200D_206C_206F_202C_202D_206A_206A_206D_200E_202C_202E(JObject P_0, string P_1, JToken P_2)
{
P_0[P_1] = P_2;
}
static JToken _202C_200E_202B_206A_202B_206A_206E_206E_202C_200E_202C_202A_206A_206C_206F_202A_200E_202D_200C_200E_200D_202C_206F_202D_206A_202C_200F_200B_202C_202E_200D_202A_202B_206D_206D_202B_202E_200F_202D_200E_202E(int P_0)
{
return P_0;
}
static string _200D_206A_206B_206D_206B_202D_202B_206F_206C_200F_202D_200C_202B_202A_200B_206E_206F_200B_206B_206C_206D_200D_200D_206F_206C_206F_200E_200B_200C_202E_206D_206D_200E_202B_202D_202C_200B_200C_206C_202E(object P_0)
{
return P_0.ToString();
}
static JToken _202E_206B_200F_202D_202A_200B_202C_202B_200E_202E_206D_202A_206E_206A_206E_206A_206D_206B_206E_206E_200F_206E_206F_202B_202C_206D_202D_206B_206E_202A_202A_206F_206E_202B_200D_200B_202D_206F_202A_202E_202E(int? P_0)
{
return P_0;
}
static void _200F_206E_200B_206B_200B_200F_200B_200F_206F_206A_206D_200F_206F_202A_202E_202B_202C_202B_206B_200E_200B_206F_202D_200B_206E_206A_206C_200B_200E_202A_202A_200D_202E_206B_200B_206B_200E_206F_200B_200F_202E(JToken P_0, JsonWriter P_1)
{
P_0.WriteTo(P_1);
}
static bool _200C_202C_200F_202B_202B_206A_200C_202B_206A_202D_202B_206B_202B_202D_202D_202C_200C_206F_202D_206D_202B_202B_202E_200F_202E_202A_206F_206A_202B_200C_202E_202A_206C_202D_206C_206F_206F_202E_206E_202D_202E(string P_0, ref ElementId P_1)
{
return ElementId.TryFromString(P_0, out P_1);
}
}

View file

@ -0,0 +1,27 @@
using System;
using Questionable.Model.Questing;
namespace Questionable.Controller.Conditions;
internal readonly struct StopEvaluationContext
{
public required int PlayerLevel { get; init; }
public required ElementId? CurrentQuestId { get; init; }
public required int CurrentSequence { get; init; }
public required ElementId? CompletedQuestId { get; init; }
public required ElementId? AcceptedQuestId { get; init; }
public required int Gil { get; init; }
public required int FreeInventorySlots { get; init; }
public required TimeSpan ElapsedSinceStart { get; init; }
public required int QuestsCompletedThisSession { get; init; }
public required EInteractionType? UpcomingInteractionType { get; init; }
}

View file

@ -0,0 +1,27 @@
using System;
using System.Runtime.CompilerServices;
namespace Questionable.Controller.Conditions;
internal sealed class TimePlayedCondition : StopCondition
{
public required int Minutes { get; set; }
public override bool IsSession => true;
public override EStopConditionType Type => EStopConditionType.TimePlayed;
public override bool Evaluate(StopEvaluationContext context)
{
return context.ElapsedSinceStart >= TimeSpan.FromMinutes(Minutes);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string GetDescription()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 1);
defaultInterpolatedStringHandler.AppendFormatted(Minutes);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-470345411));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
}

View file

@ -0,0 +1,603 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.System.Framework;
using FFXIVClientStructs.FFXIV.Common.Component.BGCollision;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps;
using Questionable.External;
using Questionable.Functions;
using Questionable.Model;
namespace Questionable.Controller.CustomDelivery;
internal sealed class DeliveryNpcApproachExecutor(NavmeshIpc navmeshIpc, MovementController movementController, GameFunctions gameFunctions, IObjectTable objectTable, IClientState clientState, ILogger<DeliveryNpcApproachExecutor> logger) : TaskExecutor<DeliveryNpcApproachTask>(), IStoppableTaskExecutor, ITaskExecutor, IDisposable
{
private readonly List<Vector3> _candidates = new List<Vector3>();
private CancellationTokenSource? _cancellationTokenSource;
private Task<NavPathfindResult>? _pathfindTask;
private int _candidateIndex;
private bool _moving;
private float _interactionDistance;
private Vector3 _npcPosition;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_candidates.Clear();
_candidateIndex = 0;
_moving = false;
_pathfindTask = null;
_cancellationTokenSource = _202C_206C_202B_200E_200E_206D_202D_202C_200E_206F_206A_202B_202B_202A_206B_206A_206E_206B_200E_200F_206A_206B_200B_200D_206A_206D_200E_206C_200D_202D_202E_202B_202B_202A_200F_200F_200D_200F_202A_202A_202E(TimeSpan.FromSeconds(30L));
IPlayerCharacter playerCharacter = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable);
IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.NpcDataId, null, warnIfMissing: false);
_npcPosition = ((gameObject != null) ? _200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E(gameObject) : base.Task.NpcPosition);
_interactionDistance = 3f + ((gameObject != null) ? _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E(gameObject) : 0f) + ((playerCharacter != null) ? _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E((IGameObject)playerCharacter) : 0f);
int num = ((playerCharacter == null) ? (-965250056) : (-965250059));
int num5 = default(int);
Vector3? pointOnFloor = default(Vector3?);
float num6 = default(float);
float num7 = default(float);
while (true)
{
int num2 = num;
int num3 = -965250056;
int num4 = num2;
int num14;
int num15;
float num16;
Vector3 position;
switch ((num4 | num3) - (num4 & num3))
{
case 7:
_202A_200F_206B_200E_200D_206D_206F_206F_200D_206A_206A_202C_206C_206A_202C_206F_206A_202D_200B_206E_206D_202D_202C_206E_202E_200E_200B_206E_202B_206D_202E_200B_200D_206B_206E_206D_206E_200B_206B_202D_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(90792700), new object[3]
{
_candidates.Count,
base.Task.NpcDataId,
_interactionDistance
});
StartNextPathfind();
return true;
case 12:
num = ((num5 == 0) ? (-965250052) : (-965250055));
break;
case 4:
num14 = 0;
goto IL_01a9;
case 9:
num = ((!(Vector2.Distance(new Vector2(pointOnFloor.Value.X, pointOnFloor.Value.Z), new Vector2(_npcPosition.X, _npcPosition.Z)) <= _interactionDistance)) ? (-965250064) : (-965250051));
break;
case 13:
num = ((_200C_202B_200C_206A_206D_206A_202E_202B_206A_200F_200F_200F_202A_206F_206D_202B_200B_202C_200F_200D_206B_206D_200B_202E_202A_202A_202C_200C_206F_202E_200C_200F_202B_200D_200D_202C_202E_202E_200D_206A_202E(clientState) == base.Task.TerritoryId) ? (-965250054) : (-965250056));
break;
case 5:
num = ((!HasLineOfSight(pointOnFloor.Value, _npcPosition)) ? (-965250064) : (-965250061));
break;
case 0:
return true;
case 1:
{
int num11 = num5;
num3 = 1;
num4 = num11;
int num12 = num4 ^ num3;
int num13 = num4 & num3;
num14 = (num12 + (num13 + num13)) / 2 * ((num5 % 2 == 1) ? 1 : (-1));
goto IL_01a9;
}
case 10:
num = ((num5 < 24) ? (-965250060) : (-965250049));
break;
case 8:
{
int num8 = num5;
num3 = 1;
num4 = num8;
int num9 = num4 ^ num3;
int num10 = num4 & num3;
num5 = num9 + (num10 + num10);
num = -965250062;
break;
}
case 3:
num = -965250059;
break;
case 2:
num6 = _200E_200F_200D_206C_206A_202C_206B_206F_202B_202C_200E_200D_206A_200E_206D_200B_200B_202A_206E_202A_202D_202E_206B_200C_200B_206A_200B_200C_206E_200B_200D_206D_200C_202B_206F_200F_200B_202B_200C_200E_202E(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter).X - _npcPosition.X, _200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter).Z - _npcPosition.Z);
num7 = _202B_200F_200E_206C_200E_206B_202C_202D_200B_200C_202A_206C_200F_200B_200D_200C_200B_206E_206D_202C_202D_200E_200D_202C_202A_206F_200B_200C_202B_206E_200B_202B_200F_206B_206A_200B_206E_202A_206D_206F_202E(1f, _interactionDistance - 0.5f);
num5 = 0;
num = -965250062;
break;
case 11:
num = ((!HasBodyClearance(pointOnFloor.Value, _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E((IGameObject)playerCharacter) + 0.5f)) ? (-965250064) : (-965250050));
break;
case 6:
{
_candidates.Add(pointOnFloor.Value);
num = -965250064;
break;
}
IL_01a9:
num15 = num14;
num16 = num6 + MathF.PI * 2f * (float)num15 / 24f;
position = new Vector3(_npcPosition.X + _202B_202D_206B_200B_200B_200B_202A_206A_202B_206F_202B_206F_206F_206D_206B_200C_206D_202A_206B_202D_200C_206B_206C_206F_206D_206B_202E_202A_202D_206A_206E_206F_200D_202C_200F_202A_206F_200D_206A_202E_202E(num16) * num7, _npcPosition.Y + 5f, _npcPosition.Z + _200B_202E_202E_206A_202B_202B_202A_200E_206A_202E_202D_200B_200C_202D_202D_202E_202C_200C_206C_200E_200F_206D_200D_200B_200C_202A_200B_206E_206E_202C_202D_202A_200B_202C_206C_206C_202C_202E_206D_202E_202E(num16) * num7);
pointOnFloor = navmeshIpc.GetPointOnFloor(position, unlandable: false, 0.75f);
num = ((!pointOnFloor.HasValue) ? (-965250064) : (-965250063));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
int num = ((!_moving) ? (-1907182923) : (-1907182931));
Vector3 vector = default(Vector3);
NavPathfindResult result = default(NavPathfindResult);
IPlayerCharacter playerCharacter = default(IPlayerCharacter);
float num6 = default(float);
IPlayerCharacter playerCharacter2 = default(IPlayerCharacter);
while (true)
{
int num2 = num;
int num3 = -1907182938;
int num4 = num2;
float num5;
switch ((num4 | num3) - (num4 & num3))
{
case 17:
{
List<Vector3> candidates = _candidates;
int candidateIndex = _candidateIndex;
num3 = 1;
num4 = candidateIndex;
vector = candidates[~(~num4 + num3)];
result = _pathfindTask.Result;
num = (result.HasPartialInfo ? (-1907182936) : (-1907182924));
break;
}
case 16:
num = ((_candidateIndex < _candidates.Count) ? (-1907182927) : (-1907182930));
break;
case 19:
num = ((_pathfindTask != null) ? (-1907182940) : (-1907182922));
break;
case 8:
throw new MovementController.PathfindingFailedException(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1585195763));
case 6:
num = ((!movementController.IsPathRunning) ? (-1907182925) : (-1907182941));
break;
case 29:
num = ((!_202C_202E_202A_200B_206B_200F_200F_206E_202A_206B_202A_206A_202C_202A_200C_206A_202A_200C_200D_200C_202A_206E_206A_200D_206C_206E_206C_202C_202C_206E_206C_200D_202A_206D_202C_206A_202D_202C_202C_200E_202E((System.Threading.Tasks.Task)_pathfindTask)) ? (-1907182937) : (-1907182928));
break;
case 7:
_202A_200F_206B_200E_200D_206D_206F_206F_200D_206A_206A_202C_206C_206A_202C_206F_206A_202D_200B_206E_206D_202D_202C_206E_202E_200E_200B_206E_202B_206D_202E_200B_200D_206B_206E_206D_206E_200B_206B_202D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(190605907), new object[1] { vector });
movementController.NavigateTo(EMovementType.Quest, base.Task.NpcDataId, result.Waypoints, fly: false, sprint: true, 0.5f);
_moving = true;
return ETaskResult.StillRunning;
case 24:
num = (result.IsPartial ? (-1907182929) : (-1907182933));
break;
case 20:
throw new MovementController.PathfindingFailedException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1442579003));
case 2:
num = (_200F_200F_202B_206F_206E_202E_206A_206B_202B_200D_200F_200F_202A_206E_206A_200F_200E_200D_206B_202E_206E_206D_206B_202E_206C_200C_200E_202B_202E_200B_200F_202D_200B_200E_200E_206B_202B_200C_206E_206D_202E((System.Threading.Tasks.Task)_pathfindTask) ? (-1907182917) : (-1907182913));
break;
case 22:
throw new MovementController.PathfindingFailedException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(688174064));
case 27:
num = ((playerCharacter == null) ? (-1907182929) : (-1907182942));
break;
case 14:
num5 = result.EndDistance;
goto IL_02ae;
case 23:
StartNextPathfind();
return ETaskResult.StillRunning;
case 11:
num = (movementController.IsPathfinding ? (-1907182941) : (-1907182944));
break;
case 1:
num = ((!_202E_202B_206F_200E_200D_206D_206B_206F_206B_200B_206F_206F_200D_200D_200C_200F_200C_206F_200D_200B_200C_202D_206D_202D_206A_200D_206D_206B_206E_202E_206C_202C_206B_202E_200E_200F_202E_200D_206F_206B_202E((System.Threading.Tasks.Task)_pathfindTask)) ? (-1907182921) : (-1907182939));
break;
case 0:
num = -1907182931;
break;
case 12:
num = ((!result.HasPartialInfo) ? (-1907182933) : (-1907182914));
break;
case 13:
num = ((!(num6 <= 1f)) ? (-1907182929) : (-1907182915));
break;
case 15:
{
List<Vector3> waypoints = result.Waypoints;
num5 = Vector3.Distance(waypoints[waypoints.Count - 1], vector);
goto IL_02ae;
}
case 21:
playerCharacter2 = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable);
num = ((playerCharacter2 == null) ? (-1907182926) : (-1907182918));
break;
case 3:
_200E_206D_206E_206A_200C_202B_206B_202D_206B_200C_200D_202C_206A_206B_200F_206C_200D_200F_206B_202B_206E_202E_206B_202A_200C_206F_206A_206D_200E_200F_202D_202E_206E_206B_202D_200B_202C_202D_202B_200E_202E((ILogger)logger, (Exception)_206B_206A_200F_206E_202E_206D_200C_202A_200E_202A_202A_206F_206C_200B_202C_202E_206A_202C_202B_200D_200C_206D_200E_202C_206E_202B_206B_202C_202E_200C_200D_206E_206A_200D_200E_206B_200E_202A_206D_200D_202E((System.Threading.Tasks.Task)_pathfindTask), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1595020908), Array.Empty<object>());
_pathfindTask = null;
return ETaskResult.StillRunning;
case 28:
num = ((!(Vector3.Distance(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter2), _npcPosition) <= _interactionDistance + 0.5f)) ? (-1907182926) : (-1907182916));
break;
case 25:
return ETaskResult.StillRunning;
case 26:
return ETaskResult.TaskComplete;
case 18:
num = ((result.Waypoints.Count > 0) ? (-1907182935) : (-1907182932));
break;
case 10:
num5 = float.MaxValue;
goto IL_02ae;
case 9:
_pathfindTask = null;
return ETaskResult.StillRunning;
case 4:
num = ((!HasCollisionFreePath(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter), result.Waypoints)) ? (-1907182929) : (-1907182943));
break;
case 5:
{
return ETaskResult.StillRunning;
}
IL_02ae:
num6 = num5;
playerCharacter = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable);
num = ((result.Waypoints.Count <= 0) ? (-1907182929) : (-1907182934));
break;
}
}
}
private void StartNextPathfind()
{
IPlayerCharacter playerCharacter = _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(objectTable);
int num = ((playerCharacter == null) ? 461991521 : 461991527);
while (true)
{
int num2 = num;
int num3 = 461991523;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
num = ((_cancellationTokenSource != null) ? 461991520 : 461991521);
break;
case 4:
num = ((_candidateIndex >= _candidates.Count) ? 461991521 : 461991522);
break;
case 2:
return;
case 0:
num = 461991527;
break;
case 3:
{
List<Vector3> candidates = _candidates;
int candidateIndex = _candidateIndex;
num3 = 1;
num4 = candidateIndex;
int num5 = num4 ^ num3;
int num6 = num4 & num3;
_candidateIndex = num5 + (num6 + num6);
Vector3 targetPosition = candidates[candidateIndex];
_pathfindTask = navmeshIpc.Pathfind(_200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E((IGameObject)playerCharacter), targetPosition, fly: false, _202E_206E_200F_206F_200D_200C_206D_202A_200C_200D_202C_200F_202D_206F_206D_206F_206E_200D_206E_202C_200C_206E_200C_206F_206B_206B_200D_200C_200F_200D_202E_206E_202A_206F_202D_202C_206D_200C_206F_200D_202E(_cancellationTokenSource));
return;
}
}
}
}
private static bool HasLineOfSight(Vector3 from, Vector3 to)
{
return HasLineOfSightAtHeight(from, to, 2f);
}
private static bool HasBodyClearance(Vector3 position, float radius)
{
int num = 0;
int num2 = 883120263;
while (true)
{
int num3 = num2;
int num4 = 883120261;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 4:
num2 = 883120263;
break;
case 0:
return false;
case 1:
return true;
case 2:
num2 = ((num < 8) ? 883120262 : 883120260);
break;
case 5:
{
int num9 = num;
num4 = 1;
num5 = num9;
num = (num5 | num4) + (num5 & num4);
num2 = 883120263;
break;
}
case 3:
{
float num8 = MathF.PI * 2f * (float)num / 8f;
num2 = (HasLineOfSightAtHeight(to: new Vector3(position.X + _202B_202D_206B_200B_200B_200B_202A_206A_202B_206F_202B_206F_206F_206D_206B_200C_206D_202A_206B_202D_200C_206B_206C_206F_206D_206B_202E_202A_202D_206A_206E_206F_200D_202C_200F_202A_206F_200D_206A_202E_202E(num8) * radius, position.Y, position.Z + _200B_202E_202E_206A_202B_202B_202A_200E_206A_202E_202D_200B_200C_202D_202D_202E_202C_200C_206C_200E_200F_206D_200D_200B_200C_202A_200B_206E_206E_202C_202D_202A_200B_202C_206C_206C_202C_202E_206D_202E_202E(num8) * radius), from: position, height: 1f) ? 883120256 : 883120261);
break;
}
}
}
}
private static bool HasCollisionFreePath(Vector3 start, IReadOnlyList<Vector3> waypoints)
{
Vector3 vector = start;
IEnumerator<Vector3> enumerator = waypoints.GetEnumerator();
try
{
int num = -1337017310;
Vector3 current = default(Vector3);
while (true)
{
int num2 = num;
int num3 = -1337017311;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
num = -1337017310;
break;
case 4:
return false;
case 1:
current = enumerator.Current;
num = ((!HasLineOfSightAtHeight(vector, current, 0.75f)) ? (-1337017307) : (-1337017309));
break;
case 2:
num = (HasLineOfSightAtHeight(vector, current, 1.5f) ? (-1337017311) : (-1337017307));
break;
case 3:
num = (_206D_202B_202E_200E_202C_206A_200E_200B_206E_202E_206F_206A_200C_206D_200B_206E_200F_202D_202C_206D_200D_206F_202A_200C_206D_200B_202E_200D_206A_206B_202D_202A_202A_206F_202D_200C_202C_206A_200B_200D_202E((IEnumerator)enumerator) ? (-1337017312) : (-1337017308));
break;
case 0:
vector = current;
num = -1337017310;
break;
case 5:
goto end_IL_0015;
}
continue;
end_IL_0015:
break;
}
}
finally
{
int num = ((enumerator == null) ? (-1236481576) : (-1236481575));
while (true)
{
int num5 = num;
int num3 = -1236481576;
int num4 = num5;
int num6 = num4 + num3;
int num7 = num4 & num3;
switch (num6 - (num7 + num7))
{
case 2:
num = -1236481575;
break;
case 0:
goto end_IL_011d;
case 1:
_200F_200B_206B_200E_202D_202A_202C_200F_202B_206E_200D_200B_206D_206C_202C_206F_202D_200C_206F_202D_202A_202D_206F_202E_206B_206F_200B_202D_200B_200D_200E_202A_200F_200E_200E_200E_200F_206F_206E_206E_202E((IDisposable)enumerator);
num = -1236481576;
break;
}
continue;
end_IL_011d:
break;
}
}
return true;
}
private unsafe static bool HasLineOfSightAtHeight(Vector3 from, Vector3 to, float height)
{
Framework* ptr = Framework.Instance();
int num = ((ptr == null) ? (-2105382518) : (-2105382517));
Vector3 vector = default(Vector3);
float num7 = default(float);
RaycastHit raycastHit = default(RaycastHit);
while (true)
{
int num2 = num;
int num3 = -2105382513;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 5:
return true;
case 1:
return true;
case 3:
{
Vector3 vector2 = vector / num7;
int* flags = stackalloc int[4] { 16384, 0, 16384, 0 };
return !ptr->BGCollisionModule->RaycastMaterialFilter(&raycastHit, &from, &vector2, num7, 1, flags);
}
case 0:
num = -2105382517;
break;
case 4:
num = ((ptr->BGCollisionModule != null) ? (-2105382515) : (-2105382518));
break;
case 2:
from.Y += height;
to.Y += height;
vector = to - from;
num7 = vector.Length();
num = ((!(num7 < 0.1f)) ? (-2105382516) : (-2105382514));
break;
}
}
}
public void StopNow()
{
CancellationTokenSource? cancellationTokenSource = _cancellationTokenSource;
if (cancellationTokenSource != null)
{
_200B_206A_202A_202E_200F_206E_206D_200F_206D_206C_206E_202E_200F_206A_202A_206A_206E_200F_202A_206F_206A_206F_202A_206D_200E_200B_202A_200E_206C_202E_202B_206F_206D_206C_206C_200E_206F_200C_202D_202D_202E(cancellationTokenSource);
}
movementController.Stop();
}
void IStoppableTaskExecutor.StopNow()
{
//ILSpy generated this explicit interface implementation from .override directive in StopNow
this.StopNow();
}
public void Dispose()
{
((DeliveryNpcApproachExecutor)(object)_cancellationTokenSource)?._206B_200B_202D_206F_206A_206E_202D_202A_206A_206E_206B_206B_200B_202B_202E_206C_202E_200B_200C_200C_200F_206A_200F_206C_206B_200C_206C_206C_200B_202D_206C_202C_206E_202A_200C_200F_206A_206F_206B_206F_202E();
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static CancellationTokenSource _202C_206C_202B_200E_200E_206D_202D_202C_200E_206F_206A_202B_202B_202A_206B_206A_206E_206B_200E_200F_206A_206B_200B_200D_206A_206D_200E_206C_200D_202D_202E_202B_202B_202A_200F_200F_200D_200F_202A_202A_202E(TimeSpan P_0)
{
return new CancellationTokenSource(P_0);
}
static IPlayerCharacter _206D_202C_200D_202A_206B_202B_206F_202C_206A_200B_206F_200F_200E_202A_200F_202B_202A_206E_200E_206D_202A_200B_206C_202D_206E_206F_206E_206C_206F_202C_206F_202B_202A_200B_200E_202D_206A_206D_202E_206C_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static Vector3 _200E_200C_200C_200B_202B_202D_206F_200F_202A_206A_206E_206F_206F_206E_202A_206B_206C_202B_206B_202B_206C_202E_206A_206A_206C_202B_206E_202A_206D_206A_202E_200B_200F_202E_200F_206C_200E_202D_200C_202A_202E(IGameObject P_0)
{
return P_0.Position;
}
static float _200B_200D_202E_206D_206E_200F_200E_200B_206D_202D_202C_200E_200E_200B_206D_200E_200C_202B_206E_202E_202B_202A_202A_206D_206A_206B_206C_200B_206F_206A_202B_202B_202C_206B_200E_202A_206D_206A_200C_202B_202E(IGameObject P_0)
{
return P_0.HitboxRadius;
}
static uint _200C_202B_200C_206A_206D_206A_202E_202B_206A_200F_200F_200F_202A_206F_206D_202B_200B_202C_200F_200D_206B_206D_200B_202E_202A_202A_202C_200C_206F_202E_200C_200F_202B_200D_200D_202C_202E_202E_200D_206A_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static float _200E_200F_200D_206C_206A_202C_206B_206F_202B_202C_200E_200D_206A_200E_206D_200B_200B_202A_206E_202A_202D_202E_206B_200C_200B_206A_200B_200C_206E_200B_200D_206D_200C_202B_206F_200F_200B_202B_200C_200E_202E(float P_0, float P_1)
{
return MathF.Atan2(P_0, P_1);
}
static float _202B_200F_200E_206C_200E_206B_202C_202D_200B_200C_202A_206C_200F_200B_200D_200C_200B_206E_206D_202C_202D_200E_200D_202C_202A_206F_200B_200C_202B_206E_200B_202B_200F_206B_206A_200B_206E_202A_206D_206F_202E(float P_0, float P_1)
{
return MathF.Max(P_0, P_1);
}
static float _202B_202D_206B_200B_200B_200B_202A_206A_202B_206F_202B_206F_206F_206D_206B_200C_206D_202A_206B_202D_200C_206B_206C_206F_206D_206B_202E_202A_202D_206A_206E_206F_200D_202C_200F_202A_206F_200D_206A_202E_202E(float P_0)
{
return MathF.Sin(P_0);
}
static float _200B_202E_202E_206A_202B_202B_202A_200E_206A_202E_202D_200B_200C_202D_202D_202E_202C_200C_206C_200E_200F_206D_200D_200B_200C_202A_200B_206E_206E_202C_202D_202A_200B_202C_206C_206C_202C_202E_206D_202E_202E(float P_0)
{
return MathF.Cos(P_0);
}
static void _202A_200F_206B_200E_200D_206D_206F_206F_200D_206A_206A_202C_206C_206A_202C_206F_206A_202D_200B_206E_206D_202D_202C_206E_202E_200E_200B_206E_202B_206D_202E_200B_200D_206B_206E_206D_206E_200B_206B_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _200F_200F_202B_206F_206E_202E_206A_206B_202B_200D_200F_200F_202A_206E_206A_200F_200E_200D_206B_202E_206E_206D_206B_202E_206C_200C_200E_202B_202E_200B_200F_202D_200B_200E_200E_206B_202B_200C_206E_206D_202E(System.Threading.Tasks.Task P_0)
{
return P_0.IsCompleted;
}
static bool _202C_202E_202A_200B_206B_200F_200F_206E_202A_206B_202A_206A_202C_202A_200C_206A_202A_200C_200D_200C_202A_206E_206A_200D_206C_206E_206C_202C_202C_206E_206C_200D_202A_206D_202C_206A_202D_202C_202C_200E_202E(System.Threading.Tasks.Task P_0)
{
return P_0.IsCanceled;
}
static bool _202E_202B_206F_200E_200D_206D_206B_206F_206B_200B_206F_206F_200D_200D_200C_200F_200C_206F_200D_200B_200C_202D_206D_202D_206A_200D_206D_206B_206E_202E_206C_202C_206B_202E_200E_200F_202E_200D_206F_206B_202E(System.Threading.Tasks.Task P_0)
{
return P_0.IsFaulted;
}
static AggregateException _206B_206A_200F_206E_202E_206D_200C_202A_200E_202A_202A_206F_206C_200B_202C_202E_206A_202C_202B_200D_200C_206D_200E_202C_206E_202B_206B_202C_202E_200C_200D_206E_206A_200D_200E_206B_200E_202A_206D_200D_202E(System.Threading.Tasks.Task P_0)
{
return P_0.Exception;
}
static void _200E_206D_206E_206A_200C_202B_206B_202D_206B_200C_200D_202C_206A_206B_200F_206C_200D_200F_206B_202B_206E_202E_206B_202A_200C_206F_206A_206D_200E_200F_202D_202E_206E_206B_202D_200B_202C_202D_202B_200E_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogDebug(P_1, P_2, P_3);
}
static CancellationToken _202E_206E_200F_206F_200D_200C_206D_202A_200C_200D_202C_200F_202D_206F_206D_206F_206E_200D_206E_202C_200C_206E_200C_206F_206B_206B_200D_200C_200F_200D_202E_206E_202A_206F_202D_202C_206D_200C_206F_200D_202E(CancellationTokenSource P_0)
{
return P_0.Token;
}
static bool _206D_202B_202E_200E_202C_206A_200E_200B_206E_202E_206F_206A_200C_206D_200B_206E_200F_202D_202C_206D_200D_206F_202A_200C_206D_200B_202E_200D_206A_206B_202D_202A_202A_206F_202D_200C_202C_206A_200B_200D_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200F_200B_206B_200E_202D_202A_202C_200F_202B_206E_200D_200B_206D_206C_202C_206F_202D_200C_206F_202D_202A_202D_206F_202E_206B_206F_200B_202D_200B_200D_200E_202A_200F_200E_200E_200E_200F_206F_206E_206E_202E(IDisposable P_0)
{
P_0.Dispose();
}
static void _200B_206A_202A_202E_200F_206E_206D_200F_206D_206C_206E_202E_200F_206A_202A_206A_206E_200F_202A_206F_206A_206F_202A_206D_200E_200B_202A_200E_206C_202E_202B_206F_206D_206C_206C_200E_206F_200C_202D_202D_202E(CancellationTokenSource P_0)
{
P_0.Cancel();
}
void _206B_200B_202D_206F_206A_206E_202D_202A_206A_206E_206B_206B_200B_202B_202E_206C_202E_200B_200C_200C_200F_206A_200F_206C_206B_200C_206C_206C_200B_202D_206C_202C_206E_202A_200C_200F_206A_206F_206B_206F_202E()
{
((CancellationTokenSource)(object)this).Dispose();
}
}

View file

@ -0,0 +1,109 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
using Questionable.Controller.Steps;
namespace Questionable.Controller.CustomDelivery;
internal sealed record DeliveryNpcApproachTask(ushort TerritoryId, Vector3 NpcPosition, uint NpcDataId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202B_206C_200F_206B_200B_202D_200D_200F_200C_206C_202A_206C_200E_206B_206A_200F_202A_200F_202E_206D_206D_202A_200C_206C_200D_200C_200D_202A_202C_202D_206F_206C_202B_206F_200C_202E_202C_202E_202C_206E_202E(typeof(DeliveryNpcApproachTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(853725271));
defaultInterpolatedStringHandler.AppendFormatted(NpcDataId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(424561659));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202A_202A_202C_202E_206B_206A_200C_200E_206E_206A_200D_206C_200E_202D_206E_206E_200F_200E_202C_200E_202D_206F_200D_200D_200D_206E_200D_202D_206F_206E_206A_202A_206E_206C_206E_202C_202B_200C_202E_200C_202E();
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(2145374973));
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, TerritoryId.ToString());
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1319777869));
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, NpcPosition.ToString());
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-323573035));
_202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(builder, NpcDataId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(DeliveryNpcApproachTask? other)
{
int num = (((object)this == other) ? (-2005585280) : (-2005585273));
while (true)
{
int num2 = num;
int num3 = -2005585274;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = -2005585273;
break;
case 7:
num = ((!_200C_202D_202D_202D_200F_200C_200E_202E_200C_200E_206E_200E_200B_202E_206A_206A_202D_202D_200C_202E_200C_202D_206F_200E_202E_206D_200E_206A_202B_200F_200C_202A_206E_202B_206A_206A_200E_206A_200E_202B_202E(EqualityContract, other.EqualityContract)) ? (-2005585274) : (-2005585275));
break;
case 1:
num = (((object)other == null) ? (-2005585274) : (-2005585279));
break;
case 6:
return true;
case 5:
return EqualityComparer<uint>.Default.Equals(NpcDataId, other.NpcDataId);
case 0:
return false;
case 3:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? (-2005585274) : (-2005585278));
break;
case 4:
num = ((!EqualityComparer<Vector3>.Default.Equals(NpcPosition, other.NpcPosition)) ? (-2005585274) : (-2005585277));
break;
}
}
}
bool IEquatable<DeliveryNpcApproachTask>.Equals(DeliveryNpcApproachTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202B_206C_200F_206B_200B_202D_200D_200F_200C_206C_202A_206C_200E_206B_206A_200F_202A_200F_202E_206D_206D_202A_200C_206C_200D_200C_200D_202A_202C_202D_206F_206C_202B_206F_200C_202E_202C_202E_202C_206E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _202A_202A_202C_202E_206B_206A_200C_200E_206E_206A_200D_206C_200E_202D_206E_206E_200F_200E_202C_200E_202D_206F_200D_200D_200D_206E_200D_202D_206F_206E_206A_202A_206E_206C_206E_202C_202B_200C_202E_200C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202C_206E_200C_200D_202B_206D_206E_206A_200B_206C_202E_206F_202E_200C_206F_200C_206D_202C_206D_206E_206E_206B_202A_202E_206E_202D_200C_202E_202C_206F_200E_202A_206C_202A_206D_206B_202A_206A_200F_200C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _200C_202D_202D_202D_200F_200C_200E_202E_200C_200E_206E_200E_200B_202E_206A_206A_202D_202D_200C_202E_200C_202D_206F_200E_202E_206D_200E_206A_202B_200F_200C_202A_206E_202B_206A_206A_200E_206A_200E_202B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
namespace Questionable.Controller.CustomDelivery;
internal sealed class DeliveryPlan
{
public required int NpcIndex { get; init; }
public required EDeliverySlot Slot { get; init; }
public required uint ItemId { get; init; }
public required ushort Collectability { get; init; }
public required int DeliveryCount { get; init; }
public VendorResolverService.RecipeInfo? Recipe { get; init; }
public IReadOnlyList<IngredientPlan> IngredientPlans { get; init; } = Array.Empty<IngredientPlan>();
}

View file

@ -0,0 +1,659 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using LLib.GameData;
using LLib.Inventory;
using LLib.Shop;
using Lumina.Excel;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using Questionable.External;
namespace Questionable.Controller.CustomDelivery;
internal sealed class DeliveryPlannerService
{
private readonly SatisfactionSupplyHelper _supplyHelper;
private readonly VendorResolverService _vendorResolver;
private readonly DeliveryRewardCalculator _rewardCalculator;
private readonly IDataManager _dataManager;
private readonly Configuration _configuration;
private readonly ILogger<DeliveryPlannerService> _logger;
public DeliveryPlannerService(SatisfactionSupplyHelper supplyHelper, VendorResolverService vendorResolver, DeliveryRewardCalculator rewardCalculator, IDataManager dataManager, Configuration configuration, ILogger<DeliveryPlannerService> logger)
{
_supplyHelper = supplyHelper;
_vendorResolver = vendorResolver;
_rewardCalculator = rewardCalculator;
_dataManager = dataManager;
_configuration = configuration;
_logger = logger;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe DeliveryPlan? CreatePlan(int npcIndex, EDeliverySlot slot)
{
int num = (_200D_206E_202C_202A_202A_202E_202E_206C_200D_200C_200E_200C_206B_206C_200D_200B_206B_206D_206C_202E_202A_206C_206E_200D_200B_206C_200D_200F_206B_202A_202C_202D_206A_206B_206F_200B_200F_202E_200F_200D_202E() ? (-1888935827) : (-1888935840));
uint rowId = default(uint);
SatisfactionSupply subrow = default(SatisfactionSupply);
Configuration.CustomDeliveryConfiguration.ECollectabilityTier collectabilityTier = default(Configuration.CustomDeliveryConfiguration.ECollectabilityTier);
int num20 = default(int);
int num21 = default(int);
int num30 = default(int);
SatisfactionSupplyActions.NpcState npcState = default(SatisfactionSupplyActions.NpcState);
uint supplyIndex = default(uint);
SatisfactionNpc row = default(SatisfactionNpc);
uint num28 = default(uint);
uint num29 = default(uint);
Configuration.AchievementGoal value = default(Configuration.AchievementGoal);
int num27 = default(int);
int num9 = default(int);
int num19 = default(int);
VendorResolverService.RecipeInfo? recipe = default(VendorResolverService.RecipeInfo?);
List<IngredientPlan> list = default(List<IngredientPlan>);
ushort num7 = default(ushort);
ushort num18 = default(ushort);
ushort levelUnlock = default(ushort);
int satisfactionRequired = default(int);
int num26 = default(int);
VendorResolverService.IngredientInfo current = default(VendorResolverService.IngredientInfo);
int num15 = default(int);
int count = default(int);
int num14 = default(int);
VendorResolverService.VendorInfo? vendor = default(VendorResolverService.VendorInfo?);
while (true)
{
int num2 = num;
int num3 = -1888935819;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
default:
continue;
case 14:
rowId = subrow.Item.RowId;
collectabilityTier = _configuration.CustomDeliveries.CollectabilityTier;
num = ((collectabilityTier == Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid) ? (-1888935855) : (-1888935835));
continue;
case 23:
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1441943308), new object[3] { npcIndex, num20, num21 });
return null;
case 1:
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-325747451), new object[1] { npcIndex });
return null;
case 30:
{
uint rowId2 = subrow.Reward.RowId;
bool isBonus = subrow.IsBonus;
num30 = _rewardCalculator.MaxDeliveriesBeforeOvercap(rowId2, isBonus, _configuration.CustomDeliveries.CollectabilityTier);
num = ((num30 > 0) ? (-1888935826) : (-1888935820));
continue;
}
case 39:
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(72727050), new object[1] { npcIndex });
return null;
case 31:
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(350000111), new object[2] { npcIndex, npcState.Rank });
return null;
case 40:
supplyIndex = (uint)row.SatisfactionNpcParams[npcState.Rank].SupplyIndex;
num28 = _202C_206E_206A_202A_206E_206D_206D_206C_200E_200C_206B_200C_202B_202E_200C_200B_206A_200D_202A_202D_202D_206D_206E_206A_206D_206F_200C_206C_206B_206B_202B_202E_206D_206A_206E_202A_202C_206F_200B_200E_202E(_supplyHelper, supplyIndex, num29)[(int)slot];
num = ((num28 != uint.MaxValue) ? (-1888935833) : (-1888935823));
continue;
case 6:
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1592384275), new object[3] { npcIndex, npcState.UsedDeliveries, value.TargetCount });
return null;
case 18:
num = (_dataManager.GetSubrowExcelSheet<SatisfactionSupply>().TryGetSubrow(supplyIndex, (ushort)num28, out subrow) ? (-1888935813) : (-1888935852));
continue;
case 29:
num = ((num27 >= num9) ? (-1888935844) : (-1888935810));
continue;
case 13:
{
ExcelSheet<SatisfactionNpc> excelSheet = _dataManager.GetExcelSheet<SatisfactionNpc>();
num3 = 1;
num4 = npcIndex;
int num22 = num4 ^ num3;
int num23 = num4 & num3;
num = (excelSheet.TryGetRow((uint)(num22 + (num23 + num23)), out row) ? (-1888935842) : (-1888935849));
continue;
}
case 35:
num = ((_configuration.CustomDeliveries.ScripOvercapMode == Configuration.CustomDeliveryConfiguration.EScripOvercapMode.Ignore) ? (-1888935856) : (-1888935829));
continue;
case 2:
num19 = (int)value.TargetCount - npcState.UsedDeliveries;
num = ((num19 <= 0) ? (-1888935821) : (-1888935836));
continue;
case 16:
num = ((collectabilityTier != Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low) ? (-1888935824) : (-1888935818));
continue;
case 37:
recipe = null;
list = new List<IngredientPlan>();
if (slot == EDeliverySlot.Craft)
{
num = -1888935831;
continue;
}
break;
case 15:
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-349074918), Array.Empty<object>());
return null;
case 33:
_206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-583199100), new object[2] { supplyIndex, num28 });
return null;
case 32:
num7 = num18;
num = ((rowId != 0) ? (-1888935837) : (-1888935811));
continue;
case 36:
num18 = subrow.CollectabilityMid;
num = -1888935851;
continue;
case 19:
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(758096436), new object[3] { levelUnlock, slot, npcIndex });
return null;
case 22:
num20 = row.DeliveriesPerWeek - npcState.UsedDeliveries;
num9 = _202E_200E_200B_202D_200C_200D_206B_202B_206F_202D_206F_200D_200E_200C_206B_202C_206A_202A_200F_206A_202A_200B_200B_202E_206F_202A_200C_200D_200D_200D_200D_206B_202E_202A_200B_206A_200C_206D_206D_200F_202E(num20, num21);
num = ((num9 > 0) ? (-1888935822) : (-1888935838));
continue;
case 17:
num9 = _202E_200E_200B_202D_200C_200D_206B_202B_206F_202D_206F_200D_200E_200C_206B_202C_206A_202A_200F_206A_202A_200B_200B_202E_206F_202A_200C_200D_200D_200D_200D_206B_202E_202A_200B_206A_200C_206D_206D_200F_202E(num9, num19);
num = -1888935850;
continue;
case 27:
num = ((num30 >= num9) ? (-1888935856) : (-1888935812));
continue;
case 9:
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-252217524), new object[3] { num9, num30, npcIndex });
num9 = num30;
num = -1888935856;
continue;
case 43:
levelUnlock = row.LevelUnlock;
num = (HasJobAtLevel(slot, levelUnlock) ? (-1888935843) : (-1888935834));
continue;
case 8:
_206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1074922241), new object[2] { supplyIndex, num28 });
return null;
case 12:
npcState = _200F_206F_206A_200F_202C_206F_206E_200E_202B_200C_200B_200D_200B_202C_206D_202B_206E_200B_202C_202D_202D_200D_206D_202E_200B_206E_202A_202D_202A_206E_202D_200B_202E_202E_202A_200B_202B_202D_202E_206C_202E(npcIndex);
num21 = _206F_206A_202D_202B_200F_206F_202E_206D_206F_200D_202D_206C_206C_206D_202C_206C_202B_202E_206D_202B_200D_202B_200D_200E_202E_206D_206B_206D_200E_202A_202A_206A_200C_202A_206F_202B_206C_206D_200E_200D_202E();
num29 = _200C_206C_200F_202B_206A_206F_200B_206C_202A_206F_206F_206C_206B_202B_200F_202A_206D_206A_200D_206E_202A_206A_206D_206C_206D_202C_206F_200D_202E_200D_200E_202D_200E_206F_202C_206E_202C_202E_202A_206F_202E();
num = ((npcState.Rank > 0) ? (-1888935853) : (-1888935830));
continue;
case 10:
num = -1888935840;
continue;
case 38:
num = ((num21 > 0) ? (-1888935816) : (-1888935814));
continue;
case 11:
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1847422502), new object[5] { num9, num27, npcState.SatisfactionCurrent, satisfactionRequired, num26 });
num9 = num27;
num = -1888935844;
continue;
case 0:
num27 = (satisfactionRequired - npcState.SatisfactionCurrent + num26 - 1) / num26;
num = ((num27 <= 0) ? (-1888935844) : (-1888935832));
continue;
case 34:
_206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1005271434), new object[1] { npcIndex });
return null;
case 28:
recipe = _vendorResolver.ResolveRecipe(rowId);
num = (recipe.HasValue ? (-1888935828) : (-1888935825));
continue;
case 24:
num = (IsNpcUnlocked(npcIndex) ? (-1888935815) : (-1888935854));
continue;
case 42:
{
Configuration.CustomDeliveryConfiguration.ECollectabilityTier collectabilityTier2 = _configuration.CustomDeliveries.CollectabilityTier;
num26 = _rewardCalculator.CalculateSatisfactionPerDelivery(subrow.Reward.RowId, subrow.IsBonus, collectabilityTier2);
num = ((num26 <= 0) ? (-1888935844) : (-1888935819));
continue;
}
case 21:
_206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(929546920), Array.Empty<object>());
return null;
case 41:
{
num3 = 1;
num4 = npcIndex;
int num24 = num4 ^ num3;
int num25 = num4 & num3;
ushort key = (ushort)(num24 + (num25 + num25));
num = ((!_configuration.CustomDeliveries.AchievementGoals.TryGetValue(key, out value)) ? (-1888935850) : (-1888935839));
continue;
}
case 7:
satisfactionRequired = row.SatisfactionNpcParams[npcState.Rank].SatisfactionRequired;
num = ((satisfactionRequired <= 0) ? (-1888935844) : (-1888935841));
continue;
case 26:
_202E_202D_202C_206E_202C_206A_206E_202D_202E_202D_206C_200B_200E_202E_206C_200B_206A_202E_206B_206D_206B_200E_200B_200E_206B_206D_202A_206F_200C_202D_206E_206D_206C_206A_206B_200F_202E_200E_202B_200E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-375018658), new object[1] { rowId });
return null;
case 20:
num = ((!value.Active) ? (-1888935850) : (-1888935817));
continue;
case 3:
num18 = subrow.CollectabilityLow;
num = -1888935851;
continue;
case 5:
num18 = subrow.CollectabilityHigh;
num = -1888935851;
continue;
case 4:
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1585031772), new object[2] { npcIndex, slot });
return null;
case 25:
{
int inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(rowId, isHq: false, checkEquipped: true, checkArmory: true, (short)num7);
int num8 = num9;
num3 = inventoryItemCount;
num4 = num8;
int num10 = _200C_206C_200D_202C_202B_202C_206A_206E_200E_200E_202D_202A_202C_206D_206B_206D_206D_200B_202B_206A_206D_202D_206D_200C_206C_200D_200E_200D_200C_202C_206D_206F_206B_206D_202A_200C_202B_200B_200C_206A_202E(0, ~(~num4 + num3));
IEnumerator<VendorResolverService.IngredientInfo> enumerator = recipe.Value.Ingredients.GetEnumerator();
try
{
num = -2147286294;
while (true)
{
int num11 = num;
num3 = -2147286291;
num4 = num11;
int num12 = num4 + num3;
int num13 = num4 & num3;
switch (num12 - (num13 + num13))
{
case 2:
num = -2147286294;
break;
case 1:
{
current = enumerator.Current;
num15 = num10 * current.CountPerCraft;
count = ((ItemHandle)current.ItemId).GetCount();
int num16 = num15;
num3 = count;
num4 = num16;
num14 = _200C_206C_200D_202C_202B_202C_206A_206E_200E_200E_202D_202A_202C_206D_206B_206D_206D_200B_202B_206A_206D_202D_206D_200C_206C_200D_200E_200D_200C_202C_206D_206F_206B_206D_202A_200C_202B_200B_200C_206A_202E(0, ~(~num4 + num3));
vendor = null;
num = ((num14 <= 0) ? (-2147286293) : (-2147286291));
break;
}
case 3:
num = (vendor.HasValue ? (-2147286296) : (-2147286299));
break;
case 6:
num = ((num14 <= 0) ? (-2147286296) : (-2147286290));
break;
case 7:
num = (_202D_202B_206D_202B_202E_200E_200E_206F_202C_200E_200F_200E_200D_206B_202A_202C_206B_202E_202D_200F_200E_206C_200D_200D_202E_206C_202A_206A_200E_200D_202E_200E_206A_202E_206D_206D_206B_206B_202C_202B_202E((IEnumerator)enumerator) ? (-2147286292) : (-2147286295));
break;
case 5:
list.Add(new IngredientPlan
{
ItemId = current.ItemId,
TotalNeeded = num15,
InInventory = count,
ToBuy = num14,
Vendor = vendor
});
num = -2147286294;
break;
case 0:
vendor = _vendorResolver.ResolveVendor(current.ItemId);
num = -2147286293;
break;
case 8:
_206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1168604579), new object[3] { rowId, num14, current.ItemId });
return null;
case 4:
goto end_IL_097f;
}
continue;
end_IL_097f:
break;
}
}
finally
{
num = ((enumerator == null) ? 903605072 : 903605073);
while (true)
{
int num17 = num;
num3 = 903605072;
num4 = num17;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 903605073;
break;
case 1:
_206B_202C_200B_202D_202C_206A_202A_202E_200B_202D_200E_202B_202A_200D_206A_206E_202D_202A_202A_206D_200E_206D_202A_206B_206C_206A_200F_200E_206B_202E_200D_200E_206D_200D_206C_202E_202E_202D_206D_200C_202E((IDisposable)enumerator);
num = 903605072;
break;
case 0:
goto end_IL_0b81;
}
continue;
end_IL_0b81:
break;
}
}
break;
}
}
break;
}
DeliveryPlan result = new DeliveryPlan
{
NpcIndex = npcIndex,
Slot = slot,
ItemId = rowId,
Collectability = num7,
DeliveryCount = num9,
Recipe = recipe,
IngredientPlans = list
};
int num31 = 0;
using (List<IngredientPlan>.Enumerator enumerator2 = list.GetEnumerator())
{
num = -832133554;
while (true)
{
int num32 = num;
int num3 = -832133554;
int num4 = num32;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = (enumerator2.MoveNext() ? (-832133553) : (-832133555));
break;
case 1:
{
IngredientPlan current2 = enumerator2.Current;
num31 += current2.ToBuy;
num = -832133554;
break;
}
case 2:
num = -832133554;
break;
case 3:
goto end_IL_0c22;
}
continue;
end_IL_0c22:
break;
}
}
_206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-251047374), new object[5] { npcIndex, slot, rowId, num9, num31 });
return result;
}
public bool IsNpcUnlocked(int npcIndex)
{
ExcelSheet<SatisfactionNpc> excelSheet = _dataManager.GetExcelSheet<SatisfactionNpc>();
int num = 1;
int num2 = npcIndex;
int num3 = num2 ^ num;
int num4 = num2 & num;
SatisfactionNpc row;
int num5 = (excelSheet.TryGetRow((uint)(num3 + (num4 + num4)), out row) ? (-1323628219) : (-1323628220));
uint rowId = default(uint);
while (true)
{
int num6 = num5;
num = -1323628219;
num2 = num6;
int num7 = num2 + num;
int num8 = num2 & num;
switch (num7 - (num8 + num8))
{
case 3:
num5 = -1323628220;
break;
case 2:
return true;
case 0:
rowId = row.QuestRequired.RowId;
num5 = ((rowId != 0) ? (-1323628223) : (-1323628217));
break;
case 1:
return false;
case 4:
return QuestManager.IsQuestComplete((ushort)rowId);
}
}
}
private bool HasJobAtLevel(EDeliverySlot slot, ushort requiredLevel)
{
ExcelSheet<ClassJob> excelSheet = _dataManager.GetExcelSheet<ClassJob>();
int num;
EClassJob[] array = default(EClassJob[]);
int num8 = default(int);
ClassJob row = default(ClassJob);
EClassJob[] array2;
switch (slot)
{
default:
num = 208972121;
goto IL_0034;
case EDeliverySlot.Fish:
array = new EClassJob[1] { EClassJob.Fisher };
num = 208972119;
goto IL_0034;
case EDeliverySlot.Gather:
goto IL_00fb;
case EDeliverySlot.Craft:
goto IL_0192;
IL_0034:
while (true)
{
int num2 = num;
int num3 = 208972117;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
goto IL_008a;
case 12:
num = 208972112;
break;
case 10:
goto IL_00c2;
case 7:
goto end_IL_0034;
case 6:
goto IL_00fb;
case 2:
array = array;
num8 = 0;
num = 208972127;
break;
case 3:
num = 208972121;
break;
case 1:
{
int num7 = num8;
num3 = 1;
num4 = num7;
num8 = (num4 | num3) + (num4 & num3);
num = 208972127;
break;
}
case 11:
return false;
case 8:
return true;
case 5:
array = Array.Empty<EClassJob>();
num = 208972119;
break;
case 0:
goto IL_0168;
case 9:
goto IL_0192;
}
continue;
IL_0168:
num = ((_202D_206B_206F_200C_200E_200F_202A_206D_202D_202D_202C_202D_206F_206F_202D_202E_202A_206B_202A_202D_206E_202D_200D_200D_202D_202A_200C_200B_200E_202E_200D_206A_206D_202B_206F_202D_200B_200E_206F_202A_202E((int)row.ExpArrayIndex) < requiredLevel) ? 208972116 : 208972125);
continue;
IL_00c2:
num = ((num8 < array.Length) ? 208972113 : 208972126);
continue;
IL_008a:
EClassJob rowId = array[num8];
num = ((!excelSheet.TryGetRow((uint)rowId, out row)) ? 208972116 : 208972117);
continue;
end_IL_0034:
break;
}
goto case EDeliverySlot.Fish;
IL_0192:
array2 = new EClassJob[8];
_202A_200D_202C_202B_202D_202B_202B_202C_200F_202A_206F_200B_200D_202E_206E_202A_200B_200B_202D_206E_206B_202C_206C_200D_202A_206A_206F_200B_202E_202E_200E_200B_206A_200C_206F_206D_202B_202B_206C_206C_202E((Array)array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
array = array2;
num = 208972119;
goto IL_0034;
IL_00fb:
array = new EClassJob[2]
{
EClassJob.Miner,
EClassJob.Botanist
};
num = 208972119;
goto IL_0034;
}
}
public EDeliverySlot? AutoSelectSlot(int npcIndex, ArtisanIpc artisanIpc, AutoHookIpc autoHookIpc)
{
int num = ((!artisanIpc.IsAvailable()) ? 1675924989 : 1675924988);
while (true)
{
int num2 = num;
int num3 = 1675924986;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = ((!autoHookIpc.IsAvailable()) ? 1675924990 : 1675924985);
break;
case 4:
return null;
case 1:
return EDeliverySlot.Gather;
case 2:
num = 1675924988;
break;
case 8:
return EDeliverySlot.Fish;
case 3:
num = ((CreatePlan(npcIndex, EDeliverySlot.Fish) == null) ? 1675924990 : 1675924978);
break;
case 7:
num = ((CreatePlan(npcIndex, EDeliverySlot.Gather) == null) ? 1675924986 : 1675924987);
break;
case 5:
return EDeliverySlot.Craft;
case 6:
num = ((CreatePlan(npcIndex, EDeliverySlot.Craft) == null) ? 1675924989 : 1675924991);
break;
}
}
}
static bool _200D_206E_202C_202A_202A_202E_202E_206C_200D_200C_200E_200C_206B_206C_200D_200B_206B_206D_206C_202E_202A_206C_206E_200D_200B_206C_200D_200F_206B_202A_202C_202D_206A_206B_206F_200B_200F_202E_200F_200D_202E()
{
return InventoryHelper.HasFreeInventorySlot();
}
static void _206C_206F_206E_206A_206F_200F_202B_206D_206E_200D_202E_202D_206D_200B_200F_202B_202D_200F_200D_206C_202A_200C_200E_200E_206C_200D_206B_200F_206D_200E_202A_206C_200D_200B_202B_200B_202A_202C_202C_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static void _206A_200F_202C_202B_200B_202B_202C_202B_200F_206E_206F_206A_200C_200F_200E_200C_202A_200B_200F_206C_200E_206D_200E_206F_206E_202B_206D_200D_202E_202A_200B_202B_200C_206E_200C_202A_202E_200D_202C_202A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static SatisfactionSupplyActions.NpcState _200F_206F_206A_200F_202C_206F_206E_200E_202B_200C_200B_200D_200B_202C_206D_202B_206E_200B_202C_202D_202D_200D_206D_202E_200B_206E_202A_202D_202A_206E_202D_200B_202E_202E_202A_200B_202B_202D_202E_206C_202E(int P_0)
{
return SatisfactionSupplyActions.GetNpcState(P_0);
}
static int _206F_206A_202D_202B_200F_206F_202E_206D_206F_200D_202D_206C_206C_206D_202C_206C_202B_202E_206D_202B_200D_202B_200D_200E_202E_206D_206B_206D_200E_202A_202A_206A_200C_202A_206F_202B_206C_206D_200E_200D_202E()
{
return SatisfactionSupplyActions.GetRemainingAllowances();
}
static uint _200C_206C_200F_202B_206A_206F_200B_206C_202A_206F_206F_206C_206B_202B_200F_202A_206D_206A_200D_206E_202A_206A_206D_206C_206D_202C_206F_200D_202E_200D_200E_202D_200E_206F_202C_206E_202C_202E_202A_206F_202E()
{
return SatisfactionSupplyActions.GetSupplySeed();
}
static uint[] _202C_206E_206A_202A_206E_206D_206D_206C_200E_200C_206B_200C_202B_202E_200C_200B_206A_200D_202A_202D_202D_206D_206E_206A_206D_206F_200C_206C_206B_206B_202B_202E_206D_206A_206E_202A_202C_206F_200B_200E_202E(SatisfactionSupplyHelper P_0, uint P_1, uint P_2)
{
return P_0.CalculateRequestedItems(P_1, P_2);
}
static int _202E_200E_200B_202D_200C_200D_206B_202B_206F_202D_206F_200D_200E_200C_206B_202C_206A_202A_200F_206A_202A_200B_200B_202E_206F_202A_200C_200D_200D_200D_200D_206B_202E_202A_200B_206A_200C_206D_206D_200F_202E(int P_0, int P_1)
{
return Math.Min(P_0, P_1);
}
static void _202E_202D_202C_206E_202C_206A_206E_202D_202E_202D_206C_200B_200E_202E_206C_200B_206A_202E_206B_206D_206B_200E_200B_200E_206B_206D_202A_206F_200C_202D_206E_206D_206C_206A_206B_200F_202E_200E_202B_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogError(P_1, P_2);
}
static int _200C_206C_200D_202C_202B_202C_206A_206E_200E_200E_202D_202A_202C_206D_206B_206D_206D_200B_202B_206A_206D_202D_206D_200C_206C_200D_200E_200D_200C_202C_206D_206F_206B_206D_202A_200C_202B_200B_200C_206A_202E(int P_0, int P_1)
{
return Math.Max(P_0, P_1);
}
static bool _202D_202B_206D_202B_202E_200E_200E_206F_202C_200E_200F_200E_200D_206B_202A_202C_206B_202E_202D_200F_200E_206C_200D_200D_202E_206C_202A_206A_200E_200D_202E_200E_206A_202E_206D_206D_206B_206B_202C_202B_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _206B_202C_200B_202D_202C_206A_202A_202E_200B_202D_200E_202B_202A_200D_206A_206E_202D_202A_202A_206D_200E_206D_202A_206B_206C_206A_200F_200E_206B_202E_200D_200E_206D_200D_206C_202E_202E_202D_206D_200C_202E(IDisposable P_0)
{
P_0.Dispose();
}
static void _202A_200D_202C_202B_202D_202B_202B_202C_200F_202A_206F_200B_200D_202E_206E_202A_200B_200B_202D_206E_206B_202C_206C_200D_202A_206A_206F_200B_202E_202E_200E_200B_206A_200C_206F_206D_202B_202B_206C_206C_202E(Array P_0, RuntimeFieldHandle P_1)
{
RuntimeHelpers.InitializeArray(P_0, P_1);
}
static short _202D_206B_206F_200C_200E_200F_202A_206D_202D_202D_202C_202D_206F_206F_202D_202E_202A_206B_202A_202D_206E_202D_200D_200D_202D_202A_200C_200B_200E_202E_200D_206A_206D_202B_206F_202D_200B_200E_206F_202A_202E(int P_0)
{
return PlayerStateHelper.GetClassJobLevel(P_0);
}
}

View file

@ -0,0 +1,411 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Plugin.Services;
using LLib.Inventory;
using Lumina.Excel;
using Lumina.Excel.Sheets;
namespace Questionable.Controller.CustomDelivery;
internal sealed class DeliveryRewardCalculator(IDataManager dataManager)
{
internal record struct CurrencyReward(uint CurrencyItemId, string CurrencyName, int AmountPerDelivery)
{
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override readonly string ToString()
{
StringBuilder stringBuilder = _206A_200C_202B_206F_202E_202C_202C_200D_200D_206E_200C_206C_202C_200F_206F_206E_202C_200D_200C_202E_206A_206A_206C_202A_206C_206A_200E_200D_202E_200B_206A_202D_202A_206A_206B_206F_206C_200B_206B_202B_202E();
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(stringBuilder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(175214569));
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1664411125));
int num = ((!PrintMembers(stringBuilder)) ? 851670769 : 851670770);
while (true)
{
int num2 = num;
int num3 = 851670771;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 851670770;
break;
case 2:
_206E_200E_200B_200B_200F_206E_202C_206A_200B_200B_206C_206C_202C_200E_206A_202A_206D_202E_202C_206C_200F_206B_202C_206A_206C_202B_200B_200E_202B_200B_200E_202C_202B_206F_202E_200D_202D_202C_206B_206D_202E(stringBuilder, '}');
return _200C_200D_200C_200E_206A_202A_206A_202A_202B_200B_200D_200E_200C_200F_200B_200D_206B_206D_200F_200D_206B_206B_206C_202E_206F_202E_200E_200C_200E_206F_200B_206B_202A_206A_206D_206C_200C_206C_206A_206E_202E((object)stringBuilder);
case 1:
_206E_200E_200B_200B_200F_206E_202C_206A_200B_200B_206C_206C_202C_200E_206A_202A_206D_202E_202C_206C_200F_206B_202C_206A_206C_202B_200B_200E_202B_200B_200E_202C_202B_206F_202E_200D_202D_202C_206B_206D_202E(stringBuilder, ' ');
num = 851670769;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private readonly bool PrintMembers(StringBuilder builder)
{
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(557355409));
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, CurrencyItemId.ToString());
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1370044589));
_200B_206F_200D_202B_202B_200C_206C_206F_202B_202C_206D_200F_206F_200D_206D_206C_200F_206B_206A_206A_200F_202E_206B_202B_206B_200D_206E_202B_206A_200E_206F_202E_206B_206C_202B_200F_200F_202D_200E_206C_202E(builder, (object)CurrencyName);
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1289637212));
_200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(builder, AmountPerDelivery.ToString());
return true;
}
[CompilerGenerated]
public readonly bool Equals(CurrencyReward other)
{
int num = ((!EqualityComparer<uint>.Default.Equals(CurrencyItemId, other.CurrencyItemId)) ? (-1286878871) : (-1286878870));
while (true)
{
int num2 = num;
int num3 = -1286878869;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
return false;
case 1:
num = ((!EqualityComparer<string>.Default.Equals(CurrencyName, other.CurrencyName)) ? (-1286878871) : (-1286878869));
break;
case 0:
return EqualityComparer<int>.Default.Equals(AmountPerDelivery, other.AmountPerDelivery);
case 3:
num = -1286878870;
break;
}
}
}
bool IEquatable<CurrencyReward>.Equals(CurrencyReward other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static StringBuilder _206A_200C_202B_206F_202E_202C_202C_200D_200D_206E_200C_206C_202C_200F_206F_206E_202C_200D_200C_202E_206A_206A_206C_202A_206C_206A_200E_200D_202E_200B_206A_202D_202A_206A_206B_206F_206C_200B_206B_202B_202E()
{
return new StringBuilder();
}
static StringBuilder _200C_200E_206E_206A_206D_202A_206B_202A_206A_202D_206F_200F_202E_200B_200B_206E_200F_202C_206E_206F_200D_200B_206E_202C_200B_202A_200B_200F_202A_200F_206E_200C_206B_200F_202A_200F_200E_206A_202C_202B_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206E_200E_200B_200B_200F_206E_202C_206A_200B_200B_206C_206C_202C_200E_206A_202A_206D_202E_202C_206C_200F_206B_202C_206A_206C_202B_200B_200E_202B_200B_200E_202C_202B_206F_202E_200D_202D_202C_206B_206D_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _200C_200D_200C_200E_206A_202A_206A_202A_202B_200B_200D_200E_200C_200F_200B_200D_206B_206D_200F_200D_206B_206B_206C_202E_206F_202E_200E_200C_200E_206F_200B_206B_202A_206A_206D_206C_200C_206C_206A_206E_202E(object P_0)
{
return P_0.ToString();
}
static StringBuilder _200B_206F_200D_202B_202B_200C_206C_206F_202B_202C_206D_200F_206F_200D_206D_206C_200F_206B_206A_206A_200F_202E_206B_202B_206B_200D_206E_202B_206A_200E_206F_202E_206B_206C_202B_200F_200F_202D_200E_206C_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
}
private static readonly Dictionary<uint, int> ScripCaps = new Dictionary<uint, int>
{
[33913u] = 4000,
[41784u] = 4000
};
internal List<CurrencyReward> CalculateRewards(uint rewardRowId, bool hasBonus, Configuration.CustomDeliveryConfiguration.ECollectabilityTier tier = Configuration.CustomDeliveryConfiguration.ECollectabilityTier.High)
{
List<CurrencyReward> list = new List<CurrencyReward>();
int num = (dataManager.GetExcelSheet<SatisfactionSupplyReward>().TryGetRow(rewardRowId, out var row) ? 1083172624 : 1083172627);
uint rewardCurrency = default(uint);
int num8 = default(int);
ushort num9 = default(ushort);
SatisfactionSupplyReward.SatisfactionSupplyRewardDataStruct current = default(SatisfactionSupplyReward.SatisfactionSupplyRewardDataStruct);
while (true)
{
int num2 = num;
int num3 = 1083172625;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_006c;
case 2:
return list;
case 1:
{
using Collection<SatisfactionSupplyReward.SatisfactionSupplyRewardDataStruct>.Enumerator enumerator = row.SatisfactionSupplyRewardData.GetEnumerator();
num = 328961127;
while (true)
{
int num5 = num;
num3 = 328961135;
num4 = num5;
int num6 = num4 + num3;
int num7 = num4 & num3;
switch (num6 - (num7 + num7))
{
case 6:
{
string currencyName = GetCurrencyName(rewardCurrency);
list.Add(new CurrencyReward(rewardCurrency, currencyName, num8));
num = 328961127;
break;
}
case 9:
num = ((tier != Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low) ? 328961125 : 328961132);
break;
case 4:
num = ((tier == Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid) ? 328961128 : 328961126);
break;
case 1:
num8 = num9;
num = ((!hasBonus) ? 328961129 : 328961135);
break;
case 11:
num = 328961127;
break;
case 10:
num9 = current.QuantityHigh;
num = 328961134;
break;
case 3:
num9 = current.QuantityLow;
num = 328961134;
break;
case 8:
num = (enumerator.MoveNext() ? 328961130 : 328961133);
break;
case 5:
current = enumerator.Current;
rewardCurrency = current.RewardCurrency;
num = ((rewardCurrency == 0) ? 328961127 : 328961131);
break;
case 7:
num9 = current.QuantityMid;
num = 328961134;
break;
case 0:
num8 = num8 * row.BonusMultiplier / 100;
num = 328961129;
break;
case 2:
return list;
}
}
}
}
continue;
IL_006c:
num = 1083172627;
}
}
internal static bool WouldOvercap(uint currencyItemId, int amountPerDelivery, int deliveryCount)
{
int value;
int num = (ScripCaps.TryGetValue(currencyItemId, out value) ? (-1863089792) : (-1863089789));
while (true)
{
int num2 = num;
int num3 = -1863089790;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_004d;
case 1:
return false;
case 2:
return _202B_200E_206D_200C_206E_200D_202B_206E_206A_200C_200B_206E_202A_206F_202B_200F_206C_202C_200F_200C_202B_206A_202D_206D_202C_202E_206B_202D_206D_202A_206A_200B_206C_206F_206C_202B_200D_202E_206A_202A_202E(currencyItemId, false, false) + amountPerDelivery * deliveryCount > value;
}
continue;
IL_004d:
num = -1863089789;
}
}
internal int MaxDeliveriesBeforeOvercap(uint rewardRowId, bool hasBonus, Configuration.CustomDeliveryConfiguration.ECollectabilityTier tier = Configuration.CustomDeliveryConfiguration.ECollectabilityTier.High)
{
List<CurrencyReward> list = CalculateRewards(rewardRowId, hasBonus, tier);
int num = int.MaxValue;
int num2;
using (List<CurrencyReward>.Enumerator enumerator = list.GetEnumerator())
{
num2 = -1256353988;
int num10 = default(int);
CurrencyReward current = default(CurrencyReward);
int value = default(int);
while (true)
{
int num3 = num2;
int num4 = -1256353985;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
int num12;
int num11;
switch (num6 - (num7 + num7))
{
case 4:
num12 = num10 / current.AmountPerDelivery;
goto IL_006d;
case 1:
current = enumerator.Current;
num2 = ((!ScripCaps.TryGetValue(current.CurrencyItemId, out value)) ? (-1256353988) : (-1256353985));
break;
case 2:
num2 = -1256353988;
break;
case 5:
num12 = 0;
goto IL_006d;
case 3:
num2 = (enumerator.MoveNext() ? (-1256353986) : (-1256353992));
break;
case 0:
num2 = ((current.AmountPerDelivery <= 0) ? (-1256353988) : (-1256353991));
break;
case 6:
{
int num8 = _202B_200E_206D_200C_206E_200D_202B_206E_206A_200C_200B_206E_202A_206F_202B_200F_206C_202C_200F_200C_202B_206A_202D_206D_202C_202E_206B_202D_206D_202A_206A_200B_206C_206F_206C_202B_200D_202E_206A_202A_202E(current.CurrencyItemId, false, false);
int num9 = value;
num4 = num8;
num5 = num9;
num10 = ~(~num5 + num4);
num2 = ((num10 > 0) ? (-1256353989) : (-1256353990));
break;
}
case 7:
goto end_IL_0021;
IL_006d:
num11 = num12;
num = _200E_202E_200C_200F_206B_206C_200E_200B_202A_206A_200D_200D_200D_202A_200D_200C_206B_202A_200B_206C_206C_202A_200E_200F_206E_206E_200D_206B_206B_206F_202E_206C_200B_202B_206B_206A_202B_200E_206A_200D_202E(num, num11);
num2 = -1256353988;
break;
}
continue;
end_IL_0021:
break;
}
}
num2 = ((num == int.MaxValue) ? 1414795502 : 1414795503);
while (true)
{
int num13 = num2;
int num4 = 1414795502;
int num5 = num13;
switch ((num5 | num4) - (num5 & num4))
{
case 2:
goto IL_01c5;
case 1:
return num;
case 0:
return int.MaxValue;
}
continue;
IL_01c5:
num2 = 1414795503;
}
}
internal int CalculateSatisfactionPerDelivery(uint rewardRowId, bool hasBonus, Configuration.CustomDeliveryConfiguration.ECollectabilityTier tier = Configuration.CustomDeliveryConfiguration.ECollectabilityTier.High)
{
SatisfactionSupplyReward row;
int num = (dataManager.GetExcelSheet<SatisfactionSupplyReward>().TryGetRow(rewardRowId, out row) ? 284816978 : 284816979);
ushort num8 = default(ushort);
int num7 = default(int);
while (true)
{
int num2 = num;
int num3 = 284816978;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 5:
num8 = row.SatisfactionHigh;
num = 284816981;
break;
case 4:
num = ((tier != Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Low) ? 284816983 : 284816977);
break;
case 0:
num = ((tier == Configuration.CustomDeliveryConfiguration.ECollectabilityTier.Mid) ? 284816980 : 284816982);
break;
case 6:
num8 = row.SatisfactionMid;
num = 284816981;
break;
case 9:
return num7;
case 7:
num7 = num8;
num = ((!hasBonus) ? 284816987 : 284816986);
break;
case 2:
num = 284816979;
break;
case 3:
num8 = row.SatisfactionLow;
num = 284816981;
break;
case 8:
num7 = num7 * row.BonusMultiplier / 100;
num = 284816987;
break;
case 1:
return 0;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private string GetCurrencyName(uint currencyItemId)
{
Item row;
int num = ((!dataManager.GetExcelSheet<Item>().TryGetRow(currencyItemId, out row)) ? (-1217003400) : (-1217003397));
while (true)
{
int num2 = num;
int num3 = -1217003399;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1297490435));
defaultInterpolatedStringHandler.AppendFormatted(currencyItemId);
return defaultInterpolatedStringHandler.ToStringAndClear();
}
case 2:
return row.Name.ToString();
case 0:
goto IL_00a7;
}
continue;
IL_00a7:
num = -1217003397;
}
}
static int _202B_200E_206D_200C_206E_200D_202B_206E_206A_200C_200B_206E_202A_206F_202B_200F_206C_202C_200F_200C_202B_206A_202D_206D_202C_202E_206B_202D_206D_202A_206A_200B_206C_206F_206C_202B_200D_202E_206A_202A_202E(uint P_0, bool P_1, bool P_2)
{
return InventoryHelper.GetItemCount(P_0, P_1, P_2);
}
static int _200E_202E_200C_200F_206B_206C_200E_200B_202A_206A_200D_200D_200D_202A_200D_200C_206B_202A_200B_206C_206C_202A_200E_200F_206E_206E_200D_206B_206B_206F_202E_206C_200B_202B_206B_206A_202B_200E_206A_200D_202E(int P_0, int P_1)
{
return Math.Min(P_0, P_1);
}
}

View file

@ -0,0 +1,8 @@
namespace Questionable.Controller.CustomDelivery;
internal enum EDeliverySlot
{
Craft,
Gather,
Fish
}

View file

@ -0,0 +1,14 @@
namespace Questionable.Controller.CustomDelivery;
internal sealed class IngredientPlan
{
public required uint ItemId { get; init; }
public required int TotalNeeded { get; init; }
public required int InInventory { get; init; }
public required int ToBuy { get; init; }
public VendorResolverService.VendorInfo? Vendor { get; init; }
}

View file

@ -0,0 +1,428 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Plugin.Services;
using LLib;
using LLib.Shop;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps;
using Questionable.Functions;
namespace Questionable.Controller.CustomDelivery;
internal sealed class SatisfactionSupplyTurnInExecutor(GameFunctions gameFunctions, IGameGui gameGui, ICondition condition, ILogger<SatisfactionSupplyTurnInExecutor> logger) : TaskExecutor<SatisfactionSupplyTurnInTask>()
{
private enum EPhase
{
InteractWithNpc,
WaitForAddon,
SelectSlot,
ConfirmTrade,
WaitForCutsceneStart,
WaitForCutsceneEnd,
CheckCompletion,
Closing
}
private const long PhaseTimeoutMs = 15000L;
private const long CutsceneTimeoutMs = 60000L;
private Throttle _throttle;
private EPhase _phase;
private int _remaining;
private int _lastUsedDeliveries;
private long _phaseStartMs;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_phase = EPhase.InteractWithNpc;
_remaining = base.Task.DeliveryCount;
_lastUsedDeliveries = _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(base.Task.NpcIndex).UsedDeliveries;
_throttle.Clear();
_phaseStartMs = _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E();
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1474000530), new object[3]
{
base.Task.NpcIndex,
base.Task.Slot,
base.Task.DeliveryCount
});
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
long num = _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E() - _phaseStartMs;
int num2 = ((_phase != EPhase.WaitForCutsceneEnd) ? 427799827 : 427799864);
int usedDeliveries = default(int);
int num6 = default(int);
bool flag = default(bool);
while (true)
{
int num3 = num2;
int num4 = 427799834;
int num5 = num3;
switch ((num5 | num4) - (num5 & num4))
{
default:
continue;
case 2:
num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799857);
continue;
case 44:
SetPhase(EPhase.Closing);
num2 = 427799816;
continue;
case 20:
num2 = 427799864;
continue;
case 31:
goto IL_015d;
case 19:
num2 = 427799816;
continue;
case 11:
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(350961385), Array.Empty<object>());
SetPhase(EPhase.CheckCompletion);
num2 = 427799816;
continue;
case 3:
goto IL_01c7;
case 25:
{
int remaining = _remaining;
int num7 = usedDeliveries;
num4 = _lastUsedDeliveries;
num5 = num7;
num4 = ~(~num5 + num4);
num5 = remaining;
_remaining = _206F_200D_200C_202C_200F_202A_206B_200B_206D_202A_206D_202B_200E_202D_200D_200C_202B_206D_202A_206F_200B_202E_206F_202E_206A_206A_200D_200E_200E_200E_206B_202A_200E_206A_202C_206B_206A_200B_202D_202E_202E(0, ~(~num5 + num4));
_lastUsedDeliveries = usedDeliveries;
num6 = _202D_200F_202C_202A_206D_206A_200C_206F_206E_206E_202C_206E_202D_206A_200B_206F_202E_202A_200C_202A_202C_200D_202E_200D_202C_206D_200D_206B_206F_200C_202A_200F_200B_202E_200D_206F_206C_200D_202D_200F_202E();
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-306504982), new object[2] { _remaining, num6 });
num2 = ((_remaining <= 0) ? 427799862 : 427799860);
continue;
}
case 34:
flag = num > 60000;
num2 = 427799835;
continue;
case 32:
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1631440184), new object[1] { base.Task.Slot });
SetPhase(EPhase.WaitForCutsceneStart);
num2 = 427799816;
continue;
case 33:
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1374604529), Array.Empty<object>());
return ETaskResult.TaskComplete;
case 40:
goto IL_02fd;
case 4:
num2 = ((!_206B_206A_202A_202D_206C_202C_202C_202A_206D_202C_200E_200D_202E_200C_202A_202A_206A_200E_206A_206C_200D_202A_202A_200E_200B_202C_206A_206F_206B_202D_206D_202B_200C_200E_206B_202B_200C_206D_202A_200D_202E(gameGui)) ? 427799836 : 427799815);
continue;
case 28:
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1574397942), Array.Empty<object>());
return ETaskResult.TaskComplete;
case 24:
num2 = ((!_206B_206A_202A_202D_206C_202C_202C_202A_206D_202C_200E_200D_202E_200C_202A_202A_206A_200E_206A_206C_200D_202A_202A_200E_200B_202C_206A_206F_206B_202D_206D_202B_200C_200E_206B_202B_200C_206D_202A_200D_202E(gameGui)) ? 427799816 : 427799826);
continue;
case 5:
num2 = (TryDismissResultAddon() ? 427799816 : 427799856);
continue;
case 42:
num2 = ((!_200C_206C_200D_202C_206C_202E_202E_202E_200B_200F_200D_202A_206E_200C_200F_202C_206E_206E_200B_202C_202D_202E_200E_200E_206D_202E_202C_206C_200B_206F_202C_200F_200E_206D_200F_202B_206B_206F_206D_206B_202E(gameGui)) ? 427799828 : 427799867);
continue;
case 22:
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1456862888), Array.Empty<object>());
SetPhase(EPhase.ConfirmTrade);
num2 = 427799816;
continue;
case 18:
return ETaskResult.StillRunning;
case 0:
num2 = ((!_200B_200E_206A_200F_206F_206A_206F_200C_206B_202E_206D_200C_200C_200B_202D_200F_202B_206D_202A_202B_202B_202A_206A_202E_202B_206E_200D_206C_202D_202E_206C_206F_202A_206E_200E_200F_206A_200D_200B_200E_202E(condition, ConditionFlag.OccupiedInCutSceneEvent)) ? 427799816 : 427799829);
continue;
case 26:
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1394771024), Array.Empty<object>());
num2 = 427799816;
continue;
case 21:
goto IL_0464;
case 37:
SetPhase(EPhase.InteractWithNpc);
num2 = 427799816;
continue;
case 12:
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-251211365), new object[1] { base.Task.NpcDataId });
SetPhase(EPhase.WaitForAddon);
num2 = 427799816;
continue;
case 10:
SetPhase(EPhase.WaitForAddon);
num2 = 427799816;
continue;
case 38:
goto IL_0509;
case 9:
flag = num > 15000;
num2 = 427799835;
continue;
case 17:
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1397355813), Array.Empty<object>());
SetPhase(EPhase.CheckCompletion);
num2 = 427799816;
continue;
case 29:
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1083762627), Array.Empty<object>());
SetPhase(EPhase.SelectSlot);
num2 = 427799816;
continue;
case 13:
num2 = ((!TryDismissResultAddon()) ? 427799810 : 427799871);
continue;
case 27:
num2 = ((!gameFunctions.InteractWith(base.Task.NpcDataId)) ? 427799816 : 427799830);
continue;
case 43:
num2 = ((base.Task.NpcDataId == 0) ? 427799816 : 427799809);
continue;
case 1:
num2 = ((!flag) ? 427799818 : 427799863);
continue;
case 16:
switch (_phase)
{
case EPhase.InteractWithNpc:
break;
case EPhase.SelectSlot:
goto IL_015d;
case EPhase.WaitForAddon:
goto IL_01c7;
case EPhase.ConfirmTrade:
goto IL_02fd;
case EPhase.CheckCompletion:
goto IL_0464;
case EPhase.WaitForCutsceneEnd:
goto IL_0509;
default:
goto IL_0678;
case EPhase.WaitForCutsceneStart:
goto IL_06e7;
case EPhase.Closing:
goto end_IL_0047;
}
goto case 2;
case 46:
num2 = ((num6 <= 0) ? 427799862 : 427799824);
continue;
case 23:
num2 = ((!_202E_200B_202B_202C_202B_202D_206D_206A_202B_206F_200D_200B_206B_206D_206C_206C_206A_202C_206E_206D_202E_206B_200F_200B_202D_200B_206D_202D_200B_202E_200F_202D_206F_206D_202A_202D_202E_202E_206E_206C_202E()) ? 427799816 : 427799866);
continue;
case 7:
num2 = ((!_200E_200F_206E_206C_200E_200F_206D_202C_202E_200E_202A_200D_202E_202D_206E_200B_206C_206A_200C_200E_202A_206E_202B_206C_206E_200C_200E_202E_200F_200C_206D_202B_206C_206E_200F_206B_206C_202A_202B_202B_202E()) ? 427799831 : 427799820);
continue;
case 30:
goto IL_06e7;
case 45:
_206C_202A_206F_200F_206C_202A_200B_200D_206D_206D_202E_206C_202D_206D_206D_202E_200D_202C_200B_200E_202D_200B_200E_202B_200B_202D_202A_206A_200E_206B_202B_202D_206E_206F_206D_200C_202E_202E_206E_206F_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1661028568), new object[2] { _phase, num });
TryDismissResultAddon();
_200C_206C_200D_202C_206C_202E_202E_202E_200B_200F_200D_202A_206E_200C_200F_202C_206E_206E_200B_202C_202D_202E_200E_200E_206D_202E_202C_206C_200B_206F_202C_200F_200E_206D_200F_202B_206B_206F_206D_206B_202E(gameGui);
return ETaskResult.RetryStep;
case 15:
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-285034380), Array.Empty<object>());
SetPhase(EPhase.WaitForCutsceneEnd);
num2 = 427799816;
continue;
case 36:
num2 = (TryDismissResultAddon() ? 427799816 : 427799838);
continue;
case 6:
num2 = ((!_200F_206A_200F_200E_206A_202E_206C_202E_202A_206D_202D_202B_202D_206B_206B_206F_202D_200E_202A_202C_206A_202C_200C_206A_202C_200B_202C_206A_200E_206F_206E_200C_206F_206A_206E_202B_200C_200B_206A_202E_202E(gameGui)) ? 427799859 : 427799865);
continue;
case 14:
num2 = (_202E_200B_202E_200D_206C_206F_206E_200D_202B_206B_202D_200B_200D_202A_206D_202E_200D_202A_200E_200F_206F_206C_202E_206E_206E_206D_200F_202A_206D_206B_202A_200D_206B_200E_200E_206B_202C_206D_200B_202D_202E(gameGui) ? 427799816 : 427799814);
continue;
case 41:
num2 = ((!_200C_206A_206B_200D_200C_202C_206D_206A_206D_206C_202E_200C_202E_202A_206C_206E_202E_206D_202D_200B_200F_202B_200D_206E_200E_200D_206A_206B_206A_206B_206F_206E_200C_202A_202E_206E_202D_206F_200B_200F_202E(gameGui)) ? 427799816 : 427799808);
continue;
case 8:
_202C_200D_206E_206E_200B_202C_206A_206D_206C_202E_200F_206C_206A_200F_202C_206B_206C_202B_202A_206D_206E_202C_206C_200B_206A_202A_200C_202C_200F_202E_200F_206E_206A_206A_202D_200C_206C_202A_206A_206F_202E(gameGui, (int)base.Task.Slot);
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1693755949), new object[1] { base.Task.Slot });
num2 = 427799816;
continue;
case 35:
_202A_206D_206A_200C_202B_200C_206F_200F_200E_200D_206C_202C_200D_202A_202C_206E_206F_200C_202B_206F_206A_202E_206D_206E_202E_206D_202B_206E_202C_202D_206C_206D_200E_206F_200F_206C_200C_200B_200D_206A_202E(gameGui, 0);
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-2145457438), Array.Empty<object>());
num2 = 427799816;
continue;
case 39:
break;
IL_0464:
usedDeliveries = _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(base.Task.NpcIndex).UsedDeliveries;
num2 = ((usedDeliveries <= _lastUsedDeliveries) ? 427799816 : 427799811);
continue;
IL_02fd:
num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799821);
continue;
IL_06e7:
num2 = ((!HasDeliveryRegistered()) ? 427799834 : 427799819);
continue;
IL_0678:
num2 = 427799817;
continue;
IL_015d:
num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799837);
continue;
IL_01c7:
num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799870);
continue;
IL_0509:
num2 = (_200B_200E_206A_200F_206F_206A_206F_200C_206B_202E_206D_200C_200C_200B_202D_200F_202B_206D_202A_202B_202B_202A_206A_202E_202B_206E_200D_206C_202D_202E_206C_206F_202A_206E_200E_200F_206A_200D_200B_200E_202E(condition, ConditionFlag.OccupiedInCutSceneEvent) ? 427799816 : 427799825);
continue;
end_IL_0047:
break;
}
num2 = ((!_throttle.TryReset(0.5)) ? 427799816 : 427799839);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private bool TryDismissResultAddon()
{
int num = (_200D_206D_202C_206F_200E_200D_206D_206A_206D_206F_202C_200C_200D_202E_200F_202C_206D_200C_202D_202E_202A_206A_206F_200F_206A_200D_200C_200E_206B_206A_202E_200D_200B_202C_202B_206C_206D_206C_206C_200F_202E(gameGui) ? 1612697595 : 1612697592);
while (true)
{
int num2 = num;
int num3 = 1612697593;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_004d;
case 2:
_206D_200B_200E_202D_206C_202D_202A_206C_206A_206B_202A_206F_202D_200B_200D_202D_202C_202C_202D_206C_202A_200B_206B_202A_200D_206F_202B_202C_206B_202D_200F_202B_200C_200B_202C_202D_206C_200B_206C_206B_202E(gameGui);
_206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1119009587), Array.Empty<object>());
return true;
case 1:
return false;
}
continue;
IL_004d:
num = 1612697592;
}
}
private void SetPhase(EPhase phase)
{
_phase = phase;
_phaseStartMs = _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E();
}
private bool HasDeliveryRegistered()
{
return _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(base.Task.NpcIndex).UsedDeliveries > _lastUsedDeliveries;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static SatisfactionSupplyActions.NpcState _206D_206D_202E_206B_206B_206F_206D_206E_206A_200C_206F_206F_200C_206C_206C_206E_206B_206D_202D_202D_202E_206D_200D_200C_202D_202E_206B_206E_202E_202B_206C_206E_200E_206F_200F_202D_200C_202E_202B_200E_202E(int P_0)
{
return SatisfactionSupplyActions.GetNpcState(P_0);
}
static long _202D_206E_200C_202C_206E_206A_202D_206D_200C_202B_206E_206A_200E_200E_202C_202B_202B_200D_206E_200E_202D_206A_206B_202C_202E_202C_200C_200C_202E_200D_200F_200E_200B_200C_200F_202B_202A_206F_206A_200C_202E()
{
return Environment.TickCount64;
}
static void _206B_206F_200B_206D_202B_202D_200E_200F_206F_200F_206B_206D_200E_200C_206F_202A_202C_206B_202E_206C_206A_206A_202C_200F_200F_200D_200C_200B_202B_206C_202E_206C_206A_202D_206D_206E_206B_200B_202A_202A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static void _206C_202A_206F_200F_206C_202A_200B_200D_206D_206D_202E_206C_202D_206D_206D_202E_200D_202C_200B_200E_202D_200B_200E_202B_200B_202D_202A_206A_200E_206B_202B_202D_206E_206F_206D_200C_202E_202E_206E_206F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static bool _200C_206C_200D_202C_206C_202E_202E_202E_200B_200F_200D_202A_206E_200C_200F_202C_206E_206E_200B_202C_202D_202E_200E_200E_206D_202E_202C_206C_200B_206F_202C_200F_200E_206D_200F_202B_206B_206F_206D_206B_202E(IGameGui P_0)
{
return SatisfactionSupplyActions.TryCloseSatisfactionSupply(P_0);
}
static bool _206B_206A_202A_202D_206C_202C_202C_202A_206D_202C_200E_200D_202E_200C_202A_202A_206A_200E_206A_206C_200D_202A_202A_200E_200B_202C_206A_206F_206B_202D_206D_202B_200C_200E_206B_202B_200C_206D_202A_200D_202E(IGameGui P_0)
{
return SatisfactionSupplyActions.IsSatisfactionSupplyFullyReady(P_0);
}
static bool _200F_206A_200F_200E_206A_202E_206C_202E_202A_206D_202D_202B_202D_206B_206B_206F_202D_200E_202A_202C_206A_202C_200C_206A_202C_200B_202C_206A_200E_206F_206E_200C_206F_206A_206E_202B_200C_200B_206A_202E_202E(IGameGui P_0)
{
return VendorPurchaseActions.IsDialogReady(P_0);
}
static bool _202A_206D_206A_200C_202B_200C_206F_200F_200E_200D_206C_202C_200D_202A_202C_206E_206F_200C_202B_206F_206A_202E_206D_206E_202E_206D_202B_206E_202C_202D_206C_206D_200E_206F_200F_206C_200C_200B_200D_206A_202E(IGameGui P_0, int P_1)
{
return VendorPurchaseActions.TrySelectDialogOption(P_0, P_1);
}
static bool _200C_206A_206B_200D_200C_202C_206D_206A_206D_206C_202E_200C_202E_202A_206C_206E_202E_206D_202D_200B_200F_202B_200D_206E_200E_200D_206A_206B_206A_206B_206F_206E_200C_202A_202E_206E_202D_206F_200B_200F_202E(IGameGui P_0)
{
return SatisfactionSupplyActions.TryProgressTalk(P_0);
}
static bool _200E_200F_206E_206C_200E_200F_206D_202C_202E_200E_202A_200D_202E_202D_206E_200B_206C_206A_200C_200E_202A_206E_202B_206C_206E_200C_200E_202E_200F_200C_206D_202B_206C_206E_200F_206B_206C_202A_202B_202B_202E()
{
return SatisfactionSupplyActions.IsNpcTradeReady();
}
static bool _202C_200D_206E_206E_200B_202C_206A_206D_206C_202E_200F_206C_206A_200F_202C_206B_206C_202B_202A_206D_206E_202C_206C_200B_206A_202A_200C_202C_200F_202E_200F_206E_206A_206A_202D_200C_206C_202A_206A_206F_202E(IGameGui P_0, int P_1)
{
return SatisfactionSupplyActions.TrySelectDeliverySlot(P_0, P_1);
}
static bool _202E_200B_202B_202C_202B_202D_206D_206A_202B_206F_200D_200B_206B_206D_206C_206C_206A_202C_206E_206D_202E_206B_200F_200B_202D_200B_206D_202D_200B_202E_200F_202D_206F_206D_202A_202D_202E_202E_206E_206C_202E()
{
return SatisfactionSupplyActions.TryConfirmTrade();
}
static bool _200B_200E_206A_200F_206F_206A_206F_200C_206B_202E_206D_200C_200C_200B_202D_200F_202B_206D_202A_202B_202B_202A_206A_202E_202B_206E_200D_206C_202D_202E_206C_206F_202A_206E_200E_200F_206A_200D_200B_200E_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static int _206F_200D_200C_202C_200F_202A_206B_200B_206D_202A_206D_202B_200E_202D_200D_200C_202B_206D_202A_206F_200B_202E_206F_202E_206A_206A_200D_200E_200E_200E_206B_202A_200E_206A_202C_206B_206A_200B_202D_202E_202E(int P_0, int P_1)
{
return Math.Max(P_0, P_1);
}
static int _202D_200F_202C_202A_206D_206A_200C_206F_206E_206E_202C_206E_202D_206A_200B_206F_202E_202A_200C_202A_202C_200D_202E_200D_202C_206D_200D_206B_206F_200C_202A_200F_200B_202E_200D_206F_206C_200D_202D_200F_202E()
{
return SatisfactionSupplyActions.GetRemainingAllowances();
}
static bool _202E_200B_202E_200D_206C_206F_206E_200D_202B_206B_202D_200B_200D_202A_206D_202E_200D_202A_200E_200F_206F_206C_202E_206E_206E_206D_200F_202A_206D_206B_202A_200D_206B_200E_200E_206B_202C_206D_200B_202D_202E(IGameGui P_0)
{
return SatisfactionSupplyActions.IsSatisfactionSupplyReady(P_0);
}
static bool _200D_206D_202C_206F_200E_200D_206D_206A_206D_206F_202C_200C_200D_202E_200F_202C_206D_200C_202D_202E_202A_206A_206F_200F_206A_200D_200C_200E_206B_206A_202E_200D_200B_202C_202B_206C_206D_206C_206C_200F_202E(IGameGui P_0)
{
return SatisfactionSupplyActions.IsSatisfactionSupplyResultVisible(P_0);
}
static bool _206D_200B_200E_202D_206C_202D_202A_206C_206A_206B_202A_206F_202D_200B_200D_202D_202C_202C_202D_206C_202A_200B_206B_202A_200D_206F_202B_202C_206B_202D_200F_202B_200C_200B_202C_202D_206C_200B_206C_206B_202E(IGameGui P_0)
{
return SatisfactionSupplyActions.TryCloseSatisfactionSupplyResult(P_0);
}
}

View file

@ -0,0 +1,117 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Questionable.Controller.Steps;
namespace Questionable.Controller.CustomDelivery;
internal sealed record SatisfactionSupplyTurnInTask(int NpcIndex, EDeliverySlot Slot, int DeliveryCount, uint NpcDataId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200F_206E_202C_200D_206E_200F_200F_202C_200C_206B_206A_202A_206C_202E_202B_206D_200C_206F_206B_206E_200F_200E_200F_202E_206B_200D_206A_202A_206D_200D_202D_206A_202A_202C_206B_206F_202B_202E_202D_206C_202E(typeof(SatisfactionSupplyTurnInTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(27, 3);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1300446303));
defaultInterpolatedStringHandler.AppendFormatted(NpcIndex);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1337890915));
defaultInterpolatedStringHandler.AppendFormatted(Slot);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1866089119));
defaultInterpolatedStringHandler.AppendFormatted(DeliveryCount);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(444206578));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206C_206B_206E_200D_200C_200F_200C_206F_202C_202E_206D_200C_202D_202C_202C_200F_202B_202E_200F_202B_202E_206D_200E_200F_206E_206E_200F_202E_202D_206B_206D_206A_200C_206E_202C_200F_200D_202B_206D_200C_202E();
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1595512881));
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, NpcIndex.ToString());
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1002596104));
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, Slot.ToString());
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1495805969));
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, DeliveryCount.ToString());
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1084145586));
_200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(builder, NpcDataId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(SatisfactionSupplyTurnInTask? other)
{
int num = (((object)this == other) ? 887679026 : 887679031);
while (true)
{
int num2 = num;
int num3 = 887679025;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 8:
return EqualityComparer<uint>.Default.Equals(NpcDataId, other.NpcDataId);
case 1:
num = ((!EqualityComparer<int>.Default.Equals(DeliveryCount, other.DeliveryCount)) ? 887679029 : 887679033);
break;
case 5:
num = ((!EqualityComparer<int>.Default.Equals(NpcIndex, other.NpcIndex)) ? 887679029 : 887679027);
break;
case 6:
num = (((object)other == null) ? 887679029 : 887679030);
break;
case 2:
num = ((!EqualityComparer<EDeliverySlot>.Default.Equals(Slot, other.Slot)) ? 887679029 : 887679024);
break;
case 3:
return true;
case 4:
return false;
case 0:
num = 887679031;
break;
case 7:
num = ((!_200F_206E_202C_200B_206A_200D_206E_202C_206E_202D_202D_200D_202B_200B_202E_206E_200F_200D_200C_200C_206F_206C_200B_200E_202E_200F_200E_206F_200D_200C_202A_200F_202C_206C_202E_200D_206B_206F_202A_200F_202E(EqualityContract, other.EqualityContract)) ? 887679029 : 887679028);
break;
}
}
}
bool IEquatable<SatisfactionSupplyTurnInTask>.Equals(SatisfactionSupplyTurnInTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200F_206E_202C_200D_206E_200F_200F_202C_200C_206B_206A_202A_206C_202E_202B_206D_200C_206F_206B_206E_200F_200E_200F_202E_206B_200D_206A_202A_206D_200D_202D_206A_202A_202C_206B_206F_202B_202E_202D_206C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206C_206B_206E_200D_200C_200F_200C_206F_202C_202E_206D_200C_202D_202C_202C_200F_202B_202E_200F_202B_202E_206D_200E_200F_206E_206E_200F_202E_202D_206B_206D_206A_200C_206E_202C_200F_200D_202B_206D_200C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200B_202B_206D_202C_200D_200B_200D_202A_206F_202B_206E_202C_202D_206D_206D_200B_206D_206B_206B_202C_202C_206C_202C_200C_206D_202C_200F_202A_202D_200F_200D_200D_206C_206C_202A_202E_200E_206A_206A_206F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _200F_206E_202C_200B_206A_200D_206E_202C_206E_202D_202D_200D_202B_200B_202E_206E_200F_200D_200C_200C_206F_206C_200B_200E_202E_200F_200E_206F_200D_200C_202A_200F_202C_206C_202E_200D_206B_206F_202A_200F_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -0,0 +1,419 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using LLib;
using LLib.Shop;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps;
using Questionable.Functions;
namespace Questionable.Controller.CustomDelivery;
internal sealed class VendorPurchaseExecutor(GameFunctions gameFunctions, IGameGui gameGui, ICondition condition, ILogger<VendorPurchaseExecutor> logger) : TaskExecutor<VendorPurchaseTask>()
{
private enum EState
{
InteractWithNpc,
WaitForShopOrDialog,
BuyItem,
WaitForBuy,
CloseShop,
WaitForClose
}
private const long StateTimeoutMs = 15000L;
private const long BuyConfirmationTimeoutMs = 2000L;
private const int MaxBuyAttempts = 3;
private EState _state;
private Throttle _throttle;
private int _purchaseIndex;
private long _stateStartMs;
private bool _failed;
private int _countBeforeBuy;
private int _buyAttempts;
private bool _confirmationClicked;
protected override bool Start()
{
_state = EState.InteractWithNpc;
_throttle.Clear();
_purchaseIndex = 0;
_stateStartMs = _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E();
_failed = false;
_countBeforeBuy = 0;
_buyAttempts = 0;
_confirmationClicked = false;
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
long num = _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E() - _stateStartMs;
int num2 = ((_state == EState.WaitForBuy) ? 839409606 : 839409644);
int inventoryItemCount = default(int);
VendorPurchaseTask.PurchaseItem purchaseItem = default(VendorPurchaseTask.PurchaseItem);
VendorPurchaseTask.PurchaseItem purchaseItem2 = default(VendorPurchaseTask.PurchaseItem);
int num16 = default(int);
while (true)
{
int num3 = num2;
int num4 = 839409609;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 11:
num2 = 839409644;
break;
case 26:
return ETaskResult.StillRunning;
case 10:
return ETaskResult.StillRunning;
case 7:
return ETaskResult.StillRunning;
case 34:
num2 = ((!_206F_200E_200B_206B_202C_206A_206B_200E_206B_202E_206A_206D_202C_200D_200F_200B_200B_206B_202D_200C_200D_202C_202A_200E_206D_200E_200B_202A_206A_206F_206F_202C_202B_200F_202D_206C_200F_202C_202A_206B_202E(gameGui)) ? 839409635 : 839409631);
break;
case 37:
num2 = ((num <= 15000) ? 839409606 : 839409622);
break;
case 6:
goto IL_0195;
case 23:
return ETaskResult.StillRunning;
case 21:
inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(purchaseItem.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0);
num2 = ((inventoryItemCount > _countBeforeBuy) ? 839409605 : 839409604);
break;
case 51:
return ETaskResult.StillRunning;
case 32:
return ETaskResult.StillRunning;
case 35:
num2 = (_202D_202E_202D_206E_202A_202A_206B_206B_202C_202E_200B_200D_202B_202C_202E_200B_202B_200E_200D_206E_202B_206B_206C_206C_202A_202D_202B_202E_200C_200C_206C_202A_200D_200C_200F_202C_202C_200F_206B_202D_202E(condition, ConditionFlag.OccupiedInEvent) ? 839409603 : 839409656);
break;
case 30:
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1366453963), Array.Empty<object>());
SetState(EState.WaitForClose);
num2 = 839409637;
break;
case 44:
return ETaskResult.StillRunning;
case 46:
num2 = (_throttle.TryReset(0.5) ? 839409607 : 839409614);
break;
case 56:
goto IL_0292;
case 52:
{
int buyAttempts2 = _buyAttempts;
num4 = 1;
num5 = buyAttempts2;
int num14 = num5 ^ num4;
int num15 = num5 & num4;
_buyAttempts = num14 + (num15 + num15);
_confirmationClicked = false;
ILogger<VendorPurchaseExecutor> logger3 = logger;
string text3 = global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1763985144);
object[] obj2 = new object[7] { purchaseItem2.ItemId, num16, purchaseItem2.Quantity, _buyAttempts, 3, null, null };
int purchaseIndex3 = _purchaseIndex;
num4 = 1;
num5 = purchaseIndex3;
int num17 = num5 ^ num4;
int num18 = num5 & num4;
obj2[5] = num17 + (num18 + num18);
obj2[6] = base.Task.Purchases.Count;
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger3, text3, obj2);
SetState(EState.WaitForBuy);
num2 = 839409636;
break;
}
case 33:
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(519166747), Array.Empty<object>());
SetState(EState.BuyItem);
num2 = 839409658;
break;
case 14:
num2 = ((!_200D_206B_206A_200C_200F_206A_202A_200E_200F_206D_202E_200D_200B_206A_200D_202B_200D_206C_202E_206A_202C_206B_202E_206F_206A_202B_202B_206B_202A_200C_202B_200B_202B_202C_206A_200C_202D_206B_206D_202B_202E(gameGui, base.Task.DialogOptionIndex)) ? 839409658 : 839409638);
break;
case 17:
num2 = ((!gameFunctions.InteractWith(base.Task.VendorNpcId)) ? 839409618 : 839409616);
break;
case 55:
return ETaskResult.StillRunning;
case 47:
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(457605072), new object[1] { base.Task.DialogOptionIndex });
num2 = 839409658;
break;
case 53:
num2 = ((_buyAttempts >= 3) ? 839409659 : 839409633);
break;
case 9:
return ETaskResult.StillRunning;
case 41:
{
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-87832125), new object[3] { purchaseItem.ItemId, _countBeforeBuy, inventoryItemCount });
int purchaseIndex = _purchaseIndex;
num4 = 1;
num5 = purchaseIndex;
int num8 = num5 ^ num4;
int num9 = num5 & num4;
_purchaseIndex = num8 + (num9 + num9);
num2 = ((_purchaseIndex >= base.Task.Purchases.Count) ? 839409629 : 839409601);
break;
}
case 36:
purchaseItem2 = base.Task.Purchases[_purchaseIndex];
num16 = _200B_206D_202D_202A_202A_202E_206A_206E_206A_200C_202A_206C_206D_200E_206D_200D_206B_202D_202D_206A_206C_202C_202D_200F_206E_202D_206F_206F_206C_202C_202B_202A_200E_200E_200D_202B_200E_200C_206C_200D_202E(gameGui, purchaseItem2.ItemId);
num2 = ((num16 >= 0) ? 839409611 : 839409617);
break;
case 1:
goto IL_055e;
case 2:
_countBeforeBuy = InventoryManager.Instance()->GetInventoryItemCount(purchaseItem2.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0);
num2 = ((!_206F_200D_206B_206C_202C_202D_206A_200F_200B_206E_206A_206B_200C_206D_200D_200E_206B_202E_200F_206B_200C_200E_206F_206D_202A_202C_200B_206D_202A_206D_200E_202D_202A_200E_202A_200F_200C_202E_202B_202A_202E(gameGui, num16, purchaseItem2.Quantity)) ? 839409636 : 839409661);
break;
case 50:
_200E_202B_200C_200C_206A_200E_206D_202D_200C_200F_200F_202C_200C_206F_206A_206D_202A_202A_202A_200F_206B_200C_200E_206C_206B_206F_202E_200E_206B_206F_206C_202E_206B_206B_202B_200C_202B_200C_206E_200D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-968313219), new object[2] { purchaseItem.ItemId, _buyAttempts });
_failed = true;
SetState(EState.CloseShop);
return ETaskResult.StillRunning;
case 24:
_200E_202B_200C_200C_206A_200E_206D_202D_200C_200F_200F_202C_200C_206F_206A_206D_202A_202A_202A_200F_206B_200C_200E_206C_206B_206F_202E_200E_206B_206F_206C_202E_206B_206B_202B_200C_202B_200C_206E_200D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(326113005), new object[1] { purchaseItem2.ItemId });
_failed = true;
SetState(EState.CloseShop);
return ETaskResult.StillRunning;
case 18:
_confirmationClicked = true;
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1038383555), new object[1] { purchaseItem.ItemId });
SetState(EState.WaitForBuy);
return ETaskResult.StillRunning;
case 13:
num2 = ((num >= 2000) ? 839409660 : 839409641);
break;
case 31:
_206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-208232877), new object[2] { _state, num });
return ETaskResult.RetryStep;
case 19:
num2 = (_throttle.TryReset(0.5) ? 839409657 : 839409600);
break;
case 54:
return ETaskResult.StillRunning;
case 38:
return ETaskResult.StillRunning;
case 8:
{
_buyAttempts = 0;
ILogger<VendorPurchaseExecutor> logger2 = logger;
string text2 = global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-274284666);
object[] array = new object[2];
int purchaseIndex2 = _purchaseIndex;
num4 = 1;
num5 = purchaseIndex2;
int num12 = num5 ^ num4;
int num13 = num5 & num4;
array[0] = num12 + (num13 + num13);
array[1] = base.Task.Purchases.Count;
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger2, text2, array);
SetState(EState.BuyItem);
num2 = 839409663;
break;
}
case 20:
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1561512200), Array.Empty<object>());
SetState(EState.CloseShop);
num2 = 839409663;
break;
case 27:
return ETaskResult.StillRunning;
case 49:
num2 = ((!_failed) ? 839409610 : 839409625);
break;
case 25:
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(816270239), new object[1] { base.Task.VendorNpcId });
SetState(EState.WaitForShopOrDialog);
num2 = 839409618;
break;
case 22:
return ETaskResult.StillRunning;
case 39:
num2 = 839409662;
break;
case 43:
goto IL_0831;
case 15:
switch (_state)
{
case EState.WaitForClose:
break;
case EState.BuyItem:
goto IL_0195;
case EState.WaitForShopOrDialog:
goto IL_0292;
case EState.CloseShop:
goto IL_055e;
case EState.WaitForBuy:
goto IL_0831;
default:
goto IL_0892;
case EState.InteractWithNpc:
goto IL_0a14;
}
goto case 34;
case 40:
{
ILogger<VendorPurchaseExecutor> logger = logger;
string text = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-366147931);
object[] obj = new object[3] { purchaseItem.ItemId, null, null };
int buyAttempts = _buyAttempts;
num4 = 1;
num5 = buyAttempts;
int num10 = num5 ^ num4;
int num11 = num5 & num4;
obj[1] = num10 + (num11 + num11);
obj[2] = 3;
_206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_202E((ILogger)logger, text, obj);
SetState(EState.BuyItem);
return ETaskResult.StillRunning;
}
case 42:
num2 = ((!_206F_200D_202E_206A_206F_200C_206A_200C_202B_206F_206A_200D_200E_206B_200E_200D_200B_200D_202A_206A_200F_206E_206A_206A_200D_206E_202C_206F_202D_206A_206B_206F_200D_206A_206B_206E_206C_206A_206A_206A_202E(gameGui)) ? 839409642 : 839409626);
break;
case 45:
return ETaskResult.StillRunning;
case 0:
num2 = ((!_206B_200B_206C_202D_206B_206C_202E_202E_202C_206E_206E_200C_206F_202D_200B_200C_206A_200B_202B_202C_206C_206D_206A_202A_200F_200C_206C_200F_202A_200D_206A_206C_200E_202A_206B_206B_202C_200D_200C_200D_202E(gameGui)) ? 839409628 : 839409627);
break;
case 12:
num2 = (_throttle.TryReset(0.5) ? 839409632 : 839409647);
break;
case 29:
num2 = ((!_206F_200D_202E_206A_206F_200C_206A_200C_202B_206F_206A_200D_200E_206B_200E_200D_200B_200D_202A_206A_200F_206E_206A_206A_200D_206E_202C_206F_202D_206A_206B_206F_200D_206A_206B_206E_206C_206A_206A_206A_202E(gameGui)) ? 839409658 : 839409639);
break;
case 3:
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1460452754), Array.Empty<object>());
return ETaskResult.TaskComplete;
case 4:
return ETaskResult.StillRunning;
case 28:
num2 = ((!_206D_202A_202D_200F_206C_202A_200D_206A_202E_206A_206B_200C_206F_206B_202C_206D_200C_206C_202D_200F_202D_200F_206C_206C_200C_200D_202D_200C_202A_200D_202D_206D_200B_200D_202C_206D_206F_206A_202A_202C_202E(gameGui)) ? 839409637 : 839409623);
break;
case 48:
_200D_206B_206A_200C_200F_206A_202A_200E_200F_206D_202E_200D_200B_206A_200D_202B_200D_206C_202E_206A_202C_206B_202E_206F_206A_202B_202B_206B_202A_200C_202B_200B_202B_202C_206A_200C_202D_206B_206D_202B_202E(gameGui, -1);
_206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(408167584), Array.Empty<object>());
return ETaskResult.StillRunning;
case 5:
goto IL_0a14;
case 16:
{
_206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1743816671), Array.Empty<object>());
return ETaskResult.RetryStep;
}
IL_0a14:
num2 = (_throttle.TryReset(1.0) ? 839409624 : 839409619);
break;
IL_0892:
num2 = 839409646;
break;
IL_0831:
purchaseItem = base.Task.Purchases[_purchaseIndex];
num2 = (_confirmationClicked ? 839409628 : 839409609);
break;
IL_0292:
num2 = ((!_206F_200E_200B_206B_202C_206A_206B_200E_206B_202E_206A_206D_202C_200D_200F_200B_200B_206B_202D_200C_200D_202C_202A_200E_206D_200E_200B_202A_206A_206F_206F_202C_202B_200F_202D_206C_200F_202C_202A_206B_202E(gameGui)) ? 839409620 : 839409640);
break;
IL_0195:
num2 = (_throttle.TryReset(0.5) ? 839409645 : 839409613);
break;
IL_055e:
num2 = (_throttle.TryReset(0.5) ? 839409621 : 839409630);
break;
}
}
}
private void SetState(EState state)
{
_state = state;
_stateStartMs = _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E();
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static long _206E_206E_200E_202B_202A_206A_200C_206D_206A_202D_202B_206E_206D_206E_200C_200D_202A_200D_200C_202D_202E_200F_206D_206E_206C_202C_206C_206A_200E_206D_200F_206C_206E_202B_206A_206B_200E_200F_206E_206B_202E()
{
return Environment.TickCount64;
}
static void _206D_202B_206F_206B_200B_206E_202B_206A_200B_206C_206C_202C_206A_206B_206F_206B_200D_200B_206A_206A_202A_202B_200F_202E_202B_200B_200E_200B_206D_200B_202E_202D_202B_206A_206D_202D_202A_200B_200B_200C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static void _206E_206D_206F_202B_206D_206E_202E_200B_202A_202E_200C_202C_202C_202C_206F_202E_206E_200C_202D_202A_202A_200D_206A_202A_206C_206A_206E_200E_206F_206B_202B_202B_206B_200E_200F_206F_206E_200E_202B_206B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _206F_200E_200B_206B_202C_206A_206B_200E_206B_202E_206A_206D_202C_200D_200F_200B_200B_206B_202D_200C_200D_202C_202A_200E_206D_200E_200B_202A_206A_206F_206F_202C_202B_200F_202D_206C_200F_202C_202A_206B_202E(IGameGui P_0)
{
return VendorPurchaseActions.IsShopReady(P_0);
}
static bool _206F_200D_202E_206A_206F_200C_206A_200C_202B_206F_206A_200D_200E_206B_200E_200D_200B_200D_202A_206A_200F_206E_206A_206A_200D_206E_202C_206F_202D_206A_206B_206F_200D_206A_206B_206E_206C_206A_206A_206A_202E(IGameGui P_0)
{
return VendorPurchaseActions.IsDialogReady(P_0);
}
static bool _200D_206B_206A_200C_200F_206A_202A_200E_200F_206D_202E_200D_200B_206A_200D_202B_200D_206C_202E_206A_202C_206B_202E_206F_206A_202B_202B_206B_202A_200C_202B_200B_202B_202C_206A_200C_202D_206B_206D_202B_202E(IGameGui P_0, int P_1)
{
return VendorPurchaseActions.TrySelectDialogOption(P_0, P_1);
}
static int _200B_206D_202D_202A_202A_202E_206A_206E_206A_200C_202A_206C_206D_200E_206D_200D_206B_202D_202D_206A_206C_202C_202D_200F_206E_202D_206F_206F_206C_202C_202B_202A_200E_200E_200D_202B_200E_200C_206C_200D_202E(IGameGui P_0, uint P_1)
{
return VendorPurchaseActions.FindItemDisplayIndex(P_0, P_1);
}
static void _200E_202B_200C_200C_206A_200E_206D_202D_200C_200F_200F_202C_200C_206F_206A_206D_202A_202A_202A_200F_206B_200C_200E_206C_206B_206F_202E_200E_206B_206F_206C_202E_206B_206B_202B_200C_202B_200C_206E_200D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogError(P_1, P_2);
}
static bool _206F_200D_206B_206C_202C_202D_206A_200F_200B_206E_206A_206B_200C_206D_200D_200E_206B_202E_200F_206B_200C_200E_206F_206D_202A_202C_200B_206D_202A_206D_200E_202D_202A_200E_202A_200F_200C_202E_202B_202A_202E(IGameGui P_0, int P_1, int P_2)
{
return VendorPurchaseActions.TryBuyItem(P_0, P_1, P_2);
}
static bool _206B_200B_206C_202D_206B_206C_202E_202E_202C_206E_206E_200C_206F_202D_200B_200C_206A_200B_202B_202C_206C_206D_206A_202A_200F_200C_206C_200F_202A_200D_206A_206C_200E_202A_206B_206B_202C_200D_200C_200D_202E(IGameGui P_0)
{
return VendorPurchaseActions.TryConfirmPurchase(P_0);
}
static bool _206D_202A_202D_200F_206C_202A_200D_206A_202E_206A_206B_200C_206F_206B_202C_206D_200C_206C_202D_200F_202D_200F_206C_206C_200C_200D_202D_200C_202A_200D_202D_206D_200B_200D_202C_206D_206F_206A_202A_202C_202E(IGameGui P_0)
{
return VendorPurchaseActions.TryCloseShop(P_0);
}
static bool _202D_202E_202D_206E_202A_202A_206B_206B_202C_202E_200B_200D_202B_202C_202E_200B_202B_200E_200D_206E_202B_206B_206C_206C_202A_202D_202B_202E_200C_200C_206C_202A_200D_200C_200F_202C_202C_200F_206B_202D_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
}

View file

@ -0,0 +1,244 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Questionable.Controller.Steps;
namespace Questionable.Controller.CustomDelivery;
internal sealed record VendorPurchaseTask(uint VendorNpcId, IReadOnlyList<PurchaseItem> Purchases, int DialogOptionIndex = 0) : ITask
{
internal readonly record struct PurchaseItem(uint ItemId, int Quantity)
{
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _206F_200F_200F_206B_200C_206F_200D_202E_206F_202D_200D_200E_202C_202E_206F_206C_200D_206D_206F_206D_206E_206A_206B_206F_206E_200D_200C_206B_200F_200D_200C_202A_202B_200F_206D_200E_202C_202D_206A_202C_202E();
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1504160608));
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1664411125));
int num = ((!PrintMembers(stringBuilder)) ? 1320909858 : 1320909859);
while (true)
{
int num2 = num;
int num3 = 1320909858;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = 1320909859;
break;
case 1:
_202A_202A_206F_206C_206B_200F_202A_200F_200C_200D_206B_200E_206B_200E_200E_202D_206F_202E_206A_202E_206B_202B_200E_200F_200B_202E_200F_200B_202C_200D_200B_202A_206E_206D_200C_202C_202E_206A_200B_200F_202E(stringBuilder, ' ');
num = 1320909858;
break;
case 0:
_202A_202A_206F_206C_206B_200F_202A_200F_200C_200D_206B_200E_206B_200E_200E_202D_206F_202E_206A_202E_206B_202B_200E_200F_200B_202E_200F_200B_202C_200D_200B_202A_206E_206D_200C_202C_202E_206A_200B_200F_202E(stringBuilder, '}');
return _206C_202D_206D_200E_200B_200F_200E_200C_202C_206D_206A_202E_202E_200C_206D_202E_200B_202C_206B_200F_206A_200D_202E_206D_200B_206A_202B_202C_200F_200F_200B_202E_202C_202B_200E_202B_206C_206E_200E_200C_202E((object)stringBuilder);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1176260912));
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(builder, ItemId.ToString());
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-640041388));
_202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(builder, Quantity.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(PurchaseItem other)
{
int num = ((!EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId)) ? (-997799700) : (-997799699));
while (true)
{
int num2 = num;
int num3 = -997799700;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_0058;
case 1:
return EqualityComparer<int>.Default.Equals(Quantity, other.Quantity);
case 0:
return false;
}
continue;
IL_0058:
num = -997799699;
}
}
bool IEquatable<PurchaseItem>.Equals(PurchaseItem other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static StringBuilder _206F_200F_200F_206B_200C_206F_200D_202E_206F_202D_200D_200E_202C_202E_206F_206C_200D_206D_206F_206D_206E_206A_206B_206F_206E_200D_200C_206B_200F_200D_200C_202A_202B_200F_206D_200E_202C_202D_206A_202C_202E()
{
return new StringBuilder();
}
static StringBuilder _202E_200B_206F_206D_202A_200F_206B_200D_200F_202C_202E_200B_206B_206D_202D_206B_202B_206F_206A_200E_202C_202C_202A_206B_206A_206B_202B_206A_202B_206A_206D_202D_206F_206C_206C_206A_206D_206C_202B_202E_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202A_202A_206F_206C_206B_200F_202A_200F_200C_200D_206B_200E_206B_200E_200E_202D_206F_202E_206A_202E_206B_202B_200E_200F_200B_202E_200F_200B_202C_200D_200B_202A_206E_206D_200C_202C_202E_206A_200B_200F_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _206C_202D_206D_200E_200B_200F_200E_200C_202C_206D_206A_202E_202E_200C_206D_202E_200B_202C_206B_200F_206A_200D_202E_206D_200B_206A_202B_202C_200F_200F_200B_202E_202C_202B_200E_202B_206C_206E_200E_200C_202E(object P_0)
{
return P_0.ToString();
}
}
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206B_206B_206F_200C_206F_202C_206A_200C_206B_206C_200C_200B_200F_200B_202E_202A_200E_200C_206E_206B_202D_202E_202D_206A_200F_202B_202E_202B_206A_206F_206A_200B_200C_200D_200B_206A_206D_200B_206B_202E(typeof(VendorPurchaseTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
int num = ((Purchases.Count == 1) ? 681809870 : 681809871);
while (true)
{
int num2 = num;
int num3 = 681809870;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_0052;
case 0:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(34, 4);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-426748651));
defaultInterpolatedStringHandler2.AppendFormatted(VendorNpcId);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1317325121));
defaultInterpolatedStringHandler2.AppendFormatted(Purchases[0].ItemId);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1725354679));
defaultInterpolatedStringHandler2.AppendFormatted(Purchases[0].Quantity);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1203794399));
defaultInterpolatedStringHandler2.AppendFormatted(DialogOptionIndex);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1618480346));
return defaultInterpolatedStringHandler2.ToStringAndClear();
}
case 1:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(33, 3);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1531781508));
defaultInterpolatedStringHandler.AppendFormatted(VendorNpcId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1467939024));
defaultInterpolatedStringHandler.AppendFormatted(Purchases.Count);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1987907938));
defaultInterpolatedStringHandler.AppendFormatted(DialogOptionIndex);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
}
continue;
IL_0052:
num = 681809871;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200C_200B_202C_202A_206A_206D_206B_200C_202A_202C_202A_202A_202E_206E_206B_206B_200B_206B_200B_200E_206A_200C_206A_206C_206E_200F_202E_200E_202D_206E_202D_202C_202E_202A_206A_206C_206D_200D_200E_200E_202E();
_206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(206754998));
_206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, VendorNpcId.ToString());
_206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(166759684));
_202E_206F_200B_202B_202B_202E_200F_206C_200B_200B_202A_206F_200E_200E_206B_202E_202B_206E_206C_202B_200F_200E_202B_206F_202D_202A_206A_200E_200E_206F_206A_200B_206E_206D_206F_206F_202C_202D_206A_202A_202E(builder, (object)Purchases);
_206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(474766985));
_206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(builder, DialogOptionIndex.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(VendorPurchaseTask? other)
{
int num = (((object)this == other) ? (-1933996366) : (-1933996367));
while (true)
{
int num2 = num;
int num3 = -1933996361;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -1933996367;
break;
case 5:
return true;
case 6:
num = (((object)other == null) ? (-1933996364) : (-1933996362));
break;
case 2:
return EqualityComparer<int>.Default.Equals(DialogOptionIndex, other.DialogOptionIndex);
case 7:
num = ((!EqualityComparer<uint>.Default.Equals(VendorNpcId, other.VendorNpcId)) ? (-1933996364) : (-1933996365));
break;
case 4:
num = ((!EqualityComparer<IReadOnlyList<PurchaseItem>>.Default.Equals(Purchases, other.Purchases)) ? (-1933996364) : (-1933996363));
break;
case 1:
num = ((!_202C_202E_200C_202E_202C_200D_200B_200F_206C_202E_202A_200D_200C_200D_202E_206F_202A_202C_202A_200F_200D_202D_206F_206D_206B_206F_206A_202E_200F_202D_202A_202A_200E_200B_202D_206D_206B_200B_202A_202B_202E(EqualityContract, other.EqualityContract)) ? (-1933996364) : (-1933996368));
break;
case 3:
return false;
}
}
}
bool IEquatable<VendorPurchaseTask>.Equals(VendorPurchaseTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206B_206B_206F_200C_206F_202C_206A_200C_206B_206C_200C_200B_200F_200B_202E_202A_200E_200C_206E_206B_202D_202E_202D_206A_200F_202B_202E_202B_206A_206F_206A_200B_200C_200D_200B_206A_206D_200B_206B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200C_200B_202C_202A_206A_206D_206B_200C_202A_202C_202A_202A_202E_206E_206B_206B_200B_206B_200B_200E_206A_200C_206A_206C_206E_200F_202E_200E_202D_206E_202D_202C_202E_202A_206A_206C_206D_200D_200E_200E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206A_206F_206E_206E_202A_202A_206A_200C_200F_200B_206F_206A_202A_200C_206A_202E_206F_200E_206C_206B_200F_206A_200E_200E_206F_200D_202B_202B_200D_206F_206D_200C_200B_206F_206E_200C_206E_200B_200D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202E_206F_200B_202B_202B_202E_200F_206C_200B_200B_202A_206F_200E_200E_206B_202E_202B_206E_206C_202B_200F_200E_202B_206F_202D_202A_206A_200E_200E_206F_206A_200B_206E_206D_206F_206F_202C_202D_206A_202A_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _202C_202E_200C_202E_202C_200D_200B_200F_206C_202E_202A_200D_200C_200D_202E_206F_202A_202C_202A_200F_200D_202D_206F_206D_206B_206F_206A_202E_200F_202D_202A_202A_200E_200B_202D_206D_206B_200B_202A_202B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -0,0 +1,592 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Plugin.Services;
using LLib.GameData;
using LLib.Shop;
using LLib.Shop.Model;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
namespace Questionable.Controller.CustomDelivery;
internal sealed class VendorResolverService(IDataManager dataManager, VendorResolver vendorResolver, NpcPositionCache npcPositionCache, ILogger<VendorResolverService> logger)
{
internal readonly record struct IngredientInfo(uint ItemId, int CountPerCraft)
{
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _200E_206E_200E_206F_200D_200E_202C_206A_200C_202A_206B_200E_200E_202E_202C_200D_202A_206E_206D_200C_200F_202A_206C_200E_202D_200B_200C_206D_206A_206B_202D_206B_200C_206C_206F_206B_202D_202E_206C_200D_202E();
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1900362320));
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(556540328));
int num = ((!PrintMembers(stringBuilder)) ? 985551290 : 985551291);
while (true)
{
int num2 = num;
int num3 = 985551290;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 985551291;
break;
case 0:
_202D_206F_206D_200C_206E_206F_200C_200D_202C_200B_202D_202B_206E_202A_206F_200F_200C_200B_206C_202B_206F_200C_202E_202D_200E_202D_202B_200F_200D_202D_200B_202C_202E_200E_206A_202E_206A_206E_202B_206C_202E(stringBuilder, '}');
return _200C_206D_202E_202B_202E_202D_206B_200C_206B_202B_206D_200B_206F_206F_200C_200E_206F_202B_200B_200C_202D_206A_202C_206A_206D_200F_206E_200F_200E_206C_202B_200B_202E_202E_200B_202C_202D_202D_200E_206E_202E((object)stringBuilder);
case 1:
_202D_206F_206D_200C_206E_206F_200C_200D_202C_200B_202D_202B_206E_202A_206F_200F_200C_200B_206C_202B_206F_200C_202E_202D_200E_202D_202B_200F_200D_202D_200B_202C_202E_200E_206A_202E_206A_206E_202B_206C_202E(stringBuilder, ' ');
num = 985551290;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1176260912));
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(builder, ItemId.ToString());
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-710805120));
_202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(builder, CountPerCraft.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(IngredientInfo other)
{
int num = ((!EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId)) ? (-577386697) : (-577386700));
while (true)
{
int num2 = num;
int num3 = -577386698;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return false;
case 2:
return EqualityComparer<int>.Default.Equals(CountPerCraft, other.CountPerCraft);
case 0:
goto IL_0071;
}
continue;
IL_0071:
num = -577386700;
}
}
bool IEquatable<IngredientInfo>.Equals(IngredientInfo other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static StringBuilder _200E_206E_200E_206F_200D_200E_202C_206A_200C_202A_206B_200E_200E_202E_202C_200D_202A_206E_206D_200C_200F_202A_206C_200E_202D_200B_200C_206D_206A_206B_202D_206B_200C_206C_206F_206B_202D_202E_206C_200D_202E()
{
return new StringBuilder();
}
static StringBuilder _202C_206A_206F_206A_200F_206C_200E_200B_202E_200F_202E_200C_206F_202B_206C_206E_202C_200C_206A_202B_206E_202E_200F_200E_206E_202E_200B_206C_200D_206F_200E_202B_202D_206D_202A_200B_206C_206A_206F_206C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202D_206F_206D_200C_206E_206F_200C_200D_202C_200B_202D_202B_206E_202A_206F_200F_200C_200B_206C_202B_206F_200C_202E_202D_200E_202D_202B_200F_200D_202D_200B_202C_202E_200E_206A_202E_206A_206E_202B_206C_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _200C_206D_202E_202B_202E_202D_206B_200C_206B_202B_206D_200B_206F_206F_200C_200E_206F_202B_200B_200C_202D_206A_202C_206A_206D_200F_206E_200F_200E_206C_202B_200B_202E_202E_200B_202C_202D_202D_200E_206E_202E(object P_0)
{
return P_0.ToString();
}
}
internal readonly record struct RecipeInfo(uint RecipeId, uint CraftedItemId, IReadOnlyList<IngredientInfo> Ingredients, EClassJob CraftingClass)
{
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _206C_206D_202C_206A_206C_206D_206A_200C_202C_206A_206A_202B_206F_200E_206C_206F_206F_200D_200F_200C_206E_202C_206E_206F_202D_202B_200F_206F_202A_206E_202E_202E_206F_202C_202C_206F_202E_200E_202A_206F_202E();
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1038169593));
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1664411125));
int num = ((!PrintMembers(stringBuilder)) ? 935744891 : 935744888);
while (true)
{
int num2 = num;
int num3 = 935744890;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 935744888;
break;
case 1:
_202A_202B_202D_206F_206C_206D_202E_202A_206D_200F_200D_202A_202A_200E_206E_206E_206B_200D_206A_202C_200B_206A_202A_202C_206D_200F_200F_200C_200E_206E_200D_206B_202E_200F_202D_200B_202B_202C_202B_202C_202E(stringBuilder, '}');
return _206C_202A_202D_202C_206F_206A_200C_202B_200C_200E_206B_200C_200E_206D_206E_202C_206F_206E_200E_200C_202C_206E_206A_202D_206B_202B_200D_200E_202E_206D_206C_202C_200C_206F_200B_202C_200F_202B_200F_206D_202E((object)stringBuilder);
case 2:
_202A_202B_202D_206F_206C_206D_202E_202A_206D_200F_200D_202A_202A_200E_206E_206E_206B_200D_206A_202C_200B_206A_202A_202C_206D_200F_200F_200C_200E_206E_200D_206B_202E_200F_202D_200B_202B_202C_202B_202C_202E(stringBuilder, ' ');
num = 935744891;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1168472186));
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, RecipeId.ToString());
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-229385593));
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, CraftedItemId.ToString());
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1346587480));
_200D_202A_202C_206A_206F_202D_206A_202C_206D_206F_206D_202A_202B_200E_200E_206B_200F_206C_206D_206D_206E_202B_200C_200D_200D_202D_202C_200C_200F_206F_202D_206A_202E_206A_200F_202B_206C_206A_200D_206B_202E(builder, (object)Ingredients);
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-356853243));
_200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(builder, CraftingClass.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(RecipeInfo other)
{
int num = ((!EqualityComparer<uint>.Default.Equals(RecipeId, other.RecipeId)) ? 1163014536 : 1163014541);
while (true)
{
int num2 = num;
int num3 = 1163014537;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
num = 1163014541;
break;
case 1:
return false;
case 0:
num = ((!EqualityComparer<IReadOnlyList<IngredientInfo>>.Default.Equals(Ingredients, other.Ingredients)) ? 1163014536 : 1163014539);
break;
case 2:
return EqualityComparer<EClassJob>.Default.Equals(CraftingClass, other.CraftingClass);
case 4:
num = ((!EqualityComparer<uint>.Default.Equals(CraftedItemId, other.CraftedItemId)) ? 1163014536 : 1163014537);
break;
}
}
}
bool IEquatable<RecipeInfo>.Equals(RecipeInfo other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static StringBuilder _206C_206D_202C_206A_206C_206D_206A_200C_202C_206A_206A_202B_206F_200E_206C_206F_206F_200D_200F_200C_206E_202C_206E_206F_202D_202B_200F_206F_202A_206E_202E_202E_206F_202C_202C_206F_202E_200E_202A_206F_202E()
{
return new StringBuilder();
}
static StringBuilder _200E_202B_200F_200B_200F_206A_200E_206C_206C_206E_200C_206F_206B_202E_206F_202A_200E_202D_202C_206E_202A_202A_206D_200F_202D_206E_202A_202E_206E_200F_206D_200F_200C_206E_200B_202C_206D_200D_202C_200E_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202A_202B_202D_206F_206C_206D_202E_202A_206D_200F_200D_202A_202A_200E_206E_206E_206B_200D_206A_202C_200B_206A_202A_202C_206D_200F_200F_200C_200E_206E_200D_206B_202E_200F_202D_200B_202B_202C_202B_202C_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _206C_202A_202D_202C_206F_206A_200C_202B_200C_200E_206B_200C_200E_206D_206E_202C_206F_206E_200E_200C_202C_206E_206A_202D_206B_202B_200D_200E_202E_206D_206C_202C_200C_206F_200B_202C_200F_202B_200F_206D_202E(object P_0)
{
return P_0.ToString();
}
static StringBuilder _200D_202A_202C_206A_206F_202D_206A_202C_206D_206F_206D_202A_202B_200E_200E_206B_200F_206C_206D_206D_206E_202B_200C_200D_200D_202D_202C_200C_200F_206F_202D_206A_202E_206A_200F_202B_206C_206A_200D_206B_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
}
internal readonly record struct VendorInfo(uint ShopId, uint VendorNpcId, ushort TerritoryId, Vector3 Position, int DialogOptionIndex)
{
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _206E_200F_206A_202A_206C_202A_202A_200B_202D_206E_202E_202B_206C_206D_206D_202A_202A_206F_202A_202B_206B_200C_200E_206F_206F_200F_202D_206F_206F_206C_206C_202A_206B_202D_200C_200B_200E_202A_206E_200D_202E();
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(stringBuilder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1730025500));
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(stringBuilder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1664411125));
int num = ((!PrintMembers(stringBuilder)) ? (-1077906353) : (-1077906356));
while (true)
{
int num2 = num;
int num3 = -1077906354;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -1077906356;
break;
case 2:
_206B_206D_202D_200B_202A_200B_206D_200E_206A_200F_202E_202D_200E_202B_200F_206A_200C_206B_206B_206A_200F_206B_206E_202B_200B_206A_206D_200B_206E_200C_200B_202E_202D_202D_200C_202E_202B_200C_202A_200D_202E(stringBuilder, ' ');
num = -1077906353;
break;
case 1:
_206B_206D_202D_200B_202A_200B_206D_200E_206A_200F_202E_202D_200E_202B_200F_206A_200C_206B_206B_206A_200F_206B_206E_202B_200B_206A_206D_200B_206E_200C_200B_202E_202D_202D_200C_202E_202B_200C_202A_200D_202E(stringBuilder, '}');
return _206D_200E_200B_202D_202E_206B_200F_202B_206D_206A_202E_206C_202B_200C_202B_206D_200D_202C_202E_202A_202D_200E_206B_202B_206B_202E_202D_206C_202E_200D_202A_206B_206F_200D_200E_200F_206D_202B_206A_206F_202E((object)stringBuilder);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(317359128));
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, ShopId.ToString());
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-88160107));
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, VendorNpcId.ToString());
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1428648191));
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, TerritoryId.ToString());
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1993330002));
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, Position.ToString());
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(2076481420));
_206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(builder, DialogOptionIndex.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(VendorInfo other)
{
int num = ((!EqualityComparer<uint>.Default.Equals(ShopId, other.ShopId)) ? 756999807 : 756999806);
while (true)
{
int num2 = num;
int num3 = 756999804;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = ((!EqualityComparer<Vector3>.Default.Equals(Position, other.Position)) ? 756999807 : 756999800);
break;
case 2:
num = ((!EqualityComparer<uint>.Default.Equals(VendorNpcId, other.VendorNpcId)) ? 756999807 : 756999805);
break;
case 3:
return false;
case 1:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? 756999807 : 756999804);
break;
case 5:
num = 756999806;
break;
case 4:
return EqualityComparer<int>.Default.Equals(DialogOptionIndex, other.DialogOptionIndex);
}
}
}
bool IEquatable<VendorInfo>.Equals(VendorInfo other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static StringBuilder _206E_200F_206A_202A_206C_202A_202A_200B_202D_206E_202E_202B_206C_206D_206D_202A_202A_206F_202A_202B_206B_200C_200E_206F_206F_200F_202D_206F_206F_206C_206C_202A_206B_202D_200C_200B_200E_202A_206E_200D_202E()
{
return new StringBuilder();
}
static StringBuilder _206E_206F_202A_206F_200E_202E_200B_200E_206D_206F_206E_206F_200C_206C_206D_200F_200B_206C_200C_202B_206D_202D_206D_202C_200C_202A_206F_200C_202B_202C_206A_200D_202C_206D_206D_200C_202A_200F_206E_206B_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206B_206D_202D_200B_202A_200B_206D_200E_206A_200F_202E_202D_200E_202B_200F_206A_200C_206B_206B_206A_200F_206B_206E_202B_200B_206A_206D_200B_206E_200C_200B_202E_202D_202D_200C_202E_202B_200C_202A_200D_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _206D_200E_200B_202D_202E_206B_200F_202B_206D_206A_202E_206C_202B_200C_202B_206D_200D_202C_202E_202A_202D_200E_206B_202B_206B_202E_202D_206C_202E_200D_202A_206B_206F_200D_200E_200F_206D_202B_206A_206F_202E(object P_0)
{
return P_0.ToString();
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public RecipeInfo? ResolveRecipe(uint craftedItemId, EClassJob? preferredJob = null)
{
RecipeLookup row;
int num = (dataManager.GetExcelSheet<RecipeLookup>().TryGetRow(craftedItemId, out row) ? (-1604445138) : (-1604445150));
List<IngredientInfo> list = default(List<IngredientInfo>);
Recipe row3 = default(Recipe);
List<IngredientInfo> list2 = default(List<IngredientInfo>);
Recipe row2 = default(Recipe);
uint item = default(uint);
(EClassJob, uint)[] array2 = default((EClassJob, uint)[]);
int num5 = default(int);
EClassJob item2 = default(EClassJob);
(EClassJob, uint)[] array = default((EClassJob, uint)[]);
EClassJob item4 = default(EClassJob);
uint item3 = default(uint);
while (true)
{
int num2 = num;
int num3 = -1604445143;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 9:
list = CollectIngredients(row3);
num = ((list.Count == 0) ? (-1604445141) : (-1604445146));
break;
case 4:
list2 = CollectIngredients(row2);
num = ((list2.Count == 0) ? (-1604445143) : (-1604445128));
break;
case 8:
num = ((item == 0) ? (-1604445148) : (-1604445145));
break;
case 3:
{
(EClassJob, uint) tuple = array2[num5];
item2 = tuple.Item1;
item = tuple.Item2;
num = ((item2 != preferredJob.Value) ? (-1604445148) : (-1604445151));
break;
}
case 2:
array2 = array;
num5 = 0;
num = -1604445125;
break;
case 5:
{
(EClassJob, uint) tuple2 = array2[num5];
item4 = tuple2.Item1;
item3 = tuple2.Item2;
num = ((item3 == 0) ? (-1604445143) : (-1604445147));
break;
}
case 6:
num = -1604445150;
break;
case 12:
num = ((!dataManager.GetExcelSheet<Recipe>().TryGetRow(item3, out row2)) ? (-1604445143) : (-1604445139));
break;
case 14:
num = ((!dataManager.GetExcelSheet<Recipe>().TryGetRow(item, out row3)) ? (-1604445141) : (-1604445152));
break;
case 0:
{
int num7 = num5;
num3 = 1;
num4 = num7;
int num8 = num4 ^ num3;
int num9 = num4 & num3;
num5 = num8 + (num9 + num9);
num = -1604445125;
break;
}
case 11:
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1431969650), new object[1] { craftedItemId });
return null;
case 16:
num = ((num5 < array2.Length) ? (-1604445142) : (-1604445141));
break;
case 10:
array2 = array;
num5 = 0;
num = -1604445127;
break;
case 18:
num = ((num5 < array2.Length) ? (-1604445140) : (-1604445144));
break;
case 13:
{
int num6 = num5;
num3 = 1;
num4 = num6;
num5 = (num4 | num3) + (num4 & num3);
num = -1604445127;
break;
}
case 7:
array = new(EClassJob, uint)[8]
{
(EClassJob.Carpenter, row.CRP.RowId),
(EClassJob.Blacksmith, row.BSM.RowId),
(EClassJob.Armorer, row.ARM.RowId),
(EClassJob.Goldsmith, row.GSM.RowId),
(EClassJob.Leatherworker, row.LTW.RowId),
(EClassJob.Weaver, row.WVR.RowId),
(EClassJob.Alchemist, row.ALC.RowId),
(EClassJob.Culinarian, row.CUL.RowId)
};
num = ((!preferredJob.HasValue) ? (-1604445141) : (-1604445149));
break;
case 17:
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1407786323), new object[4] { item3, item4, craftedItemId, list2.Count });
return new RecipeInfo(item3, craftedItemId, list2, item4);
case 1:
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1806969075), new object[1] { craftedItemId });
return null;
case 15:
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1664800932), new object[4] { item, item2, craftedItemId, list.Count });
return new RecipeInfo(item, craftedItemId, list, item2);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public VendorInfo? ResolveVendor(uint ingredientId)
{
int num = (_200B_202E_200F_200C_206F_202B_206F_200E_206B_200E_200E_206E_206D_202D_200E_206C_206A_200F_200C_206F_202D_202E_206C_206B_202D_206E_206C_200E_206B_206B_202E_202E_200C_200F_206B_206D_202B_200C_200E_202B_202E(npcPositionCache) ? 1075940384 : 1075940385);
ShopSearchResult shopSearchResult = default(ShopSearchResult);
while (true)
{
int num2 = num;
int num3 = 1075940386;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-563414727), new object[1] { ingredientId });
return null;
case 3:
_200D_202E_206C_202D_200B_202A_202E_202B_202D_200D_200F_206E_206B_200E_200C_200C_200D_206F_206C_202D_200E_206D_202C_202A_200C_200E_200C_200C_206F_202A_202C_200D_202B_202D_200C_206B_200B_206E_200E_202D_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1813598717), new object[1] { ingredientId });
return null;
case 4:
num = 1075940385;
break;
case 0:
_202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1256305400), new object[5]
{
_202D_202E_206F_206C_206F_202E_200B_200E_202B_202B_200F_200F_206A_200F_200E_206A_202C_202D_206B_206E_200D_206C_206E_206E_200D_200E_200F_200B_202A_202B_206B_202D_206B_200B_202D_200E_202A_206B_200B_202E_202E(shopSearchResult),
ingredientId,
_200D_200D_206C_202A_200D_206A_206E_202E_206D_206F_206E_200B_206D_202E_206D_200C_200F_206C_202C_206E_206E_206E_202B_206F_200C_206B_206F_206D_202E_206C_206C_200B_206B_206E_202D_206B_206D_202E_206F_206A_202E(shopSearchResult),
_206D_202B_200C_206D_206F_200E_202E_202C_200C_202A_206B_202D_202E_200F_202A_202A_200C_200F_202B_206F_206D_206B_206F_202A_206E_206F_200D_206E_202B_206C_206E_206C_200B_206A_202E_200C_206B_202A_206B_206C_202E(shopSearchResult),
_206B_200C_200C_202B_202B_200F_202C_206F_200E_200B_200D_200C_202D_202A_200E_200C_206A_200C_206F_202A_206C_202E_206B_202B_206D_202C_200B_200B_200B_200D_206D_200B_202B_202E_202B_202D_200E_200C_202A_200C_202E(shopSearchResult)
});
return new VendorInfo(_200D_200D_206C_202A_200D_206A_206E_202E_206D_206F_206E_200B_206D_202E_206D_200C_200F_206C_202C_206E_206E_206E_202B_206F_200C_206B_206F_206D_202E_206C_206C_200B_206B_206E_202D_206B_206D_202E_206F_206A_202E(shopSearchResult), _202D_202E_206F_206C_206F_202E_200B_200E_202B_202B_200F_200F_206A_200F_200E_206A_202C_202D_206B_206E_200D_206C_206E_206E_200D_200E_200F_200B_202A_202B_206B_202D_206B_200B_202D_200E_202A_206B_200B_202E_202E(shopSearchResult), _206D_202B_200C_206D_206F_200E_202E_202C_200C_202A_206B_202D_202E_200F_202A_202A_200C_200F_202B_206F_206D_206B_206F_202A_206E_206F_200D_206E_202B_206C_206E_206C_200B_206A_202E_200C_206B_202A_206B_206C_202E(shopSearchResult), _202A_200E_206F_206C_202B_202E_200F_206F_202C_202A_206E_200C_200B_202B_200D_206C_206F_206F_200F_206E_206C_200D_202B_202D_200F_206D_206B_200C_206D_206A_206C_206F_200C_206C_200C_206A_200B_202A_200B_202A_202E(shopSearchResult), _206B_200C_200C_202B_202B_200F_202C_206F_200E_200B_200D_200C_202D_202A_200E_200C_206A_200C_206F_202A_206C_202E_206B_202B_206D_202C_200B_200B_200B_200D_206D_200B_202B_202E_202B_202D_200E_200C_202A_200C_202E(shopSearchResult));
case 2:
shopSearchResult = _206A_202E_202A_200E_202C_202E_202A_200D_200B_200C_200F_200B_202A_206F_202A_200F_202E_202E_206B_202A_200C_200F_206F_200B_200B_200B_202B_206B_202D_202B_206C_202B_206B_200C_206F_200C_206F_206A_206C_206E_202E(vendorResolver, ingredientId);
num = ((!_206D_200F_206D_202D_202D_200E_206B_206A_200E_200F_200C_202D_202C_202E_206D_206F_202C_200F_206A_200B_202A_206A_202B_206C_200D_202B_202C_202A_200B_206E_202E_206D_200E_200D_200C_206C_200D_200D_206B_206A_202E(shopSearchResult, (ShopSearchResult)null)) ? 1075940386 : 1075940387);
break;
}
}
}
private static List<IngredientInfo> CollectIngredients(Recipe recipe)
{
List<IngredientInfo> list = new List<IngredientInfo>();
int num = 0;
int num2 = 1773501195;
uint rowId = default(uint);
int num6 = default(int);
while (true)
{
int num3 = num2;
int num4 = 1773501198;
int num5 = num3;
switch ((num5 | num4) - (num5 & num4))
{
case 5:
num2 = ((num < recipe.Ingredient.Count) ? 1773501197 : 1773501196);
break;
case 1:
list.Add(new IngredientInfo(rowId, num6));
num2 = 1773501192;
break;
case 2:
return list;
case 0:
num2 = ((num6 <= 0) ? 1773501192 : 1773501199);
break;
case 4:
num2 = 1773501195;
break;
case 6:
{
int num7 = num;
num4 = 1;
num5 = num7;
num = (num5 | num4) + (num5 & num4);
num2 = 1773501195;
break;
}
case 3:
rowId = recipe.Ingredient[num].RowId;
num6 = recipe.AmountIngredient[num];
num2 = ((rowId == 0) ? 1773501192 : 1773501198);
break;
}
}
}
static void _202D_202B_202B_200D_202A_202B_206C_202D_200F_206F_206C_202D_200C_202D_206B_202C_200D_206B_206F_206F_200B_202A_200B_200B_206C_202A_200E_202D_206B_206F_202A_200B_206E_200C_202B_202A_206A_200F_202D_202B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _200B_202E_200F_200C_206F_202B_206F_200E_206B_200E_200E_206E_206D_202D_200E_206C_206A_200F_200C_206F_202D_202E_206C_206B_202D_206E_206C_200E_206B_206B_202E_202E_200C_200F_206B_206D_202B_200C_200E_202B_202E(NpcPositionCache P_0)
{
return P_0.IsBuilt;
}
static void _200D_202E_206C_202D_200B_202A_202E_202B_202D_200D_200F_206E_206B_200E_200C_200C_200D_206F_206C_202D_200E_206D_202C_202A_200C_200E_200C_200C_206F_202A_202C_200D_202B_202D_200C_206B_200B_206E_200E_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static ShopSearchResult _206A_202E_202A_200E_202C_202E_202A_200D_200B_200C_200F_200B_202A_206F_202A_200F_202E_202E_206B_202A_200C_200F_206F_200B_200B_200B_202B_206B_202D_202B_206C_202B_206B_200C_206F_200C_206F_206A_206C_206E_202E(VendorResolver P_0, uint P_1)
{
return P_0.FindGilVendor(P_1);
}
static bool _206D_200F_206D_202D_202D_200E_206B_206A_200E_200F_200C_202D_202C_202E_206D_206F_202C_200F_206A_200B_202A_206A_202B_206C_200D_202B_202C_202A_200B_206E_202E_206D_200E_200D_200C_206C_200D_200D_206B_206A_202E(ShopSearchResult P_0, ShopSearchResult P_1)
{
return P_0 == P_1;
}
static uint _202D_202E_206F_206C_206F_202E_200B_200E_202B_202B_200F_200F_206A_200F_200E_206A_202C_202D_206B_206E_200D_206C_206E_206E_200D_200E_200F_200B_202A_202B_206B_202D_206B_200B_202D_200E_202A_206B_200B_202E_202E(ShopSearchResult P_0)
{
return P_0.NpcId;
}
static uint _200D_200D_206C_202A_200D_206A_206E_202E_206D_206F_206E_200B_206D_202E_206D_200C_200F_206C_202C_206E_206E_206E_202B_206F_200C_206B_206F_206D_202E_206C_206C_200B_206B_206E_202D_206B_206D_202E_206F_206A_202E(ShopSearchResult P_0)
{
return P_0.ShopId;
}
static ushort _206D_202B_200C_206D_206F_200E_202E_202C_200C_202A_206B_202D_202E_200F_202A_202A_200C_200F_202B_206F_206D_206B_206F_202A_206E_206F_200D_206E_202B_206C_206E_206C_200B_206A_202E_200C_206B_202A_206B_206C_202E(ShopSearchResult P_0)
{
return P_0.TerritoryId;
}
static int _206B_200C_200C_202B_202B_200F_202C_206F_200E_200B_200D_200C_202D_202A_200E_200C_206A_200C_206F_202A_206C_202E_206B_202B_206D_202C_200B_200B_200B_200D_206D_200B_202B_202E_202B_202D_200E_200C_202A_200C_202E(ShopSearchResult P_0)
{
return P_0.DialogOptionIndex;
}
static Vector3 _202A_200E_206F_206C_202B_202E_200F_206F_202C_202A_206E_200C_200B_202B_200D_206C_206F_206F_200F_206E_206C_200D_202B_202D_200F_206D_206B_200C_206D_206A_206C_206F_200C_206C_200C_206A_200B_202A_200B_202A_202E(ShopSearchResult P_0)
{
return P_0.NpcPosition;
}
}

View file

@ -1,3 +1,4 @@
using System.Runtime.CompilerServices;
using Questionable.Functions;
namespace Questionable.Controller.DebugCommands;
@ -6,7 +7,14 @@ internal sealed class AbandonDutyCommandHandler : IDebugCommandHandler
{
private readonly GameFunctions _gameFunctions;
public string CommandName => "abandon-duty";
public string CommandName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-2080095221);
}
}
public AbandonDutyCommandHandler(GameFunctions gameFunctions)
{
@ -17,4 +25,10 @@ internal sealed class AbandonDutyCommandHandler : IDebugCommandHandler
{
_gameFunctions.AbandonDuty();
}
void IDebugCommandHandler.Execute(string[] arguments)
{
//ILSpy generated this explicit interface implementation from .override directive in Execute
this.Execute(arguments);
}
}

View file

@ -1,11 +1,14 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using Questionable.Data;
using Questionable.Functions;
using Questionable.Model.Common;
using Questionable.Model.Questing.Converter;
using SmartNav.Data;
using SmartNav.Model;
namespace Questionable.Controller.DebugCommands;
@ -19,7 +22,14 @@ internal sealed class AethernetCommandHandler : IDebugCommandHandler
private readonly IChatGui _chatGui;
public string CommandName => "aethernet";
public string CommandName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-753561834);
}
}
public AethernetCommandHandler(IDataManager dataManager, IClientState clientState, AetheryteFunctions aetheryteFunctions, IChatGui chatGui)
{
@ -29,88 +39,418 @@ internal sealed class AethernetCommandHandler : IDebugCommandHandler
_chatGui = chatGui;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Execute(string[] arguments)
{
uint territoryType = _clientState.TerritoryType;
uint num = _200E_206C_202A_202B_200F_202E_206A_200F_200F_200F_202B_202C_206D_202B_206A_200F_202D_202D_202D_202A_206B_202E_202E_200B_206F_200E_206F_206A_202E_202C_206E_200E_202C_200D_206C_202E_206E_200D_206E_202A_202E(_clientState);
Dictionary<EAetheryteLocation, string> values = AethernetShardConverter.Values;
AetheryteData aetheryteData = new AetheryteData(_dataManager);
AetheryteData aetheryteData = _200C_206E_206B_202A_200B_206A_206C_202D_206B_200F_202C_200B_206D_202A_206F_202C_202E_200C_206D_202B_202B_200D_202B_202B_202C_200D_206D_200B_206D_202D_202A_200D_202A_200B_202B_200E_200B_206E_200D_200F_202E(_dataManager);
HashSet<string> hashSet = new HashSet<string>();
Dictionary<string, List<(EAetheryteLocation, string, bool)>> dictionary = new Dictionary<string, List<(EAetheryteLocation, string, bool)>>();
EAetheryteLocation key;
string value;
foreach (KeyValuePair<EAetheryteLocation, string> item3 in values)
string value2;
int num2;
using (Dictionary<EAetheryteLocation, string>.Enumerator enumerator = values.GetEnumerator())
{
item3.Deconstruct(out key, out value);
EAetheryteLocation key2 = key;
string text = value;
if (aetheryteData.TerritoryIds.TryGetValue(key2, out var value2) && value2 == territoryType)
num2 = 743370573;
string text = default(string);
int num8 = default(int);
ushort value = default(ushort);
while (true)
{
int num = text.IndexOf(']', StringComparison.Ordinal);
if (num > 0)
int num3 = num2;
int num4 = 743370569;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
string item = text.Substring(1, num - 1);
case 4:
num2 = (enumerator.MoveNext() ? 743370572 : 743370570);
break;
case 1:
{
string text2 = text;
int num9 = num8;
num4 = 1;
num5 = num9;
string item = _206C_206B_202C_202B_202A_206A_202D_206C_202D_206F_202D_200C_206E_200D_200B_206A_202D_202D_202B_202D_200D_206E_202C_202D_200E_202B_206C_206D_202B_200D_202E_202C_200E_200B_200B_206E_206B_200C_202A_206B_202E(text2, 1, ~(~num5 + num4));
hashSet.Add(item);
num2 = 743370573;
break;
}
case 2:
num2 = 743370573;
break;
case 6:
num2 = ((value != num) ? 743370573 : 743370569);
break;
case 5:
{
enumerator.Current.Deconstruct(out key, out value2);
EAetheryteLocation key2 = key;
text = value2;
num2 = ((!_200C_206A_206A_206E_200E_200C_200D_202E_200B_200E_200B_200E_200B_200C_200D_206F_200D_200E_206D_200E_206E_206F_206B_202A_206A_206D_202C_206B_200E_200F_206D_200B_200E_206E_206F_202E_200B_206C_206A_206A_202E(aetheryteData).TryGetValue(key2, out value)) ? 743370573 : 743370575);
break;
}
case 0:
num8 = _202C_206E_202A_200F_200F_202B_206F_202A_206B_206E_200C_200C_200D_206E_206A_200D_206E_202A_202A_200D_202C_206D_202D_202D_206C_200E_200D_200D_206E_202C_200B_206A_202D_202D_200E_206D_206A_202A_206F_202C_202E(text, ']', StringComparison.Ordinal);
num2 = ((num8 <= 0) ? 743370573 : 743370568);
break;
case 3:
goto end_IL_003f;
}
}
}
if (hashSet.Count == 0)
{
_chatGui.Print("No aethernet shards found in current zone.", "Questionable", 576);
return;
}
foreach (KeyValuePair<EAetheryteLocation, string> item4 in values)
{
item4.Deconstruct(out key, out value);
EAetheryteLocation eAetheryteLocation = key;
string text2 = value;
int num2 = text2.IndexOf(']', StringComparison.Ordinal);
if (num2 <= 0)
{
continue;
}
string text3 = text2.Substring(1, num2 - 1);
if (hashSet.Contains(text3))
{
if (!dictionary.ContainsKey(text3))
{
dictionary[text3] = new List<(EAetheryteLocation, string, bool)>();
}
bool item2 = _aetheryteFunctions.IsAetheryteUnlocked(eAetheryteLocation);
dictionary[text3].Add((eAetheryteLocation, text2, item2));
end_IL_003f:
break;
}
}
foreach (KeyValuePair<string, List<(EAetheryteLocation, string, bool)>> item5 in dictionary.OrderBy<KeyValuePair<string, List<(EAetheryteLocation, string, bool)>>, string>((KeyValuePair<string, List<(EAetheryteLocation Location, string Name, bool Unlocked)>> x) => x.Key))
num2 = ((hashSet.Count != 0) ? 1358822914 : 1358822913);
string text3 = default(string);
int num12 = default(int);
string text4 = default(string);
EAetheryteLocation eAetheryteLocation = default(EAetheryteLocation);
while (true)
{
item5.Deconstruct(out value, out var value3);
string value4 = value;
List<(EAetheryteLocation, string, bool)> list = value3;
List<(EAetheryteLocation, string, bool)> list2 = list.Where<(EAetheryteLocation, string, bool)>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Unlocked).ToList();
List<(EAetheryteLocation, string, bool)> list3 = list.Where<(EAetheryteLocation, string, bool)>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => !x.Unlocked).ToList();
_chatGui.Print($"Aethernet Shards in {value4} ({list.Count} total):", "Questionable", 576);
_chatGui.Print($" Unlocked: {list2.Count}", "Questionable", 576);
_chatGui.Print($" Missing: {list3.Count}", "Questionable", 576);
_chatGui.Print("", "Questionable", 576);
if (list3.Count > 0)
int num10 = num2;
int num4 = 1358822915;
int num5 = num10;
switch ((num5 | num4) - (num5 & num4))
{
_chatGui.Print("Missing/Unattuned Aethernet Shards:", "Questionable", 576);
foreach (var item6 in list3.OrderBy<(EAetheryteLocation, string, bool), string>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Name))
case 0:
goto IL_01d0;
case 2:
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1644635197), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
return;
case 1:
{
using (Dictionary<EAetheryteLocation, string>.Enumerator enumerator = values.GetEnumerator())
{
_chatGui.Print(" " + item6.Item2, "Questionable", 576);
num2 = 229198899;
while (true)
{
int num11 = num2;
num4 = 229198902;
num5 = num11;
switch ((num5 | num4) - (num5 & num4))
{
case 3:
{
string text5 = text3;
int num13 = num12;
num4 = 1;
num5 = num13;
text4 = _206C_206B_202C_202B_202A_206A_202D_206C_202D_206F_202D_200C_206E_200D_200B_206A_202D_202D_202B_202D_200D_206E_202C_202D_200E_202B_206C_206D_202B_200D_202E_202C_200E_200B_200B_206E_206B_200C_202A_206B_202E(text5, 1, ~(~num5 + num4));
num2 = ((!hashSet.Contains(text4)) ? 229198899 : 229198897);
break;
}
case 4:
dictionary[text4] = new List<(EAetheryteLocation, string, bool)>();
num2 = 229198900;
break;
case 0:
num2 = 229198899;
break;
case 1:
enumerator.Current.Deconstruct(out key, out value2);
eAetheryteLocation = key;
text3 = value2;
num12 = _202C_206E_202A_200F_200F_202B_206F_202A_206B_206E_200C_200C_200D_206E_206A_200D_206E_202A_202A_200D_202C_206D_202D_202D_206C_200E_200D_200D_206E_202C_200B_206A_202D_202D_200E_206D_206A_202A_206F_202C_202E(text3, ']', StringComparison.Ordinal);
num2 = ((num12 <= 0) ? 229198899 : 229198901);
break;
case 2:
{
bool item2 = _aetheryteFunctions.IsAetheryteUnlocked(eAetheryteLocation);
dictionary[text4].Add((eAetheryteLocation, text3, item2));
num2 = 229198899;
break;
}
case 7:
num2 = (dictionary.ContainsKey(text4) ? 229198900 : 229198898);
break;
case 5:
num2 = (enumerator.MoveNext() ? 229198903 : 229198896);
break;
case 6:
goto end_IL_021a;
}
continue;
end_IL_021a:
break;
}
}
_chatGui.Print("", "Questionable", 576);
}
if (list2.Count > 0)
{
_chatGui.Print("Unlocked Aethernet Shards:", "Questionable", 576);
foreach (var item7 in list2.OrderBy<(EAetheryteLocation, string, bool), string>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Name))
IEnumerator<KeyValuePair<string, List<(EAetheryteLocation, string, bool)>>> enumerator2 = dictionary.OrderBy<KeyValuePair<string, List<(EAetheryteLocation, string, bool)>>, string>((KeyValuePair<string, List<(EAetheryteLocation Location, string Name, bool Unlocked)>> x) => x.Key).GetEnumerator();
try
{
_chatGui.Print(" " + item7.Item2, "Questionable", 576);
while (true)
{
if (_202A_200B_202A_202E_206E_202A_206D_206B_206E_202C_202A_200F_200E_202E_202B_200C_202A_206F_206E_206A_202A_200E_206D_200C_206A_202E_206C_202D_202B_200E_200C_206F_200E_202A_206C_206A_206D_202D_202C_200D_202E((IEnumerator)enumerator2))
{
enumerator2.Current.Deconstruct(out value2, out var value3);
string value4 = value2;
List<(EAetheryteLocation, string, bool)> list = value3;
List<(EAetheryteLocation, string, bool)> list2 = list.Where<(EAetheryteLocation, string, bool)>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Unlocked).ToList();
List<(EAetheryteLocation, string, bool)> list3 = list.Where<(EAetheryteLocation, string, bool)>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => !x.Unlocked).ToList();
IChatGui chatGui = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(30, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-259971891));
defaultInterpolatedStringHandler.AppendFormatted(value4);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(588901087));
defaultInterpolatedStringHandler.AppendFormatted(list.Count);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(626621693));
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(467221712), (ushort?)(ushort)576);
IChatGui chatGui2 = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(12, 1);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1594528935));
defaultInterpolatedStringHandler2.AppendFormatted(list2.Count);
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(chatGui2, defaultInterpolatedStringHandler2.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
IChatGui chatGui3 = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(11, 1);
defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1397817883));
defaultInterpolatedStringHandler3.AppendFormatted(list3.Count);
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(chatGui3, defaultInterpolatedStringHandler3.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1200342830), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
if (list3.Count > 0)
{
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1492898966), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
IEnumerator<(EAetheryteLocation, string, bool)> enumerator3 = list3.OrderBy<(EAetheryteLocation, string, bool), string>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Name).GetEnumerator();
try
{
num2 = 2044246783;
while (true)
{
int num14 = num2;
num4 = 2044246780;
num5 = num14;
int num15 = num5 + num4;
int num16 = num5 & num4;
switch (num15 - (num16 + num16))
{
case 3:
num2 = (_202A_200B_202A_202E_206E_202A_206D_206B_206E_202C_202A_200F_200E_202E_202B_200C_202A_206F_206E_206A_202A_200E_206D_200C_206A_202E_206C_202D_202B_200E_200C_206F_200E_202A_206C_206A_206D_202D_202C_200D_202E((IEnumerator)enumerator3) ? 2044246782 : 2044246781);
break;
case 2:
{
(EAetheryteLocation, string, bool) current = enumerator3.Current;
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, _206B_206F_202C_206F_200D_200C_206C_200C_206F_206E_206E_206A_202B_202B_202C_206F_200B_202C_206C_202D_202A_200B_202B_202A_200D_206B_206B_200C_202B_202A_202D_200D_202E_206E_206A_206C_202E_206A_206A_202C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1427836459), current.Item2), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
num2 = 2044246783;
break;
}
case 0:
num2 = 2044246783;
break;
case 1:
goto end_IL_05fa;
}
continue;
end_IL_05fa:
break;
}
}
finally
{
num2 = ((enumerator3 == null) ? 273930028 : 273930029);
while (true)
{
int num17 = num2;
num4 = 273930028;
num5 = num17;
int num18 = num5 + num4;
int num19 = num5 & num4;
switch (num18 - (num19 + num19))
{
case 2:
num2 = 273930029;
break;
case 1:
_206E_200E_206B_206C_206E_200F_206D_200F_206D_200C_206B_202E_202B_200E_202C_206F_206F_200B_206A_200D_200D_200F_200E_206A_206D_202D_202E_200D_200C_206F_200B_200B_200B_206F_202B_206E_206B_202A_202D_206D_202E((IDisposable)enumerator3);
num2 = 273930028;
break;
case 0:
goto end_IL_06ca;
}
continue;
end_IL_06ca:
break;
}
}
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1720149641), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(467221712), (ushort?)(ushort)576);
}
if (list2.Count > 0)
{
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1522560698), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
IEnumerator<(EAetheryteLocation, string, bool)> enumerator3 = list2.OrderBy<(EAetheryteLocation, string, bool), string>(((EAetheryteLocation Location, string Name, bool Unlocked) x) => x.Name).GetEnumerator();
try
{
num2 = 111331971;
while (true)
{
int num20 = num2;
num4 = 111331970;
num5 = num20;
switch ((num5 | num4) - (num5 & num4))
{
case 3:
num2 = 111331971;
break;
case 1:
num2 = (_202A_200B_202A_202E_206E_202A_206D_206B_206E_202C_202A_200F_200E_202E_202B_200C_202A_206F_206E_206A_202A_200E_206D_200C_206A_202E_206C_202D_202B_200E_200C_206F_200E_202A_206C_206A_206D_202D_202C_200D_202E((IEnumerator)enumerator3) ? 111331968 : 111331970);
break;
case 2:
{
(EAetheryteLocation, string, bool) current2 = enumerator3.Current;
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, _206B_206F_202C_206F_200D_200C_206C_200C_206F_206E_206E_206A_202B_202B_202C_206F_200B_202C_206C_202D_202A_200B_202B_202A_200D_206B_206B_200C_202B_202A_202D_200D_202E_206E_206A_206C_202E_206A_206A_202C_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(244795324), current2.Item2), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(85756196), (ushort?)(ushort)576);
num2 = 111331971;
break;
}
case 0:
goto end_IL_07b3;
}
continue;
end_IL_07b3:
break;
}
}
finally
{
num2 = ((enumerator3 == null) ? 842300158 : 842300157);
while (true)
{
int num21 = num2;
num4 = 842300156;
num5 = num21;
switch ((num5 | num4) - (num5 & num4))
{
case 2:
goto end_IL_0881;
case 1:
_206E_200E_206B_206C_206E_200F_206D_200F_206D_200C_206B_202E_202B_200E_202C_206F_206F_200B_206A_200D_200D_200F_200E_206A_206D_202D_202E_200D_200C_206F_200B_200B_200B_206F_202B_206E_206B_202A_202D_206D_202E((IDisposable)enumerator3);
num2 = 842300158;
break;
case 0:
num2 = 842300157;
break;
}
continue;
end_IL_0881:
break;
}
}
}
num2 = ((dictionary.Count <= 1) ? (-941740781) : (-941740784));
}
else
{
num2 = -941740782;
}
while (true)
{
int num22 = num2;
num4 = -941740782;
num5 = num22;
int num23 = num5 + num4;
int num24 = num5 & num4;
switch (num23 - (num24 + num24))
{
default:
continue;
case 3:
num2 = -941740784;
continue;
case 1:
break;
case 2:
_200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1694032531), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1481660241), (ushort?)(ushort)576);
num2 = -941740781;
continue;
case 0:
return;
}
break;
}
}
}
finally
{
num2 = ((enumerator2 == null) ? (-992508169) : (-992508172));
while (true)
{
int num25 = num2;
num4 = -992508170;
num5 = num25;
switch ((num5 | num4) - (num5 & num4))
{
case 1:
goto end_IL_09a1;
case 2:
_206E_200E_206B_206C_206E_200F_206D_200F_206D_200C_206B_202E_202B_200E_202C_206F_206F_200B_206A_200D_200D_200F_200E_206A_206D_202D_202E_200D_200C_206F_200B_200B_200B_206F_202B_206E_206B_202A_202D_206D_202E((IDisposable)enumerator2);
num2 = -992508169;
break;
case 0:
num2 = -992508172;
break;
}
continue;
end_IL_09a1:
break;
}
}
}
if (dictionary.Count > 1)
{
_chatGui.Print("", "Questionable", 576);
}
continue;
IL_01d0:
num2 = 1358822913;
}
}
void IDebugCommandHandler.Execute(string[] arguments)
{
//ILSpy generated this explicit interface implementation from .override directive in Execute
this.Execute(arguments);
}
static uint _200E_206C_202A_202B_200F_202E_206A_200F_200F_200F_202B_202C_206D_202B_206A_200F_202D_202D_202D_202A_206B_202E_202E_200B_206F_200E_206F_206A_202E_202C_206E_200E_202C_200D_206C_202E_206E_200D_206E_202A_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static AetheryteData _200C_206E_206B_202A_200B_206A_206C_202D_206B_200F_202C_200B_206D_202A_206F_202C_202E_200C_206D_202B_202B_200D_202B_202B_202C_200D_206D_200B_206D_202D_202A_200D_202A_200B_202B_200E_200B_206E_200D_200F_202E(IDataManager P_0)
{
return new AetheryteData(P_0);
}
static ReadOnlyDictionary<EAetheryteLocation, ushort> _200C_206A_206A_206E_200E_200C_200D_202E_200B_200E_200B_200E_200B_200C_200D_206F_200D_200E_206D_200E_206E_206F_206B_202A_206A_206D_202C_206B_200E_200F_206D_200B_200E_206E_206F_202E_200B_206C_206A_206A_202E(AetheryteData P_0)
{
return P_0.TerritoryIds;
}
static int _202C_206E_202A_200F_200F_202B_206F_202A_206B_206E_200C_200C_200D_206E_206A_200D_206E_202A_202A_200D_202C_206D_202D_202D_206C_200E_200D_200D_206E_202C_200B_206A_202D_202D_200E_206D_206A_202A_206F_202C_202E(string P_0, char P_1, StringComparison P_2)
{
return P_0.IndexOf(P_1, P_2);
}
static string _206C_206B_202C_202B_202A_206A_202D_206C_202D_206F_202D_200C_206E_200D_200B_206A_202D_202D_202B_202D_200D_206E_202C_202D_200E_202B_206C_206D_202B_200D_202E_202C_200E_200B_200B_206E_206B_200C_202A_206B_202E(string P_0, int P_1, int P_2)
{
return P_0.Substring(P_1, P_2);
}
static void _200C_206F_206B_206A_202D_206F_200E_206B_202C_202B_206C_206D_200C_200F_206B_200C_206D_206D_206E_202A_206E_202D_202B_206C_202B_206B_206E_206E_206F_202B_202E_206A_202D_200F_206B_202D_206A_200B_206F_206F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.Print(P_1, P_2, P_3);
}
static string _206B_206F_202C_206F_200D_200C_206C_200C_206F_206E_206E_206A_202B_202B_202C_206F_200B_202C_206C_202D_202A_200B_202B_202A_200D_206B_206B_200C_202B_202A_202D_200D_202E_206E_206A_206C_202E_206A_206A_202C_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static bool _202A_200B_202A_202E_206E_202A_206D_206B_206E_202C_202A_200F_200E_202E_202B_200C_202A_206F_206E_206A_202A_200E_206D_200C_206A_202E_206C_202D_202B_200E_200C_206F_200E_202A_206C_206A_206D_202D_202C_200D_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _206E_200E_206B_206C_206E_200F_206D_200F_206D_200C_206B_202E_202B_200E_202C_206F_206F_200B_206A_200D_200D_200F_200E_206A_206D_202D_202E_200D_200C_206F_200B_200B_200B_206F_202B_206E_206B_202A_202D_206D_202E(IDisposable P_0)
{
P_0.Dispose();
}
}

View file

@ -10,16 +10,36 @@ internal sealed class DebugCommandExecutor
public DebugCommandExecutor(IEnumerable<IDebugCommandHandler> handlers)
{
_handlers = handlers.ToDictionary<IDebugCommandHandler, string>((IDebugCommandHandler h) => h.CommandName, StringComparer.OrdinalIgnoreCase);
_handlers = handlers.ToDictionary<IDebugCommandHandler, string>((IDebugCommandHandler h) => h.CommandName, _202E_200E_202A_202D_206B_202D_206D_202B_206F_200E_202E_200F_200E_200E_202D_200C_200B_202C_202A_202B_200C_202C_206F_200C_200E_206B_202D_200F_200D_206E_202D_200F_200D_202E_200F_202D_202A_202C_206B_206C_202E());
}
public bool TryExecute(string command, string[] arguments)
{
if (_handlers.TryGetValue(command, out IDebugCommandHandler value))
IDebugCommandHandler value;
int num = ((!_handlers.TryGetValue(command, out value)) ? (-573165882) : (-573165881));
while (true)
{
value.Execute(arguments);
return true;
int num2 = num;
int num3 = -573165882;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
return false;
case 1:
value.Execute(arguments);
return true;
case 2:
goto IL_0059;
}
continue;
IL_0059:
num = -573165881;
}
return false;
}
static StringComparer _202E_200E_202A_202D_206B_202D_206D_202B_206F_200E_202E_200F_200E_200E_202D_200C_200B_202C_202A_202B_200C_202C_206F_200C_200E_206B_202D_200F_200D_206E_202D_200F_200D_202E_200F_202D_202A_202C_206B_206C_202E()
{
return StringComparer.OrdinalIgnoreCase;
}
}

View file

@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
@ -8,32 +9,126 @@ internal sealed class FestivalsCommandHandler : IDebugCommandHandler
{
private readonly IChatGui _chatGui;
public string CommandName => "festivals";
public string CommandName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-121174418);
}
}
public FestivalsCommandHandler(IChatGui chatGui)
{
_chatGui = chatGui;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe void Execute(string[] arguments)
{
List<string> list = new List<string>();
for (byte b = 0; b < 4; b++)
byte b = 0;
int num = 1430954904;
GameMain.Festival festival = default(GameMain.Festival);
while (true)
{
GameMain.Festival festival = GameMain.Instance()->ActiveFestivals[b];
if (festival.Id == 0)
int num2 = num;
int num3 = 1430954907;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
list.Add($"Slot {b}: None");
}
else
case 6:
{
list.Add($"Slot {b}: {festival.Id}({festival.Phase})");
byte num8 = b;
num3 = 1;
num4 = num8;
b = (byte)((num4 | num3) + (num4 & num3));
num = 1430954904;
break;
}
case 0:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(9, 3);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1926210210));
defaultInterpolatedStringHandler.AppendFormatted(b);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(2074665157));
defaultInterpolatedStringHandler.AppendFormatted(festival.Id);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1721352497));
defaultInterpolatedStringHandler.AppendFormatted(festival.Phase);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(555647321));
list.Add(defaultInterpolatedStringHandler.ToStringAndClear());
num = 1430954909;
break;
}
case 4:
festival = GameMain.Instance()->ActiveFestivals[b];
num = ((festival.Id != 0) ? 1430954907 : 1430954906);
break;
case 1:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(11, 1);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1926210210));
defaultInterpolatedStringHandler2.AppendFormatted(b);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-911476888));
list.Add(defaultInterpolatedStringHandler2.ToStringAndClear());
num = 1430954909;
break;
}
case 3:
num = ((b < 4) ? 1430954911 : 1430954905);
break;
case 5:
num = 1430954904;
break;
case 2:
{
_206E_202E_202D_206B_206E_206E_202A_202D_202C_206B_202A_200D_200F_202B_206B_200D_206D_206E_202D_206C_206B_200B_202D_200B_200B_206C_200E_206F_206F_200E_202E_206F_206A_202B_202B_200C_200F_202E_206E_200F_202E(_chatGui, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(968833819), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(467221712), (ushort?)(ushort)576);
using List<string>.Enumerator enumerator = list.GetEnumerator();
num = 1158746389;
while (true)
{
int num7 = num;
num3 = 1158746390;
num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1158746389;
break;
case 2:
{
string current = enumerator.Current;
_206E_202E_202D_206B_206E_206E_202A_202D_202C_206B_202A_200D_200F_202B_206B_200D_206D_206E_202D_206C_206B_200B_202D_200B_200B_206C_200E_206F_206F_200E_202E_206F_206A_202B_202B_200C_200F_202E_206E_200F_202E(_chatGui, _202A_206E_202B_206B_200D_206A_200C_200F_200E_202A_200B_200D_202A_202E_206D_206A_200E_200B_206A_202D_202B_206C_206F_202B_200C_206D_206B_200E_202C_206E_200D_202B_206C_206A_202B_202E_206F_206A_200F_200E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-616133030), current), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1481660241), (ushort?)(ushort)576);
num = 1158746389;
break;
}
case 3:
num = (enumerator.MoveNext() ? 1158746388 : 1158746391);
break;
case 1:
return;
}
}
}
}
}
_chatGui.Print("Festival slots:", "Questionable", 576);
foreach (string item in list)
{
_chatGui.Print(" " + item, "Questionable", 576);
}
}
void IDebugCommandHandler.Execute(string[] arguments)
{
//ILSpy generated this explicit interface implementation from .override directive in Execute
this.Execute(arguments);
}
static void _206E_202E_202D_206B_206E_206E_202A_202D_202C_206B_202A_200D_200F_202B_206B_200D_206D_206E_202D_206C_206B_200B_202D_200B_200B_206C_200E_206F_206F_200E_202E_206F_206A_202B_202B_200C_200F_202E_206E_200F_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.Print(P_1, P_2, P_3);
}
static string _202A_206E_202B_206B_200D_206A_200C_200F_200E_202A_200B_200D_202A_202E_206D_206A_200E_200B_206A_202D_202B_206C_206F_202B_200C_206D_206B_200E_202C_206E_200D_202B_206C_206A_202B_202E_206F_206A_200F_200E_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
}

View file

@ -1,3 +1,4 @@
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using Lumina.Excel.Sheets;
using Questionable.Functions;
@ -12,7 +13,14 @@ internal sealed class MountIdCommandHandler : IDebugCommandHandler
private readonly IChatGui _chatGui;
public string CommandName => "mountid";
public string CommandName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1623938064);
}
}
public MountIdCommandHandler(GameFunctions gameFunctions, IDataManager dataManager, IChatGui chatGui)
{
@ -21,17 +29,52 @@ internal sealed class MountIdCommandHandler : IDebugCommandHandler
_chatGui = chatGui;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Execute(string[] arguments)
{
ushort? mountId = _gameFunctions.GetMountId();
if (mountId.HasValue)
int num = ((!mountId.HasValue) ? (-816888412) : (-816888409));
while (true)
{
Mount? rowOrDefault = _dataManager.GetExcelSheet<Mount>().GetRowOrDefault(mountId.Value);
_chatGui.Print($"Mount ID: {mountId}, Name: {rowOrDefault?.Singular}, Obtainable: {((rowOrDefault?.Order == -1) ? "No" : "Yes")}", "Questionable", 576);
}
else
{
_chatGui.Print("You are not mounted.", "Questionable", 576);
int num2 = num;
int num3 = -816888410;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_005c;
case 1:
{
Mount? rowOrDefault = _dataManager.GetExcelSheet<Mount>().GetRowOrDefault(mountId.Value);
IChatGui chatGui = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(32, 3);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-724667410));
defaultInterpolatedStringHandler.AppendFormatted(mountId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1645361832));
defaultInterpolatedStringHandler.AppendFormatted(rowOrDefault?.Singular);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1660044622));
defaultInterpolatedStringHandler.AppendFormatted((rowOrDefault?.Order == -1) ? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(474250124) : global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(514511304));
_202E_206C_202D_206C_202C_206D_202E_200D_202B_206F_206D_206F_206B_202B_202D_206D_200E_206C_202B_202E_202E_202C_202E_206D_200D_202B_202C_202B_202D_200B_206C_200F_200F_202C_206D_202B_206F_202E_200F_202D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(85756196), (ushort?)(ushort)576);
return;
}
case 2:
_202E_206C_202D_206C_202C_206D_202E_200D_202B_206F_206D_206F_206B_202B_202D_206D_200E_206C_202B_202E_202E_202C_202E_206D_200D_202B_202C_202B_202D_200B_206C_200F_200F_202C_206D_202B_206F_202E_200F_202D_202E(_chatGui, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2009796622), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
return;
}
continue;
IL_005c:
num = -816888409;
}
}
void IDebugCommandHandler.Execute(string[] arguments)
{
//ILSpy generated this explicit interface implementation from .override directive in Execute
this.Execute(arguments);
}
static void _202E_206C_202D_206C_202C_206D_202E_200D_202B_206F_206D_206F_206B_202B_202D_206D_200E_206C_202B_202E_202E_202C_202E_206D_200D_202B_202C_202B_202D_200B_206C_200F_200F_202C_206D_202B_206F_202E_200F_202D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.Print(P_1, P_2, P_3);
}
}

View file

@ -1,3 +1,4 @@
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using Questionable.Functions;
using Questionable.Model;
@ -15,7 +16,14 @@ internal sealed class NextQuestCommandHandler : IDebugCommandHandler
private readonly IChatGui _chatGui;
public string CommandName => "next";
public string CommandName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1283200128);
}
}
public NextQuestCommandHandler(QuestController questController, QuestRegistry questRegistry, QuestFunctions questFunctions, IChatGui chatGui)
{
@ -25,29 +33,98 @@ internal sealed class NextQuestCommandHandler : IDebugCommandHandler
_chatGui = chatGui;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Execute(string[] arguments)
{
if (arguments.Length >= 1 && ElementId.TryFromString(arguments[0], out ElementId elementId) && elementId != null)
int num = ((arguments.Length < 1) ? 618054138 : 618054137);
ElementId elementId = default(ElementId);
Quest quest = default(Quest);
while (true)
{
Quest quest;
if (_questFunctions.IsQuestLocked(elementId))
int num2 = num;
int num3 = 618054140;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
_chatGui.PrintError($"Quest {elementId} is locked.", "Questionable", 576);
}
else if (_questRegistry.TryGetQuest(elementId, out quest))
case 3:
num = ((!_questRegistry.TryGetQuest(elementId, out quest)) ? 618054132 : 618054141);
break;
case 1:
{
_questController.SetNextQuest(quest);
_chatGui.Print($"Set next quest to {elementId} ({quest.Info.Name}).", "Questionable", 576);
IChatGui chatGui2 = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(22, 2);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1603211036));
defaultInterpolatedStringHandler2.AppendFormatted(elementId);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1473546846));
defaultInterpolatedStringHandler2.AppendFormatted(quest.Info.Name);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1109945913));
_206A_206B_206E_202B_200B_202E_206F_206E_202C_202B_200D_200D_206C_200D_202A_206C_202A_206B_200E_200C_202C_206C_202D_200C_200F_202E_200C_202D_206A_200D_206C_202E_202E_206D_206A_206B_202B_206B_200F_206B_202E(chatGui2, defaultInterpolatedStringHandler2.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
return;
}
else
case 5:
num = ((!_200F_206D_206E_206A_206B_206F_202C_206F_202B_206C_206E_200E_206D_200D_200D_206A_202E_200B_202C_200D_200D_200B_206B_202C_200C_206C_202D_206D_200B_200F_202B_206F_200F_206E_202A_206E_200E_206A_206A_202C_202E(arguments[0], ref elementId)) ? 618054138 : 618054136);
break;
case 8:
{
_chatGui.PrintError($"Unknown quest {elementId}.", "Questionable", 576);
IChatGui chatGui = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-13913784));
defaultInterpolatedStringHandler.AppendFormatted(elementId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-293246245));
_200D_206D_200F_202B_200F_206F_200F_200B_206C_200B_202A_206C_202C_206D_202D_206A_200E_202A_202A_202E_202B_200E_200B_202A_202D_202E_200B_206A_206B_206E_202B_206A_206C_200E_206D_200C_200B_202E_200E_202D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1481660241), (ushort?)(ushort)576);
return;
}
case 2:
{
IChatGui chatGui3 = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(17, 1);
defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(18748268));
defaultInterpolatedStringHandler3.AppendFormatted(elementId);
defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-832519361));
_200D_206D_200F_202B_200F_206F_200F_200B_206C_200B_202A_206C_202C_206D_202D_206A_200E_202A_202A_202E_202B_200E_200B_202A_202D_202E_200B_206A_206B_206E_202B_206A_206C_200E_206D_200C_200B_202E_200E_202D_202E(chatGui3, defaultInterpolatedStringHandler3.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
return;
}
case 7:
num = ((!_questFunctions.IsQuestLocked(elementId)) ? 618054143 : 618054142);
break;
case 4:
num = ((!_202C_202A_206C_202D_200E_202D_200F_202C_206B_200B_202C_206B_200C_202C_202D_202E_200D_200B_206E_206B_200E_200F_206F_202A_206E_206C_200B_202E_206B_206B_206B_202D_206E_200E_202E_206F_202E_206E_202E_202D_202E(elementId, (ElementId)null)) ? 618054138 : 618054139);
break;
case 0:
num = 618054137;
break;
case 6:
_questController.SetNextQuest(null);
_206A_206B_206E_202B_200B_202E_206F_206E_202C_202B_200D_200D_206C_200D_202A_206C_202A_206B_200E_200C_202C_206C_202D_200C_200F_202E_200C_202D_206A_200D_206C_202E_202E_206D_206A_206B_202B_206B_200F_206B_202E(_chatGui, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-925408437), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
return;
}
}
else
{
_questController.SetNextQuest(null);
_chatGui.Print("Cleared next quest.", "Questionable", 576);
}
}
void IDebugCommandHandler.Execute(string[] arguments)
{
//ILSpy generated this explicit interface implementation from .override directive in Execute
this.Execute(arguments);
}
static bool _200F_206D_206E_206A_206B_206F_202C_206F_202B_206C_206E_200E_206D_200D_200D_206A_202E_200B_202C_200D_200D_200B_206B_202C_200C_206C_202D_206D_200B_200F_202B_206F_200F_206E_202A_206E_200E_206A_206A_202C_202E(string P_0, ref ElementId P_1)
{
return ElementId.TryFromString(P_0, out P_1);
}
static bool _202C_202A_206C_202D_200E_202D_200F_202C_206B_200B_202C_206B_200C_202C_202D_202E_200D_200B_206E_206B_200E_200F_206F_202A_206E_206C_200B_202E_206B_206B_206B_202D_206E_200E_202E_206F_202E_206E_202E_202D_202E(ElementId P_0, ElementId P_1)
{
return P_0 != P_1;
}
static void _200D_206D_200F_202B_200F_206F_200F_200B_206C_200B_202A_206C_202C_206D_202D_206A_200E_202A_202A_202E_202B_200E_200B_202A_202D_202E_200B_206A_206B_206E_202B_206A_206C_200E_206D_200C_200B_202E_200E_202D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.PrintError(P_1, P_2, P_3);
}
static void _206A_206B_206E_202B_200B_202E_206F_206E_202C_202B_200D_200D_206C_200D_202A_206C_202A_206B_200E_200C_202C_206C_202D_200C_200F_202E_200C_202D_206A_200D_206C_202E_202E_206D_206A_206B_202B_206B_200F_206B_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.Print(P_1, P_2, P_3);
}
}

View file

@ -1,3 +1,5 @@
using System.Runtime.CompilerServices;
using LLib.ImGui;
using Questionable.Model.Questing;
using Questionable.Windows;
@ -7,7 +9,14 @@ internal sealed class SequencesCommandHandler : IDebugCommandHandler
{
private readonly QuestSequenceWindow _questSequenceWindow;
public string CommandName => "seq";
public string CommandName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2123114850);
}
}
public SequencesCommandHandler(QuestSequenceWindow questSequenceWindow)
{
@ -16,13 +25,52 @@ internal sealed class SequencesCommandHandler : IDebugCommandHandler
public void Execute(string[] arguments)
{
if (arguments.Length >= 1 && ElementId.TryFromString(arguments[0], out ElementId elementId) && elementId != null)
int num = ((arguments.Length < 1) ? (-723182513) : (-723182515));
ElementId elementId = default(ElementId);
while (true)
{
_questSequenceWindow.OpenForQuest(elementId);
}
else
{
_questSequenceWindow.ToggleOrUncollapse();
int num2 = num;
int num3 = -723182516;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -723182515;
break;
case 1:
num = ((!_206E_202A_206F_206A_202C_202A_206B_202D_206F_206F_200C_206B_202A_200E_202A_206C_206C_200D_206D_202E_206C_202E_200B_202C_200C_206F_206A_206C_206E_200C_202E_206A_206A_206A_202B_202B_206D_200F_202B_206A_202E(arguments[0], ref elementId)) ? (-723182513) : (-723182516));
break;
case 0:
num = ((!_200F_200D_202B_206C_202A_206C_200D_200E_206E_202D_206E_200B_200C_200E_200B_200E_202B_200E_200B_206D_202D_206B_206F_200F_200E_200B_200E_202A_206D_206A_202C_202B_200E_202D_202C_202E_200D_206E_202D_206E_202E(elementId, (ElementId)null)) ? (-723182513) : (-723182520));
break;
case 3:
_206D_202A_206F_206A_206C_202E_206F_206E_206B_200D_202B_206E_200D_202B_202A_202B_206F_206E_206B_206B_200E_206F_200D_202B_206F_200E_200D_202A_206F_202E_202D_206C_206F_206F_200B_206E_200F_206B_206D_200D_202E((LWindow)_questSequenceWindow);
return;
case 4:
_questSequenceWindow.OpenForQuest(elementId);
return;
}
}
}
void IDebugCommandHandler.Execute(string[] arguments)
{
//ILSpy generated this explicit interface implementation from .override directive in Execute
this.Execute(arguments);
}
static bool _206E_202A_206F_206A_202C_202A_206B_202D_206F_206F_200C_206B_202A_200E_202A_206C_206C_200D_206D_202E_206C_202E_200B_202C_200C_206F_206A_206C_206E_200C_202E_206A_206A_206A_202B_202B_206D_200F_202B_206A_202E(string P_0, ref ElementId P_1)
{
return ElementId.TryFromString(P_0, out P_1);
}
static bool _200F_200D_202B_206C_202A_206C_200D_200E_206E_202D_206E_200B_200C_200E_200B_200E_202B_200E_200B_206D_202D_206B_206F_200F_200E_200B_200E_202A_206D_206A_202C_202B_200E_202D_202C_202E_200D_206E_202D_206E_202E(ElementId P_0, ElementId P_1)
{
return P_0 != P_1;
}
static void _206D_202A_206F_206A_206C_202E_206F_206E_206B_200D_202B_206E_200D_202B_202A_202B_206F_206E_206B_206B_200E_206F_200D_202B_206F_200E_200D_202A_206F_202E_202D_206C_206F_206F_200B_206E_200F_206B_206D_200D_202E(LWindow P_0)
{
P_0.ToggleOrUncollapse();
}
}

View file

@ -1,3 +1,5 @@
using System.Runtime.CompilerServices;
using LLib.ImGui;
using Questionable.Windows;
namespace Questionable.Controller.DebugCommands;
@ -6,7 +8,14 @@ internal sealed class SetupCommandHandler : IDebugCommandHandler
{
private readonly OneTimeSetupWindow _oneTimeSetupWindow;
public string CommandName => "setup";
public string CommandName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(2087530843);
}
}
public SetupCommandHandler(OneTimeSetupWindow oneTimeSetupWindow)
{
@ -15,6 +24,17 @@ internal sealed class SetupCommandHandler : IDebugCommandHandler
public void Execute(string[] arguments)
{
_oneTimeSetupWindow.IsOpenAndUncollapsed = true;
_206D_200D_200D_202D_200C_206A_200D_202C_202E_206F_200B_206E_200B_202A_200E_202D_202B_202B_200D_200F_202A_200B_206C_202C_200C_202D_206A_200F_202A_206E_206E_206C_202C_202C_206B_202C_200F_200D_206E_200E_202E((LWindow)_oneTimeSetupWindow, true);
}
void IDebugCommandHandler.Execute(string[] arguments)
{
//ILSpy generated this explicit interface implementation from .override directive in Execute
this.Execute(arguments);
}
static void _206D_200D_200D_202D_200C_206A_200D_202C_202E_206F_200B_206E_200B_202A_200E_202D_202B_202B_200D_200F_202A_200B_206C_202C_200C_202D_206A_200F_202A_206E_206E_206C_202C_202C_206B_202C_200F_200D_206E_200E_202E(LWindow P_0, bool P_1)
{
P_0.IsOpenAndUncollapsed = P_1;
}
}

View file

@ -1,3 +1,4 @@
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using Questionable.Model;
using Questionable.Model.Questing;
@ -12,7 +13,14 @@ internal sealed class SimulateQuestCommandHandler : IDebugCommandHandler
private readonly IChatGui _chatGui;
public string CommandName => "sim";
public string CommandName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(408484576);
}
}
public SimulateQuestCommandHandler(QuestController questController, QuestRegistry questRegistry, IChatGui chatGui)
{
@ -21,38 +29,126 @@ internal sealed class SimulateQuestCommandHandler : IDebugCommandHandler
_chatGui = chatGui;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Execute(string[] arguments)
{
if (arguments.Length >= 1 && ElementId.TryFromString(arguments[0], out ElementId elementId) && elementId != null)
int num = ((arguments.Length < 1) ? 75346620 : 75346609);
int step = default(int);
int result = default(int);
ElementId elementId = default(ElementId);
byte result2 = default(byte);
byte sequence = default(byte);
QuestSequence questSequence = default(QuestSequence);
Quest quest = default(Quest);
while (true)
{
if (_questRegistry.TryGetQuest(elementId, out Quest quest))
int num2 = num;
int num3 = 75346615;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 12:
step = result;
num = 75346611;
break;
case 7:
{
IChatGui chatGui2 = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(15, 1);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-742005049));
defaultInterpolatedStringHandler2.AppendFormatted(elementId);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-404473860));
_200B_206F_202C_200F_200E_200C_200E_200B_202C_200F_206F_200D_200E_202A_202D_200C_200D_202B_200C_200B_206B_202B_200C_202A_202D_206F_206E_202B_206E_200E_202D_206D_202E_200E_200D_200E_202E_200F_200D_202B_202E(chatGui2, defaultInterpolatedStringHandler2.ToStringAndClear(), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1481660241), (ushort?)(ushort)576);
return;
}
case 0:
num = ((!byte.TryParse(arguments[1], out result2)) ? 75346611 : 75346614);
break;
case 9:
num = ((!_206F_200B_200F_202E_206B_206A_202C_202B_206A_200B_202E_202B_202C_202A_200C_200B_202B_202D_206E_206C_202E_206A_202A_200C_206B_200F_200F_200B_206E_202C_206C_206A_202B_206D_206F_202D_206E_206E_200C_206B_202E(elementId, (ElementId)null)) ? 75346620 : 75346613);
break;
case 3:
num = ((!int.TryParse(arguments[2], out result)) ? 75346611 : 75346618);
break;
case 10:
num = 75346609;
break;
case 8:
sequence = 0;
step = 0;
num = ((arguments.Length < 2) ? 75346611 : 75346615);
break;
case 13:
num = ((_206E_200E_202A_206C_202A_200D_206D_200D_202B_202D_200C_200F_202D_202C_202D_202E_206B_202C_206F_200C_206E_206B_202D_206D_206A_206D_200E_202A_206C_206A_206A_206C_206E_206D_206A_206B_200E_206E_206E_200E_202E(questSequence, result) == null) ? 75346611 : 75346619);
break;
case 11:
_questController.SimulateQuest(null, 0, 0);
_200B_206D_206B_206E_206E_202C_200C_202C_202D_202C_206E_202A_206E_206B_206D_206E_200E_206B_206A_200C_200C_206B_202D_200C_206F_200E_202C_206E_206D_202A_206B_202B_202A_206E_206A_202C_206C_206C_206E_206E_202E(_chatGui, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(31159756), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(85756196), (ushort?)(ushort)576);
return;
case 2:
num = ((!_questRegistry.TryGetQuest(elementId, out quest)) ? 75346608 : 75346623);
break;
case 5:
sequence = _206A_200B_206E_206D_200F_206F_202A_206A_202D_202E_200F_200E_202C_200E_206C_206F_200C_202A_202E_202E_206C_200F_202C_206A_200B_200F_200E_206F_206D_202A_206E_202A_202A_200B_206C_206D_206A_200D_206E_202B_202E(questSequence);
num = ((arguments.Length < 3) ? 75346611 : 75346612);
break;
case 1:
questSequence = quest.FindSequence(result2);
num = ((questSequence == null) ? 75346611 : 75346610);
break;
case 4:
{
byte sequence = 0;
int step = 0;
if (arguments.Length >= 2 && byte.TryParse(arguments[1], out var result))
{
QuestSequence questSequence = quest.FindSequence(result);
if (questSequence != null)
{
sequence = questSequence.Sequence;
if (arguments.Length >= 3 && int.TryParse(arguments[2], out var result2) && questSequence.FindStep(result2) != null)
{
step = result2;
}
}
}
_questController.SimulateQuest(quest, sequence, step);
_chatGui.Print($"Simulating quest {elementId} ({quest.Info.Name}).", "Questionable", 576);
IChatGui chatGui = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1180305998));
defaultInterpolatedStringHandler.AppendFormatted(elementId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1099691430));
defaultInterpolatedStringHandler.AppendFormatted(quest.Info.Name);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1109945913));
_200B_206D_206B_206E_206E_202C_200C_202C_202D_202C_206E_202A_206E_206B_206D_206E_200E_206B_206A_200C_200C_206B_202D_200C_206F_200E_202C_206E_206D_202A_206B_202B_202A_206E_206A_202C_206C_206C_206E_206E_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
return;
}
else
{
_chatGui.PrintError($"Unknown quest {elementId}.", "Questionable", 576);
case 6:
num = ((!_202A_206D_206D_206D_206C_200D_200E_202D_202A_206A_202C_206F_200B_202B_206E_200C_200E_200C_206E_206A_200C_206F_200E_202A_202C_206F_200F_200B_206D_202D_202B_202D_202E_200E_202D_200E_200D_200B_206E_200E_202E(arguments[0], ref elementId)) ? 75346620 : 75346622);
break;
}
}
else
{
_questController.SimulateQuest(null, 0, 0);
_chatGui.Print("Cleared simulated quest.", "Questionable", 576);
}
}
void IDebugCommandHandler.Execute(string[] arguments)
{
//ILSpy generated this explicit interface implementation from .override directive in Execute
this.Execute(arguments);
}
static bool _202A_206D_206D_206D_206C_200D_200E_202D_202A_206A_202C_206F_200B_202B_206E_200C_200E_200C_206E_206A_200C_206F_200E_202A_202C_206F_200F_200B_206D_202D_202B_202D_202E_200E_202D_200E_200D_200B_206E_200E_202E(string P_0, ref ElementId P_1)
{
return ElementId.TryFromString(P_0, out P_1);
}
static bool _206F_200B_200F_202E_206B_206A_202C_202B_206A_200B_202E_202B_202C_202A_200C_200B_202B_202D_206E_206C_202E_206A_202A_200C_206B_200F_200F_200B_206E_202C_206C_206A_202B_206D_206F_202D_206E_206E_200C_206B_202E(ElementId P_0, ElementId P_1)
{
return P_0 != P_1;
}
static byte _206A_200B_206E_206D_200F_206F_202A_206A_202D_202E_200F_200E_202C_200E_206C_206F_200C_202A_202E_202E_206C_200F_202C_206A_200B_200F_200E_206F_206D_202A_206E_202A_202A_200B_206C_206D_206A_200D_206E_202B_202E(QuestSequence P_0)
{
return P_0.Sequence;
}
static QuestStep _206E_200E_202A_206C_202A_200D_206D_200D_202B_202D_200C_200F_202D_202C_202D_202E_206B_202C_206F_200C_206E_206B_202D_206D_206A_206D_200E_202A_206C_206A_206A_206C_206E_206D_206A_206B_200E_206E_206E_200E_202E(QuestSequence P_0, int P_1)
{
return P_0.FindStep(P_1);
}
static void _200B_206D_206B_206E_206E_202C_200C_202C_202D_202C_206E_202A_206E_206B_206D_206E_200E_206B_206A_200C_200C_206B_202D_200C_206F_200E_202C_206E_206D_202A_206B_202B_202A_206E_206A_202C_206C_206C_206E_206E_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.Print(P_1, P_2, P_3);
}
static void _200B_206F_202C_200F_200E_200C_200E_200B_202C_200F_206F_200D_200E_202A_202D_200C_200D_202B_200C_200B_206B_202B_200C_202A_202D_206F_206E_202B_206E_200E_202D_206D_202E_200E_200D_200E_202E_200F_200D_202B_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.PrintError(P_1, P_2, P_3);
}
}

View file

@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game.UI;
using Lumina.Excel;
@ -14,7 +15,14 @@ internal sealed class TaxiCommandHandler : IDebugCommandHandler
private readonly IChatGui _chatGui;
public string CommandName => "taxi";
public string CommandName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(36013436);
}
}
public TaxiCommandHandler(IDataManager dataManager, IClientState clientState, IChatGui chatGui)
{
@ -23,44 +31,177 @@ internal sealed class TaxiCommandHandler : IDebugCommandHandler
_chatGui = chatGui;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe void Execute(string[] arguments)
{
List<string> list = new List<string>();
ExcelSheet<ChocoboTaxiStand> excelSheet = _dataManager.GetExcelSheet<ChocoboTaxiStand>();
UIState* ptr = UIState.Instance();
if (ptr == null)
int num = ((ptr != null) ? (-1504900883) : (-1504900882));
string text = default(string);
while (true)
{
_chatGui.PrintError("UIState is null", "Questionable", 576);
return;
}
for (int i = 0; i < 192; i++)
{
uint num = (uint)(i + 1179648);
try
int num2 = num;
int num3 = -1504900881;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
if (excelSheet.HasRow(num) && ptr->IsChocoboTaxiStandUnlocked(num))
case 0:
goto IL_006e;
case 1:
_202A_202A_206C_200D_200B_202A_206E_206C_206D_200B_200D_200C_202B_206E_200E_200C_206B_202B_206D_206C_200C_202E_206E_200C_202A_206F_202B_206E_202A_200B_206D_206F_202B_202E_206A_200C_206D_200D_206F_202D_202E(_chatGui, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(450011813), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
return;
case 2:
{
for (int num5 = 0; num5 < 192; num5 = (num4 | num3) + (num4 & num3))
{
string value = excelSheet.GetRow(num).PlaceName.ToString();
if (string.IsNullOrEmpty(value))
int num6 = num5;
num3 = 1179648;
num4 = num6;
int num7 = num4 ^ num3;
int num8 = num4 & num3;
uint num9 = (uint)(num7 + (num8 + num8));
try
{
value = "Unknown";
num = (excelSheet.HasRow(num9) ? (-1045043585) : (-1045043591));
while (true)
{
int num10 = num;
num3 = -1045043587;
num4 = num10;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
num = -1045043591;
break;
case 3:
text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-934792339);
num = -1045043587;
break;
case 4:
goto end_IL_00eb;
case 2:
num = ((!ptr->IsChocoboTaxiStandUnlocked(num9)) ? (-1045043592) : (-1045043588));
break;
case 1:
text = excelSheet.GetRow(num9).PlaceName.ToString();
num = ((!_200D_200E_202E_200F_202B_200B_206B_200C_202B_206A_202E_200D_206E_200C_206D_206A_202B_200C_206E_200E_202B_202D_202B_200E_200C_206C_206A_206F_206B_202A_202E_202D_202A_202A_200C_200E_202A_206C_200E_206E_202E(text)) ? (-1045043587) : (-1045043586));
break;
case 0:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(16, 3);
defaultInterpolatedStringHandler.AppendFormatted(text);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(911808460));
defaultInterpolatedStringHandler.AppendFormatted(num5);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(201911383));
defaultInterpolatedStringHandler.AppendFormatted(num9, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(906389666));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1618480346));
list.Add(defaultInterpolatedStringHandler.ToStringAndClear());
num = -1045043592;
break;
}
case 5:
goto end_IL_00eb;
}
continue;
end_IL_00eb:
break;
}
}
catch
{
}
int num11 = num5;
num3 = 1;
num4 = num11;
}
num = 2067861557;
while (true)
{
int num12 = num;
num3 = 2067861556;
num4 = num12;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 2067861557;
break;
case 1:
{
IChatGui chatGui = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(24, 1);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(527408719));
defaultInterpolatedStringHandler2.AppendFormatted(list.Count);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1060622796));
_206E_200B_202D_200B_200B_200C_202E_200C_206D_200C_206E_206B_202C_206B_202A_202C_202D_202E_200C_202E_206A_202C_206A_202D_206A_206C_200B_200B_202E_206F_200B_200D_200F_202E_202E_202B_200B_206A_206A_200C_202E(chatGui, defaultInterpolatedStringHandler2.ToStringAndClear(), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1481660241), (ushort?)(ushort)576);
num = ((list.Count != 0) ? 2067861559 : 2067861556);
break;
}
case 0:
_206E_200B_202D_200B_200B_200C_202E_200C_206D_200C_206E_206B_202C_206B_202A_202C_202D_202E_200C_202E_206A_202C_206A_202D_206A_206C_200B_200B_202E_206F_200B_200D_200F_202E_202E_202B_200B_206A_206A_200C_202E(_chatGui, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(372663010), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(467221712), (ushort?)(ushort)576);
return;
case 3:
{
using List<string>.Enumerator enumerator = list.GetEnumerator();
num = -1727299586;
while (true)
{
int num13 = num;
num3 = -1727299586;
num4 = num13;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = -1727299586;
break;
case 0:
num = (enumerator.MoveNext() ? (-1727299585) : (-1727299587));
break;
case 1:
{
string current = enumerator.Current;
_206E_200B_202D_200B_200B_200C_202E_200C_206D_200C_206E_206B_202C_206B_202A_202C_202D_202E_200C_202E_206A_202C_206A_202D_206A_206C_200B_200B_202E_206F_200B_200D_200F_202E_202E_202B_200B_206A_206A_200C_202E(_chatGui, _202A_202E_206A_206D_200C_202A_206C_206E_202C_206E_206C_206D_202B_202E_206D_200D_202A_206D_200F_200E_206F_202E_200C_200C_200E_202E_202C_202A_202A_202C_200E_202C_200B_206A_202A_206B_202E_206A_200F_206C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(232485537), current), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
num = -1727299586;
break;
}
case 3:
return;
}
}
}
}
list.Add($"{value} (ID: {i}, Row: 0x{num:X})");
}
}
catch
{
}
}
_chatGui.Print($"Unlocked taxi stands ({list.Count}):", "Questionable", 576);
if (list.Count == 0)
{
_chatGui.Print(" (No unlocked taxi stands found)", "Questionable", 576);
return;
}
foreach (string item in list)
{
_chatGui.Print(" - " + item, "Questionable", 576);
continue;
IL_006e:
num = -1504900882;
}
}
void IDebugCommandHandler.Execute(string[] arguments)
{
//ILSpy generated this explicit interface implementation from .override directive in Execute
this.Execute(arguments);
}
static void _202A_202A_206C_200D_200B_202A_206E_206C_206D_200B_200D_200C_202B_206E_200E_200C_206B_202B_206D_206C_200C_202E_206E_200C_202A_206F_202B_206E_202A_200B_206D_206F_202B_202E_206A_200C_206D_200D_206F_202D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.PrintError(P_1, P_2, P_3);
}
static bool _200D_200E_202E_200F_202B_200B_206B_200C_202B_206A_202E_200D_206E_200C_206D_206A_202B_200C_206E_200E_202B_202D_202B_200E_200C_206C_206A_206F_206B_202A_202E_202D_202A_202A_200C_200E_202A_206C_200E_206E_202E(string P_0)
{
return string.IsNullOrEmpty(P_0);
}
static void _206E_200B_202D_200B_200B_200C_202E_200C_206D_200C_206E_206B_202C_206B_202A_202C_202D_202E_200C_202E_206A_202C_206A_202D_206A_206C_200B_200B_202E_206F_200B_200D_200F_202E_202E_202B_200B_206A_206A_200C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.Print(P_1, P_2, P_3);
}
static string _202A_202E_206A_206D_200C_202A_206C_206E_202C_206E_206C_206D_202B_202E_206D_200D_202A_206D_200F_200E_206F_202E_200C_200C_200E_202E_202C_202A_202A_202C_200E_202C_200B_206A_202A_206B_202E_206A_200F_206C_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
}

View file

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using Questionable.Functions;
@ -14,7 +15,14 @@ internal sealed class UnlockLinksCommandHandler : IDebugCommandHandler
private IReadOnlyList<uint> _previouslyUnlockedUnlockLinks = Array.Empty<uint>();
public string CommandName => "unlock-links";
public string CommandName
{
[MethodImpl(MethodImplOptions.NoInlining)]
get
{
return global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1519844067);
}
}
public UnlockLinksCommandHandler(GameFunctions gameFunctions, IChatGui chatGui)
{
@ -22,27 +30,77 @@ internal sealed class UnlockLinksCommandHandler : IDebugCommandHandler
_chatGui = chatGui;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Execute(string[] arguments)
{
IReadOnlyList<uint> unlockLinks = _gameFunctions.GetUnlockLinks();
if (unlockLinks.Count >= 0)
int num = ((unlockLinks.Count < 0) ? (-529327854) : (-529327856));
List<uint> list = default(List<uint>);
while (true)
{
_chatGui.Print($"Saved {unlockLinks.Count} unlock links to log.", "Questionable", 576);
List<uint> list = unlockLinks.Except(_previouslyUnlockedUnlockLinks).ToList();
if (_previouslyUnlockedUnlockLinks.Count > 0 && list.Count > 0)
int num2 = num;
int num3 = -529327853;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
_chatGui.Print("New unlock links: " + string.Join(", ", list), "Questionable", 576);
case 2:
num = -529327856;
break;
case 5:
_206B_202A_200C_200E_202B_206D_202D_206A_202C_200F_206B_206D_206C_206A_206E_202C_206E_200B_202E_200C_202D_202A_206C_206B_206C_202A_202E_200C_202E_200E_206E_206D_202A_200E_206D_200D_206D_202D_202B_206B_202E(_chatGui, _206A_200D_200D_202A_202A_200B_200C_206E_200D_200F_200D_202A_202C_206A_206F_200B_206F_200D_200D_206F_200B_206A_200F_202C_200E_202C_206A_202E_206E_200D_200C_200B_206B_202A_202B_200C_202E_202C_200D_206B_202E(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1421488541), string.Join(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1095822044), list)), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
num = -529327849;
break;
case 4:
_previouslyUnlockedUnlockLinks = unlockLinks;
return;
case 1:
_206B_202A_200F_200D_200B_200B_202E_200D_202D_200C_202A_206B_206B_202A_206F_200B_202A_202E_200D_200E_202D_206C_200F_206C_206B_202B_206A_202E_206A_202C_200B_206D_202D_200C_206A_200F_202C_206A_206E_202B_202E(_chatGui, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(929710911), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort?)(ushort)576);
num = -529327849;
break;
case 0:
num = ((list.Count <= 0) ? (-529327849) : (-529327850));
break;
case 3:
{
IChatGui chatGui = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(27, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(278706240));
defaultInterpolatedStringHandler.AppendFormatted(unlockLinks.Count);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1528398919));
_206B_202A_200C_200E_202B_206D_202D_206A_202C_200F_206B_206D_206C_206A_206E_202C_206E_200B_202E_200C_202D_202A_206C_206B_206C_202A_202E_200C_202E_200E_206E_206D_202A_200E_206D_200D_206D_202D_202B_206B_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(467221712), (ushort?)(ushort)576);
list = unlockLinks.Except(_previouslyUnlockedUnlockLinks).ToList();
num = ((_previouslyUnlockedUnlockLinks.Count <= 0) ? (-529327849) : (-529327853));
break;
}
}
}
else
{
_chatGui.PrintError("Could not query unlock links.", "Questionable", 576);
}
_previouslyUnlockedUnlockLinks = unlockLinks;
}
void IDebugCommandHandler.Execute(string[] arguments)
{
//ILSpy generated this explicit interface implementation from .override directive in Execute
this.Execute(arguments);
}
public void Reset()
{
_previouslyUnlockedUnlockLinks = Array.Empty<uint>();
}
static void _206B_202A_200C_200E_202B_206D_202D_206A_202C_200F_206B_206D_206C_206A_206E_202C_206E_200B_202E_200C_202D_202A_206C_206B_206C_202A_202E_200C_202E_200E_206E_206D_202A_200E_206D_200D_206D_202D_202B_206B_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.Print(P_1, P_2, P_3);
}
static string _206A_200D_200D_202A_202A_200B_200C_206E_200D_200F_200D_202A_202C_206A_206F_200B_206F_200D_200D_206F_200B_206A_200F_202C_200E_202C_206A_202E_206E_200D_200C_200B_206B_202A_202B_200C_202E_202C_200D_206B_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static void _206B_202A_200F_200D_200B_200B_202E_200D_202D_200C_202A_206B_206B_202A_206F_200B_202A_202E_200D_200E_202D_206C_200F_206C_206B_202B_206A_202E_206A_202C_200B_206D_202D_200C_206A_200F_202C_206A_206E_202B_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.PrintError(P_1, P_2, P_3);
}
}

View file

@ -1,4 +1,5 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Hooking;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game.Event;
@ -19,6 +20,7 @@ internal sealed class AutoSnipeHandler : IDisposable
private readonly Hook<EnqueueSnipeTaskDelegate>? _enqueueSnipeTaskHook;
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe AutoSnipeHandler(QuestController questController, Configuration configuration, IGameInteropProvider gameInteropProvider, ILogger<AutoSnipeHandler> logger)
{
_questController = questController;
@ -26,38 +28,90 @@ internal sealed class AutoSnipeHandler : IDisposable
_logger = logger;
try
{
_enqueueSnipeTaskHook = gameInteropProvider.HookFromSignature<EnqueueSnipeTaskDelegate>("48 89 5C 24 ?? 48 89 6C 24 ?? 48 89 74 24 ?? 57 48 83 EC 50 48 8B F9 48 8D 4C 24 ??", EnqueueSnipeTask);
_enqueueSnipeTaskHook = gameInteropProvider.HookFromSignature<EnqueueSnipeTaskDelegate>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-116900171), EnqueueSnipeTask);
_enqueueSnipeTaskHook.Enable();
_logger.LogInformation("AutoSnipeHandler enabled");
_200C_200C_200F_202D_200B_202A_206A_206A_200C_206E_206E_206A_206E_206A_206B_206F_200B_206C_202B_206B_206A_206A_200B_202E_200F_200F_206F_202A_206D_202B_200E_206E_200E_200B_202B_202D_202D_206F_200D_206E_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-2135730328), Array.Empty<object>());
}
catch (Exception exception)
catch (Exception ex)
{
_logger.LogError(exception, "Failed to initialize AutoSnipeHandler");
_202C_200E_206A_200D_206C_206C_200F_206F_200D_206A_206E_200D_202B_202E_202D_206C_206B_202C_202A_206F_206D_200B_200C_200C_206D_202C_206F_206A_202A_206E_200C_200E_200C_202D_206D_202A_206C_200E_202B_202D_202E((ILogger)_logger, ex, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(309361772), Array.Empty<object>());
_enqueueSnipeTaskHook = null;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe ulong EnqueueSnipeTask(EventSceneModuleImplBase* scene, lua_State* state)
{
if (_configuration.General.AutoSnipe && _questController.IsRunning)
int num = ((!_configuration.General.AutoSnipe) ? 905347558 : 905347556);
while (true)
{
_logger.LogDebug("Auto-completing snipe task");
TValue* top = state->top;
top->tt = 3;
top->value.n = 1.0;
state->top++;
return 1uL;
int num2 = num;
int num3 = 905347557;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 905347556;
break;
case 3:
return _enqueueSnipeTaskHook.Original(scene, state);
case 1:
num = ((!_questController.IsRunning) ? 905347558 : 905347557);
break;
case 0:
{
_200C_200C_200F_202D_200B_202A_206A_206A_200C_206E_206E_206A_206E_206A_206B_206F_200B_206C_202B_206B_206A_206A_200B_202E_200F_200F_206F_202A_206D_202B_200E_206E_200E_200B_202B_202D_202D_206F_200D_206E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(486539700), Array.Empty<object>());
TValue* top = state->top;
top->tt = 3;
top->value.n = 1.0;
state->top++;
return 1uL;
}
}
}
return _enqueueSnipeTaskHook.Original(scene, state);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Dispose()
{
if (_enqueueSnipeTaskHook != null)
int num = ((_enqueueSnipeTaskHook == null) ? 1906347675 : 1906347672);
while (true)
{
_enqueueSnipeTaskHook.Disable();
_enqueueSnipeTaskHook.Dispose();
_logger.LogInformation("AutoSnipeHandler disabled");
int num2 = num;
int num3 = 1906347673;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return;
case 1:
_enqueueSnipeTaskHook.Disable();
_enqueueSnipeTaskHook.Dispose();
_200C_200C_200F_202D_200B_202A_206A_206A_200C_206E_206E_206A_206E_206A_206B_206F_200B_206C_202B_206B_206A_206A_200B_202E_200F_200F_206F_202A_206D_202B_200E_206E_200E_200B_202B_202D_202D_206F_200D_206E_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(135526562), Array.Empty<object>());
num = 1906347675;
break;
case 0:
num = 1906347672;
break;
}
}
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static void _200C_200C_200F_202D_200B_202A_206A_206A_200C_206E_206E_206A_206E_206A_206B_206F_200B_206C_202B_206B_206A_206A_200B_202E_200F_200F_206F_202A_206D_202B_200E_206E_200E_200B_202B_202D_202D_206F_200D_206E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static void _202C_200E_206A_200D_206C_206C_200F_206F_200D_206A_206E_200D_202B_202E_202D_206C_206B_202C_202A_206F_206D_200B_200C_200C_206D_202C_206F_206A_202A_206E_200C_200E_200C_202D_206D_202A_206C_200E_202B_202D_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
}

View file

@ -1,9 +1,11 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using Dalamud.Game.Addon.Lifecycle;
using Dalamud.Game.Addon.Lifecycle.AddonArgTypes;
using Dalamud.Game.NativeWrapper;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Component.GUI;
using LLib.GameUI;
@ -16,9 +18,9 @@ internal sealed class ChocoboNameHandler : IDisposable
{
private static readonly HashSet<ElementId> ChocoboQuestIds = new HashSet<ElementId>
{
new QuestId(700),
new QuestId(701),
new QuestId(702)
_206C_206C_202C_202A_202B_202C_202C_202C_202D_200C_200D_206D_202E_200E_202E_206D_206A_202C_206E_206E_202C_200B_206D_200C_202B_206E_202D_206B_206F_206B_200F_206B_202D_206C_202C_200B_206F_206E_206E_202C_202E((ushort)700),
_206C_206C_202C_202A_202B_202C_202C_202C_202D_200C_200D_206D_202E_200E_202E_206D_206A_202C_206E_206E_202C_200B_206D_200C_202B_206E_202D_206B_206F_206B_200F_206B_202D_206C_202C_200B_206F_206E_206E_202C_202E((ushort)701),
_206C_206C_202C_202A_202B_202C_202C_202C_202D_200C_200D_206D_202E_200E_202E_206D_206A_202C_206E_206E_202C_200B_206D_200C_202B_206E_202D_206B_206F_206B_200F_206B_202D_206C_202C_200B_206F_206E_206E_202C_202E((ushort)702)
};
private readonly QuestController _questController;
@ -31,108 +33,328 @@ internal sealed class ChocoboNameHandler : IDisposable
private bool _awaitingConfirmation;
[MethodImpl(MethodImplOptions.NoInlining)]
public ChocoboNameHandler(QuestController questController, Configuration configuration, IAddonLifecycle addonLifecycle, ILogger<ChocoboNameHandler> logger)
{
_questController = questController;
_configuration = configuration;
_addonLifecycle = addonLifecycle;
_logger = logger;
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, "InputString", OnInputStringSetup);
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, "SelectYesno", OnSelectYesNoSetup);
_206F_206A_206D_206E_202D_202B_202A_202D_206A_202B_200C_206F_200B_200E_202C_200F_202D_202A_206E_202D_206B_206A_202E_206A_202A_206F_206B_202C_206D_200C_206D_202D_200C_202E_200D_202D_202D_206C_202E_202B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(86143620), (IAddonLifecycle.AddonEventDelegate)OnInputStringSetup);
_206F_206A_206D_206E_202D_202B_202A_202D_206A_202B_200C_206F_200B_200E_202C_200F_202D_202A_206E_202D_206B_206A_202E_206A_202A_206F_206B_202C_206D_200C_206D_202D_200C_202E_200D_202D_202D_206C_202E_202B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(559979746), (IAddonLifecycle.AddonEventDelegate)OnSelectYesNoSetup);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Dispose()
{
_addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "SelectYesno", OnSelectYesNoSetup);
_addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "InputString", OnInputStringSetup);
_200D_200C_206E_202B_200C_200D_202C_200D_202A_200D_202D_200D_206D_200C_206D_202A_200B_206E_202A_206F_200B_202D_200B_200B_206B_200B_202D_206A_206E_200F_206C_200F_202C_200F_200F_206A_206F_206C_202B_202A_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1652110159), (IAddonLifecycle.AddonEventDelegate)OnSelectYesNoSetup);
_200D_200C_206E_202B_200C_200D_202C_200D_202A_200D_202D_200D_206D_200C_206D_202A_200B_206E_202A_206F_200B_202D_200B_200B_206B_200B_202D_206A_206E_200F_206C_200F_202C_200F_200F_206A_206F_206C_202B_202A_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1424112397), (IAddonLifecycle.AddonEventDelegate)OnInputStringSetup);
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
private bool IsChocoboQuestActive()
{
QuestController.QuestProgress currentQuest = _questController.CurrentQuest;
if (currentQuest != null)
int num = ((currentQuest == null) ? (-1870798202) : (-1870798201));
while (true)
{
return ChocoboQuestIds.Contains(currentQuest.Quest.Id);
int num2 = num;
int num3 = -1870798202;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_004d;
case 0:
return false;
case 1:
return ChocoboQuestIds.Contains(currentQuest.Quest.Id);
}
continue;
IL_004d:
num = -1870798201;
}
return false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void OnInputStringSetup(AddonEvent type, AddonArgs args)
{
if (_questController.IsRunning && IsChocoboQuestActive())
int num = (_questController.IsRunning ? 1822557266 : 1822557269);
AtkUnitBase* address = default(AtkUnitBase*);
while (true)
{
AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address;
if (LAddon.IsAddonReady(address))
int num2 = num;
int num3 = 1822557265;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 5:
{
string validatedChocoboName = GetValidatedChocoboName(_configuration.Advanced.ChocoboName);
_logger.LogInformation("Entering chocobo name: {Name}", validatedChocoboName);
_202B_202A_200B_200B_202A_202A_206C_202D_200F_206E_200D_200B_206B_200B_202A_200C_202E_206D_206A_206E_200C_200E_206A_206E_206C_206A_202A_206C_206C_200B_206B_206C_206B_206A_202B_202C_200C_200D_206F_206C_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1006446610), new object[1] { validatedChocoboName });
FireInputStringCallback(address, validatedChocoboName);
_awaitingConfirmation = true;
return;
}
case 6:
return;
case 2:
num = 1822557269;
break;
case 4:
return;
case 1:
address = (AtkUnitBase*)_200E_202E_206D_200B_206C_202B_200E_200C_200C_200D_200E_206F_200D_206A_200D_202A_202D_200E_206B_202A_206C_202D_200E_202A_202E_206D_202C_202E_206D_206D_202C_200F_206D_206D_200F_202B_202E_202B_206E_206E_202E(args).Address;
num = (_200F_206F_206E_206B_202C_202E_200F_206A_202D_206D_206A_200F_206A_202B_200E_202A_206E_200B_202D_206B_206E_206B_206F_206D_206C_202D_202C_202A_206D_202C_200C_202A_202A_206F_206D_206E_202E_202B_200D_200E_202E(address) ? 1822557268 : 1822557271);
break;
case 0:
return;
case 3:
num = (IsChocoboQuestActive() ? 1822557264 : 1822557265);
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void OnSelectYesNoSetup(AddonEvent type, AddonArgs args)
{
if (_questController.IsRunning && _awaitingConfirmation)
int num = (_questController.IsRunning ? (-693008591) : (-693008586));
AtkUnitBase* address = default(AtkUnitBase*);
while (true)
{
AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address;
if (LAddon.IsAddonReady(address))
int num2 = num;
int num3 = -693008590;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
_logger.LogInformation("Confirming chocobo name");
case 2:
return;
case 4:
return;
case 1:
return;
case 6:
_202B_202A_200B_200B_202A_202A_206C_202D_200F_206E_200D_200B_206B_200B_202A_200C_202E_206D_206A_206E_200C_200E_206A_206E_206C_206A_202A_206C_206C_200B_206B_206C_206B_206A_202B_202C_200C_200D_206F_206C_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-410002708), Array.Empty<object>());
ClickYes(address);
_awaitingConfirmation = false;
return;
case 5:
address = (AtkUnitBase*)_200E_202E_206D_200B_206C_202B_200E_200C_200C_200D_200E_206F_200D_206A_200D_202A_202D_200E_206B_202A_206C_202D_200E_202A_202E_206D_202C_202E_206D_206D_202C_200F_206D_206D_200F_202B_202E_202B_206E_206E_202E(args).Address;
num = (_200F_206F_206E_206B_202C_202E_200F_206A_202D_206D_206A_200F_206A_202B_200E_202A_206E_200B_202D_206B_206E_206B_206F_206D_206C_202D_202C_202A_206D_202C_200C_202A_202A_206F_206D_206E_202E_202B_200D_200E_202E(address) ? (-693008588) : (-693008589));
break;
case 0:
num = -693008586;
break;
case 3:
num = (_awaitingConfirmation ? (-693008585) : (-693008592));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static string GetValidatedChocoboName(string? configuredName)
{
if (string.IsNullOrWhiteSpace(configuredName))
int num = ((!_206D_202E_200E_202A_202E_200B_202B_200F_206E_200F_202C_202E_206C_200C_206E_202A_202D_200B_202B_206E_206B_206A_202D_202C_206B_200B_202D_206C_206A_202C_206C_206D_206B_206C_200C_200B_202B_206D_206E_200C_202E(configuredName)) ? 807668921 : 807668920);
string text = default(string);
while (true)
{
return "Kweh";
int num2 = num;
int num3 = 807668921;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = ((_200B_202B_206F_202D_202C_206F_200B_202E_202E_206D_200E_202B_202B_200F_202A_200E_206B_202C_206C_206D_206F_202B_202C_202C_200B_200C_200D_200D_206A_206F_202A_202E_202C_202D_202B_206C_200C_206D_200D_200F_202E(text) <= 20) ? 807668925 : 807668924);
break;
case 1:
return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1639602730);
case 0:
text = _206B_202B_206E_206B_206F_202D_202D_200F_202A_200C_200B_202E_206B_206E_206B_200C_206B_206E_200D_200E_200E_202E_206E_202A_206C_206A_202E_206F_206B_202C_206E_206C_206D_200F_206A_202C_206E_200C_200E_200C_202E(configuredName);
num = ((_200B_202B_206F_202D_202C_206F_200B_202E_202E_206D_200E_202B_202B_200F_202A_200E_206B_202C_206C_206D_206F_202B_202C_202C_200B_200C_200D_200D_206A_206F_202A_202E_202C_202D_202B_206C_200C_206D_200D_200F_202E(text) < 2) ? 807668924 : 807668923);
break;
case 5:
return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1096463492);
case 4:
return _202B_202B_206C_200C_202D_206C_200F_202B_200B_200B_206E_206D_206B_202A_206E_206F_202B_202A_200C_206F_206E_200E_200D_202C_206D_200C_206E_202D_206A_206C_206D_200C_206D_200D_206E_206B_206E_206C_206B_202E(_202A_206E_202A_202B_202A_206F_202B_202E_200B_206D_202D_202D_202C_202B_200B_202E_206A_200B_206E_200D_202C_206D_202A_200E_206C_206E_200E_202B_206E_200C_200D_200B_206A_200D_202B_206D_206B_206D_202C_202E(_200F_206E_206F_206A_206B_206F_206C_206E_206C_202A_200E_206D_206B_202D_206D_206E_200D_202A_202C_206A_206D_200C_206A_200D_202B_202D_206C_206B_202B_206A_202D_206E_200E_206E_200B_206D_202C_206A_202A_202E_202E(text, 0, 1)), (_200B_202B_206F_202D_202C_206F_200B_202E_202E_206D_200E_202B_202B_200F_202A_200E_206B_202C_206C_206D_206F_202B_202C_202C_200B_200C_200D_200D_206A_206F_202A_202E_202C_202D_202B_206C_200C_206D_200D_200F_202E(text) > 1) ? _200F_200E_206B_202E_206E_206A_206B_200E_200B_206A_202B_200D_202B_206F_206F_206F_202D_206F_200F_200F_206B_200D_206B_206E_200D_206E_206E_202B_202C_206E_206E_200E_202E_206D_206C_206C_206C_206E_202A_206E_202E(_202D_206D_200B_206E_202B_200F_206B_200B_206D_200F_202E_200D_206A_206F_200D_202E_200C_202D_206E_202A_206F_206B_206B_202A_200C_206C_206A_200B_206A_206C_202B_202B_202B_206A_202C_206B_206E_200D_206C_202C_202E(text, 1)) : string.Empty);
case 3:
num = 807668920;
break;
}
}
string text = configuredName.Trim();
if (text.Length < 2 || text.Length > 20)
{
return "Kweh";
}
return text.Substring(0, 1).ToUpperInvariant() + ((text.Length > 1) ? text.Substring(1).ToLowerInvariant() : string.Empty);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void FireInputStringCallback(AtkUnitBase* addon, string text)
{
AtkComponentNode* componentNodeById = addon->GetComponentNodeById(9u);
if (componentNodeById == null)
int num = ((componentNodeById != null) ? 1161429663 : 1161429658);
AtkComponentTextInput* asAtkComponentTextInput = default(AtkComponentTextInput*);
while (true)
{
_logger.LogWarning("Could not find text input node in InputString addon");
return;
int num2 = num;
int num3 = 1161429659;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
asAtkComponentTextInput = componentNodeById->GetAsAtkComponentTextInput();
num = ((asAtkComponentTextInput != null) ? 1161429659 : 1161429656);
break;
case 3:
_202B_206C_200C_202C_200F_200C_202A_200D_202D_206D_202B_202C_200E_206C_206C_206D_206C_200B_206C_206A_202A_206A_202D_200E_202A_202A_202D_206B_206F_202E_202C_200F_202E_206A_202B_206F_200B_202B_206A_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1465025434), Array.Empty<object>());
return;
case 0:
{
asAtkComponentTextInput->SetText(text);
AtkValue* ptr = stackalloc AtkValue[2];
ptr->Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int;
ptr->Int = 0;
byte[] array = _202A_202B_202A_200E_206F_200F_200F_206C_200B_206A_202A_200B_200F_202B_202B_206B_206F_202A_202E_200F_200E_206A_202D_206F_200C_202E_206B_200B_202D_206C_206E_202D_202D_200B_206A_200D_200B_200C_202A_202C_202E(_200F_200C_202C_206C_200C_206D_202C_206D_202C_200B_206B_206D_206D_202D_200B_206D_202B_206D_206C_206C_206D_206B_206F_206C_206A_202E_206A_200D_200F_202A_200E_202B_200D_206A_200B_206E_206E_206D_200C_200C_202E(), text);
int num7 = array.Length;
num3 = 1;
num4 = num7;
int num8 = num4 ^ num3;
int num9 = num4 & num3;
nint num10 = _202B_202E_202A_200F_200E_202A_206A_202A_206C_202D_206A_202D_202B_200E_200F_206F_206E_200E_202B_200B_206E_206F_202B_200B_206A_200B_202B_200E_200C_200D_202D_206D_200C_202C_200F_202B_206D_206D_206A_202E_202E(num8 + (num9 + num9));
_202D_200F_200B_206D_202E_206C_200C_206A_202B_200E_202B_202C_206E_206E_206C_200D_206B_202A_206B_206F_200F_206C_206E_200E_200C_206E_202A_202D_202C_202A_202B_200E_202D_200E_200C_202A_202D_200F_200D_200E_202E(array, 0, num10, array.Length);
_200D_206D_200B_202C_202C_200B_206E_206C_206C_200B_206E_206A_206E_200F_202B_202B_202E_200D_202A_206A_202E_202D_200B_202E_206C_206F_200C_206A_200B_200F_200B_206D_202E_200F_202D_200E_202A_206B_200D_206C_202E(num10 + array.Length, (byte)0);
ptr[1].Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.String;
ptr[1].String = (byte*)num10;
addon->FireCallback(2u, ptr);
_206E_200B_200B_200E_200E_202B_202D_202E_206E_206B_206B_202D_206D_202D_200B_206D_202D_206E_206D_206C_202C_206F_206E_206A_206E_200E_206D_202D_206B_202A_202B_202A_206C_206A_200B_206D_202C_202A_200F_200E_202E(num10);
return;
}
case 1:
_202B_206C_200C_202C_200F_200C_202A_200D_202D_206D_202B_202C_200E_206C_206C_206D_206C_200B_206C_206A_202A_206A_202D_200E_202A_202A_202D_206B_206F_202E_202C_200F_202E_206A_202B_206F_200B_202B_206A_202D_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-740037157), Array.Empty<object>());
return;
case 2:
num = 1161429658;
break;
}
}
AtkComponentTextInput* asAtkComponentTextInput = componentNodeById->GetAsAtkComponentTextInput();
if (asAtkComponentTextInput == null)
{
_logger.LogWarning("Node is not a text input component");
return;
}
asAtkComponentTextInput->SetText(text);
AtkValue* ptr = stackalloc AtkValue[2];
ptr->Type = AtkValueType.Int;
ptr->Int = 0;
byte[] bytes = Encoding.UTF8.GetBytes(text);
nint num = Marshal.AllocHGlobal(bytes.Length + 1);
Marshal.Copy(bytes, 0, num, bytes.Length);
Marshal.WriteByte(num + bytes.Length, 0);
ptr[1].Type = AtkValueType.String;
ptr[1].String = (byte*)num;
addon->FireCallback(2u, ptr);
Marshal.FreeHGlobal(num);
}
private unsafe static void ClickYes(AtkUnitBase* addon)
{
AtkValue* ptr = stackalloc AtkValue[1];
ptr->Type = AtkValueType.Int;
ptr->Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int;
ptr->Int = 0;
addon->FireCallback(1u, ptr);
}
static void _206F_206A_206D_206E_202D_202B_202A_202D_206A_202B_200C_206F_200B_200E_202C_200F_202D_202A_206E_202D_206B_206A_202E_206A_202A_206F_206B_202C_206D_200C_206D_202D_200C_202E_200D_202D_202D_206C_202E_202B_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3)
{
P_0.RegisterListener(P_1, P_2, P_3);
}
static void _200D_200C_206E_202B_200C_200D_202C_200D_202A_200D_202D_200D_206D_200C_206D_202A_200B_206E_202A_206F_200B_202D_200B_200B_206B_200B_202D_206A_206E_200F_206C_200F_202C_200F_200F_206A_206F_206C_202B_202A_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3)
{
P_0.UnregisterListener(P_1, P_2, P_3);
}
static AtkUnitBasePtr _200E_202E_206D_200B_206C_202B_200E_200C_200C_200D_200E_206F_200D_206A_200D_202A_202D_200E_206B_202A_206C_202D_200E_202A_202E_206D_202C_202E_206D_206D_202C_200F_206D_206D_200F_202B_202E_202B_206E_206E_202E(AddonArgs P_0)
{
return P_0.Addon;
}
unsafe static bool _200F_206F_206E_206B_202C_202E_200F_206A_202D_206D_206A_200F_206A_202B_200E_202A_206E_200B_202D_206B_206E_206B_206F_206D_206C_202D_202C_202A_206D_202C_200C_202A_202A_206F_206D_206E_202E_202B_200D_200E_202E(AtkUnitBase* P_0)
{
return LAddon.IsAddonReady(P_0);
}
static void _202B_202A_200B_200B_202A_202A_206C_202D_200F_206E_200D_200B_206B_200B_202A_200C_202E_206D_206A_206E_200C_200E_206A_206E_206C_206A_202A_206C_206C_200B_206B_206C_206B_206A_202B_202C_200C_200D_206F_206C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _206D_202E_200E_202A_202E_200B_202B_200F_206E_200F_202C_202E_206C_200C_206E_202A_202D_200B_202B_206E_206B_206A_202D_202C_206B_200B_202D_206C_206A_202C_206C_206D_206B_206C_200C_200B_202B_206D_206E_200C_202E(string P_0)
{
return string.IsNullOrWhiteSpace(P_0);
}
static string _206B_202B_206E_206B_206F_202D_202D_200F_202A_200C_200B_202E_206B_206E_206B_200C_206B_206E_200D_200E_200E_202E_206E_202A_206C_206A_202E_206F_206B_202C_206E_206C_206D_200F_206A_202C_206E_200C_200E_200C_202E(string P_0)
{
return P_0.Trim();
}
static int _200B_202B_206F_202D_202C_206F_200B_202E_202E_206D_200E_202B_202B_200F_202A_200E_206B_202C_206C_206D_206F_202B_202C_202C_200B_200C_200D_200D_206A_206F_202A_202E_202C_202D_202B_206C_200C_206D_200D_200F_202E(string P_0)
{
return P_0.Length;
}
static string _200F_206E_206F_206A_206B_206F_206C_206E_206C_202A_200E_206D_206B_202D_206D_206E_200D_202A_202C_206A_206D_200C_206A_200D_202B_202D_206C_206B_202B_206A_202D_206E_200E_206E_200B_206D_202C_206A_202A_202E_202E(string P_0, int P_1, int P_2)
{
return P_0.Substring(P_1, P_2);
}
static string _202A_206E_202A_202B_202A_206F_202B_202E_200B_206D_202D_202D_202C_202B_200B_202E_206A_200B_206E_200D_202C_206D_202A_200E_206C_206E_200E_202B_206E_200C_200D_200B_206A_200D_202B_206D_206B_206D_202C_202E(string P_0)
{
return P_0.ToUpperInvariant();
}
static string _202D_206D_200B_206E_202B_200F_206B_200B_206D_200F_202E_200D_206A_206F_200D_202E_200C_202D_206E_202A_206F_206B_206B_202A_200C_206C_206A_200B_206A_206C_202B_202B_202B_206A_202C_206B_206E_200D_206C_202C_202E(string P_0, int P_1)
{
return P_0.Substring(P_1);
}
static string _200F_200E_206B_202E_206E_206A_206B_200E_200B_206A_202B_200D_202B_206F_206F_206F_202D_206F_200F_200F_206B_200D_206B_206E_200D_206E_206E_202B_202C_206E_206E_200E_202E_206D_206C_206C_206C_206E_202A_206E_202E(string P_0)
{
return P_0.ToLowerInvariant();
}
static string _202B_202B_206C_200C_202D_206C_200F_202B_200B_200B_206E_206D_206B_202A_206E_206F_202B_202A_200C_206F_206E_200E_200D_202C_206D_200C_206E_202D_206A_206C_206D_200C_206D_200D_206E_206B_206E_206C_206B_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static void _202B_206C_200C_202C_200F_200C_202A_200D_202D_206D_202B_202C_200E_206C_206C_206D_206C_200B_206C_206A_202A_206A_202D_200E_202A_202A_202D_206B_206F_202E_202C_200F_202E_206A_202B_206F_200B_202B_206A_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static Encoding _200F_200C_202C_206C_200C_206D_202C_206D_202C_200B_206B_206D_206D_202D_200B_206D_202B_206D_206C_206C_206D_206B_206F_206C_206A_202E_206A_200D_200F_202A_200E_202B_200D_206A_200B_206E_206E_206D_200C_200C_202E()
{
return Encoding.UTF8;
}
static byte[] _202A_202B_202A_200E_206F_200F_200F_206C_200B_206A_202A_200B_200F_202B_202B_206B_206F_202A_202E_200F_200E_206A_202D_206F_200C_202E_206B_200B_202D_206C_206E_202D_202D_200B_206A_200D_200B_200C_202A_202C_202E(Encoding P_0, string P_1)
{
return P_0.GetBytes(P_1);
}
static nint _202B_202E_202A_200F_200E_202A_206A_202A_206C_202D_206A_202D_202B_200E_200F_206F_206E_200E_202B_200B_206E_206F_202B_200B_206A_200B_202B_200E_200C_200D_202D_206D_200C_202C_200F_202B_206D_206D_206A_202E_202E(int P_0)
{
return Marshal.AllocHGlobal(P_0);
}
static void _202D_200F_200B_206D_202E_206C_200C_206A_202B_200E_202B_202C_206E_206E_206C_200D_206B_202A_206B_206F_200F_206C_206E_200E_200C_206E_202A_202D_202C_202A_202B_200E_202D_200E_200C_202A_202D_200F_200D_200E_202E(byte[] P_0, int P_1, nint P_2, int P_3)
{
Marshal.Copy(P_0, P_1, P_2, P_3);
}
static void _200D_206D_200B_202C_202C_200B_206E_206C_206C_200B_206E_206A_206E_200F_202B_202B_202E_200D_202A_206A_202E_202D_200B_202E_206C_206F_200C_206A_200B_200F_200B_206D_202E_200F_202D_200E_202A_206B_200D_206C_202E(nint P_0, byte P_1)
{
Marshal.WriteByte(P_0, P_1);
}
static void _206E_200B_200B_200E_200E_202B_202D_202E_206E_206B_206B_202D_206D_202D_200B_206D_202D_206E_206D_206C_202C_206F_206E_206A_206E_200E_206D_202D_206B_202A_202B_202A_206C_206A_200B_206D_202C_202A_200F_200E_202E(nint P_0)
{
Marshal.FreeHGlobal(P_0);
}
static QuestId _206C_206C_202C_202A_202B_202C_202C_202C_202D_200C_200D_206D_202E_200E_202E_206D_206A_202C_206E_206E_202C_200B_206D_200C_202B_206E_202D_206B_206F_206B_200F_206B_202D_206C_202C_200B_206F_206E_206E_202C_202E(ushort P_0)
{
return new QuestId(P_0);
}
}

View file

@ -1,7 +1,10 @@
using System;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using Dalamud.Game.Addon.Lifecycle;
using Dalamud.Game.Addon.Lifecycle.AddonArgTypes;
using Dalamud.Game.NativeWrapper;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.UI;
using FFXIVClientStructs.FFXIV.Component.GUI;
@ -24,6 +27,7 @@ internal sealed class CraftworksSupplyController : IDisposable
private bool ShouldHandleUiInteractions => _questController.IsRunning;
[MethodImpl(MethodImplOptions.NoInlining)]
public CraftworksSupplyController(QuestController questController, IAddonLifecycle addonLifecycle, IGameGui gameGui, IFramework framework, ILogger<CraftworksSupplyController> logger)
{
_questController = questController;
@ -31,125 +35,273 @@ internal sealed class CraftworksSupplyController : IDisposable
_gameGui = gameGui;
_framework = framework;
_logger = logger;
_addonLifecycle.RegisterListener(AddonEvent.PostReceiveEvent, "ContextIconMenu", ContextIconMenuPostReceiveEvent);
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, "BankaCraftworksSupply", BankaCraftworksSupplyPostUpdate);
_206A_206B_206F_200B_200D_206D_200F_200D_202D_206B_200E_206B_200F_206D_200F_206F_206C_206A_206B_206F_202D_206B_206D_206B_206F_206F_202B_202C_200B_206C_206D_200F_200F_206E_206F_206A_202E_206B_200B_206D_202E(_addonLifecycle, AddonEvent.PostReceiveEvent, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1810521484), (IAddonLifecycle.AddonEventDelegate)ContextIconMenuPostReceiveEvent);
_206A_206B_206F_200B_200D_206D_200F_200D_202D_206B_200E_206B_200F_206D_200F_206F_206C_206A_206B_206F_202D_206B_206D_206B_206F_206F_202B_202C_200B_206C_206D_200F_200F_206E_206F_206A_202E_206B_200B_206D_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-145476245), (IAddonLifecycle.AddonEventDelegate)BankaCraftworksSupplyPostUpdate);
}
private unsafe void BankaCraftworksSupplyPostUpdate(AddonEvent type, AddonArgs args)
{
if (ShouldHandleUiInteractions)
int num = (ShouldHandleUiInteractions ? (-1071885415) : (-1071885414));
while (true)
{
AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address;
InteractWithBankaCraftworksSupply(address);
int num2 = num;
int num3 = -1071885413;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
{
AtkUnitBase* address = (AtkUnitBase*)_202D_202C_206E_200E_200F_200C_200B_200E_202B_206B_200D_200F_200F_206A_202E_202A_200B_202B_206E_200C_206D_202B_200C_202C_200B_202E_200D_200E_206D_206C_202B_206A_200D_206C_206C_200D_200C_200C_202E(args).Address;
InteractWithBankaCraftworksSupply(address);
return;
}
case 1:
return;
case 0:
goto IL_005b;
}
continue;
IL_005b:
num = -1071885414;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void InteractWithBankaCraftworksSupply()
{
if (_gameGui.TryGetAddonByName<AtkUnitBase>("BankaCraftworksSupply", out var addonPtr))
AtkUnitBase* addonPtr;
int num = ((!_gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(473068994), out addonPtr)) ? 1997830523 : 1997830520);
while (true)
{
InteractWithBankaCraftworksSupply(addonPtr);
int num2 = num;
int num3 = 1997830522;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return;
case 2:
InteractWithBankaCraftworksSupply(addonPtr);
num = 1997830523;
break;
case 0:
num = 1997830520;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void InteractWithBankaCraftworksSupply(AtkUnitBase* addon)
{
AtkValue* atkValues = addon->AtkValues;
uint uInt = atkValues[7].UInt;
uint num = 6 - uInt;
for (int i = 0; i < num; i++)
int num = (int)uInt;
int num2 = 6;
uint num3 = (uint)(~(~num2 + num));
int num4 = 0;
int num5 = 571288913;
while (true)
{
if (atkValues[31 + i].UInt == 0)
int num6 = num5;
num = 571288917;
num2 = num6;
int num7 = num2 + num;
int num8 = num2 & num;
switch (num7 - (num8 + num8))
{
_logger.LogInformation("Selecting an item for slot {Slot}", i);
case 7:
_200F_200E_206D_202E_206A_206E_202E_202E_200E_206F_200E_206A_202E_200E_202C_200E_200D_202C_206B_200C_202A_202C_206E_200B_200D_206A_202C_200E_200F_206E_206C_200C_202B_200D_200B_202B_202E_200E_202A_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1814180026), Array.Empty<object>());
addon->FireCallbackInt(0);
num5 = 571288916;
break;
case 2:
{
int num11 = num4;
num = 1;
num2 = num11;
int num12 = num2 ^ num;
int num13 = num2 & num;
num4 = num12 + (num13 + num13);
num5 = 571288913;
break;
}
case 3:
num5 = 571288913;
break;
case 1:
return;
case 5:
{
_200F_200E_206D_202E_206A_206E_202E_202E_200E_206F_200E_206A_202E_200E_202C_200E_200D_202C_206B_200C_202A_202C_206E_200B_200D_206A_202C_200E_200F_206E_206C_200C_202B_200D_200B_202B_202E_200E_202A_206C_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(2009382844), new object[1] { num4 });
AtkValue* values = stackalloc AtkValue[2]
{
new AtkValue
{
Type = AtkValueType.Int,
Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int,
Int = 2
},
new AtkValue
{
Type = AtkValueType.Int,
Int = i
Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int,
Int = num4
}
};
addon->FireCallback(2u, values);
return;
}
}
if (atkValues[31].UInt != 0)
{
_logger.LogInformation("Confirming turn-in");
addon->FireCallbackInt(0);
}
}
private unsafe void ContextIconMenuPostReceiveEvent(AddonEvent type, AddonArgs args)
{
if (!ShouldHandleUiInteractions)
{
return;
}
AddonContextIconMenu* address = (AddonContextIconMenu*)args.Addon.Address;
if (!address->IsVisible)
{
return;
}
ushort blockedParentId = address->BlockedParentId;
if (blockedParentId == 0)
{
return;
}
AtkUnitBase* addonById = AtkStage.Instance()->RaptureAtkUnitManager->GetAddonById(blockedParentId);
if (addonById->NameString == "BankaCraftworksSupply")
{
_logger.LogInformation("Picking item for {AddonName}", addonById->NameString);
AtkValue* values = stackalloc AtkValue[5]
case 4:
num5 = ((num4 < num3) ? 571288915 : 571288917);
break;
case 0:
num5 = ((atkValues[31].UInt == 0) ? 571288916 : 571288914);
break;
case 6:
{
new AtkValue
{
Type = AtkValueType.Int,
Int = 0
},
new AtkValue
{
Type = AtkValueType.Int,
Int = 0
},
new AtkValue
{
Type = AtkValueType.UInt,
UInt = 20802u
},
new AtkValue
{
Type = AtkValueType.UInt,
UInt = 0u
},
new AtkValue
{
Type = AtkValueType.Undefined,
Int = 0
}
};
address->FireCallback(5u, values);
address->Close(fireCallback: true);
if (addonById->NameString == "BankaCraftworksSupply")
{
_framework.RunOnTick((Action)InteractWithBankaCraftworksSupply, TimeSpan.FromMilliseconds(50L), 0, default(CancellationToken));
num = num4;
num2 = 31;
int num9 = num2 ^ num;
int num10 = num2 & num;
num5 = ((atkValues[num9 + (num10 + num10)].UInt != 0) ? 571288919 : 571288912);
break;
}
}
}
else
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void ContextIconMenuPostReceiveEvent(AddonEvent type, AddonArgs args)
{
int num = (ShouldHandleUiInteractions ? 127250467 : 127250479);
AtkUnitBase* addonById = default(AtkUnitBase*);
ushort blockedParentId = default(ushort);
AddonContextIconMenu* address = default(AddonContextIconMenu*);
while (true)
{
_logger.LogTrace("Ignoring contextmenu event for {AddonName}", addonById->NameString);
int num2 = num;
int num3 = 127250475;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 7:
return;
case 10:
addonById = AtkStage.Instance()->RaptureAtkUnitManager->GetAddonById(blockedParentId);
num = ((!_206B_200E_202C_202E_200F_200E_206C_202E_206F_200E_202D_200F_200D_202E_200E_200E_206F_206E_200E_206F_200B_202D_200B_206D_202B_206A_200D_206A_202E_200B_202A_206E_202B_206F_202B_200B_200E_206B_200B_202B_202E(addonById->NameString, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-145476245))) ? 127250475 : 127250473);
break;
case 4:
return;
case 5:
return;
case 9:
num = 127250479;
break;
case 2:
{
_200F_200E_206D_202E_206A_206E_202E_202E_200E_206F_200E_206A_202E_200E_202C_200E_200D_202C_206B_200C_202A_202C_206E_200B_200D_206A_202C_200E_200F_206E_206C_200C_202B_200D_200B_202B_202E_200E_202A_206C_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1861072248), new object[1] { addonById->NameString });
AtkValue* values = stackalloc AtkValue[5]
{
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int,
Int = 0
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Int,
Int = 0
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.UInt,
UInt = 20802u
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.UInt,
UInt = 0u
},
new AtkValue
{
Type = FFXIVClientStructs.FFXIV.Component.GUI.AtkValueType.Undefined,
Int = 0
}
};
address->FireCallback(5u, values);
address->Close(fireCallback: true);
num = ((!_206B_200E_202C_202E_200F_200E_206C_202E_206F_200E_202D_200F_200D_202E_200E_200E_206F_206E_200E_206F_200B_202D_200B_206D_202B_206A_200D_206A_202E_200B_202A_206E_202B_206F_202B_200B_200E_206B_200B_202B_202E(addonById->NameString, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(473068994))) ? 127250476 : 127250477);
break;
}
case 8:
address = (AddonContextIconMenu*)_202D_202C_206E_200E_200F_200C_200B_200E_202B_206B_200D_200F_200F_206A_202E_202A_200B_202B_206E_200C_206D_202B_200C_202C_200B_202E_200D_200E_206D_206C_202B_206A_200D_206C_206C_200D_200C_200C_202E(args).Address;
num = (address->IsVisible ? 127250472 : 127250474);
break;
case 1:
return;
case 3:
blockedParentId = address->BlockedParentId;
num = ((blockedParentId != 0) ? 127250465 : 127250478);
break;
case 6:
_206E_202E_200E_200E_200D_206B_200E_200F_206E_202B_202E_202C_202C_206D_202B_202B_206D_206C_206A_206B_206D_202E_206D_202A_206B_202A_200F_206B_200B_202A_202D_200E_206C_200D_200E_206A_202A_200F_200F_200D_202E(_framework, (Action)InteractWithBankaCraftworksSupply, TimeSpan.FromMilliseconds(50L), 0, default(CancellationToken));
return;
case 0:
_200D_200B_202D_200D_200D_202D_200F_206A_202C_206A_200F_206F_202E_206A_206C_206D_200B_206F_206D_206F_206F_200E_202B_202D_202E_202E_200F_206A_200E_200B_206B_202B_206E_200F_200C_202A_206E_206E_200E_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(599931769), new object[1] { addonById->NameString });
num = 127250476;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Dispose()
{
_addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "BankaCraftworksSupply", BankaCraftworksSupplyPostUpdate);
_addonLifecycle.UnregisterListener(AddonEvent.PostReceiveEvent, "ContextIconMenu", ContextIconMenuPostReceiveEvent);
_202C_202A_200D_206E_206B_206E_202E_206F_200C_202D_200E_202A_202D_202A_206E_202D_200E_202C_206E_202B_206F_206F_200F_206D_200D_200E_202B_206D_202C_202C_206F_202C_200C_206F_200F_206B_202E_200F_202C_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-145476245), (IAddonLifecycle.AddonEventDelegate)BankaCraftworksSupplyPostUpdate);
_202C_202A_200D_206E_206B_206E_202E_206F_200C_202D_200E_202A_202D_202A_206E_202D_200E_202C_206E_202B_206F_206F_200F_206D_200D_200E_202B_206D_202C_202C_206F_202C_200C_206F_200F_206B_202E_200F_202C_202E(_addonLifecycle, AddonEvent.PostReceiveEvent, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1517352896), (IAddonLifecycle.AddonEventDelegate)ContextIconMenuPostReceiveEvent);
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static void _206A_206B_206F_200B_200D_206D_200F_200D_202D_206B_200E_206B_200F_206D_200F_206F_206C_206A_206B_206F_202D_206B_206D_206B_206F_206F_202B_202C_200B_206C_206D_200F_200F_206E_206F_206A_202E_206B_200B_206D_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3)
{
P_0.RegisterListener(P_1, P_2, P_3);
}
static AtkUnitBasePtr _202D_202C_206E_200E_200F_200C_200B_200E_202B_206B_200D_200F_200F_206A_202E_202A_200B_202B_206E_200C_206D_202B_200C_202C_200B_202E_200D_200E_206D_206C_202B_206A_200D_206C_206C_200D_200C_200C_202E(AddonArgs P_0)
{
return P_0.Addon;
}
static void _200F_200E_206D_202E_206A_206E_202E_202E_200E_206F_200E_206A_202E_200E_202C_200E_200D_202C_206B_200C_202A_202C_206E_200B_200D_206A_202C_200E_200F_206E_206C_200C_202B_200D_200B_202B_202E_200E_202A_206C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _206B_200E_202C_202E_200F_200E_206C_202E_206F_200E_202D_200F_200D_202E_200E_200E_206F_206E_200E_206F_200B_202D_200B_206D_202B_206A_200D_206A_202E_200B_202A_206E_202B_206F_202B_200B_200E_206B_200B_202B_202E(string P_0, string P_1)
{
return P_0 == P_1;
}
static Task _206E_202E_200E_200E_200D_206B_200E_200F_206E_202B_202E_202C_202C_206D_202B_202B_206D_206C_206A_206B_206D_202E_206D_202A_206B_202A_200F_206B_200B_202A_202D_200E_206C_200D_200E_206A_202A_200F_200F_200D_202E(IFramework P_0, Action P_1, TimeSpan P_2, int P_3, CancellationToken P_4)
{
return P_0.RunOnTick(P_1, P_2, P_3, P_4);
}
static void _200D_200B_202D_200D_200D_202D_200F_206A_202C_206A_200F_206F_202E_206A_206C_206D_200B_206F_206D_206F_206F_200E_202B_202D_202E_202E_200F_206A_200E_200B_206B_202B_206E_200F_200C_202A_206E_206E_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogTrace(P_1, P_2);
}
static void _202C_202A_200D_206E_206B_206E_202E_206F_200C_202D_200E_202A_202D_202A_206E_202D_200E_202C_206E_202B_206F_206F_200F_206D_200D_200E_202B_206D_202C_202C_206F_202C_200C_206F_200F_206B_202E_200F_202C_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3)
{
P_0.UnregisterListener(P_1, P_2, P_3);
}
}

View file

@ -1,6 +1,11 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Threading;
using Dalamud.Game.Addon.Lifecycle;
using Dalamud.Game.Addon.Lifecycle.AddonArgTypes;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.NativeWrapper;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Component.GUI;
using Microsoft.Extensions.Logging;
@ -9,6 +14,84 @@ namespace Questionable.Controller.GameUi;
internal sealed class CreditsController : IDisposable
{
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass23_0
{
public CreditsController _003C_003E4__this;
public AddonArgs args;
[MethodImpl(MethodImplOptions.NoInlining)]
internal unsafe void _003CCreditScrollPostSetup_003Eb__0()
{
_202C_202D_202B_206B_200E_200F_200E_206B_206A_206D_206B_200B_200F_202E_206C_206F_202C_206C_206E_200D_202B_206A_206D_202B_202D_206D_206C_202E_202C_200E_200F_202D_206B_202C_202B_206B_202E_200F_206F_202E((ILogger)_003C_003E4__this._logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1595844089), Array.Empty<object>());
AtkUnitBase* address = (AtkUnitBase*)_202C_200E_200E_202A_206A_200C_202B_206F_206C_206F_200C_206F_206E_200C_200D_202C_202C_206F_202A_206C_202C_202A_202B_200E_206E_200F_202C_206E_202B_206B_202A_200C_200D_200C_206C_202A_200D_202E_200D_206B_202E(args).Address;
address->FireCallbackInt(-2);
}
static void _202C_202D_202B_206B_200E_200F_200E_206B_206A_206D_206B_200B_200F_202E_206C_206F_202C_206C_206E_200D_202B_206A_206D_202B_202D_206D_206C_202E_202C_200E_200F_202D_206B_202C_202B_206B_202E_200F_206F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static AtkUnitBasePtr _202C_200E_200E_202A_206A_200C_202B_206F_206C_206F_200C_206F_206E_200C_200D_202C_202C_206F_202A_206C_202C_202A_202B_200E_206E_200F_202C_206E_202B_206B_202A_200C_200D_200C_206C_202A_200D_202E_200D_206B_202E(AddonArgs P_0)
{
return P_0.Addon;
}
}
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass24_0
{
public CreditsController _003C_003E4__this;
public AddonArgs args;
[MethodImpl(MethodImplOptions.NoInlining)]
internal unsafe void _003CCreditPostSetup_003Eb__0()
{
_206F_202B_200E_206B_200F_206B_206D_202E_200B_202C_202C_206E_200C_202D_202D_200B_202B_200E_202C_206B_206D_200D_200D_202C_200F_200C_200E_202C_206F_206B_200B_202D_200E_202B_206E_202A_200F_200D_200C_202E((ILogger)_003C_003E4__this._logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1464866894), Array.Empty<object>());
AtkUnitBase* address = (AtkUnitBase*)_202E_206A_206F_206F_200D_200D_202B_206B_206F_200D_202E_202E_202C_202A_202C_202E_206A_206D_206D_206D_206D_200E_202B_200D_200B_200F_206F_202D_202B_206E_200F_206E_206A_206A_200E_200B_202D_206A_202C_202C_202E(args).Address;
address->FireCallbackInt(-2);
}
static void _206F_202B_200E_206B_200F_206B_206D_202E_200B_202C_202C_206E_200C_202D_202D_200B_202B_200E_202C_206B_206D_200D_200D_202C_200F_200C_200E_202C_206F_206B_200B_202D_200E_202B_206E_202A_200F_200D_200C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static AtkUnitBasePtr _202E_206A_206F_206F_200D_200D_202B_206B_206F_200D_202E_202E_202C_202A_202C_202E_206A_206D_206D_206D_206D_200E_202B_200D_200B_200F_206F_202D_202B_206E_200F_206E_206A_206A_200E_200B_202D_206A_202C_202C_202E(AddonArgs P_0)
{
return P_0.Addon;
}
}
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass25_0
{
public CreditsController _003C_003E4__this;
public AddonArgs args;
[MethodImpl(MethodImplOptions.NoInlining)]
internal unsafe void _003CCreditPlayerPostSetup_003Eb__0()
{
_200C_206E_200C_200D_202D_202C_206C_200B_200C_206B_202B_200B_202A_206B_202C_206B_202A_206F_206E_206B_200E_202A_200E_200E_200C_202D_202A_202B_200E_202A_200C_200C_206D_200C_202D_200F_200F_202D_206B_202A_202E((ILogger)_003C_003E4__this._logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(586600745), Array.Empty<object>());
AtkUnitBase* address = (AtkUnitBase*)_200D_200B_202D_202A_200B_200F_200B_206F_206C_202C_202C_206E_206D_206E_200D_200D_200F_206A_202C_206B_206A_202A_200F_202A_206C_206E_206E_202D_202B_206B_202A_202B_200B_200D_206A_202D_200D_206B_202E_202E(args).Address;
address->Close(fireCallback: true);
}
static void _200C_206E_200C_200D_202D_202C_206C_200B_200C_206B_202B_200B_202A_206B_202C_206B_202A_206F_206E_206B_200E_202A_200E_200E_200C_202D_202A_202B_200E_202A_200C_200C_206D_200C_202D_200F_200F_202D_206B_202A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static AtkUnitBasePtr _200D_200B_202D_202A_200B_200F_200B_206F_206C_202C_202C_206E_206D_206E_200D_200D_200F_206A_202C_206B_206A_202A_200F_202A_206C_206E_206E_202D_202B_206B_202A_202B_200B_200D_206A_202D_200D_206B_202E_202E(AddonArgs P_0)
{
return P_0.Addon;
}
}
private static CreditsController? _instance;
private static IAddonLifecycle? _registeredLifecycle;
@ -28,11 +111,11 @@ internal sealed class CreditsController : IDisposable
_instance?.CreditPlayerPostSetup(t, a);
};
private static readonly string[] CreditScrollArray = new string[1] { "CreditScroll" };
private static readonly string[] CreditScrollArray = new string[1] { global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1480537905) };
private static readonly string[] CreditArray = new string[1] { "Credit" };
private static readonly string[] CreditArray = new string[1] { global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1278080404) };
private static readonly string[] CreditPlayerArray = new string[1] { "CreditPlayer" };
private static readonly string[] CreditPlayerArray = new string[1] { global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1133859703) };
private static bool _deferDisposeUntilCutsceneEnds;
@ -42,211 +125,574 @@ internal sealed class CreditsController : IDisposable
private static int _maxConsecutiveSkips = 5;
private static DateTime _lastHandledAt = DateTime.MinValue;
private static long? _lastHandledAt;
private static readonly TimeSpan _reentrancySuppress = TimeSpan.FromMilliseconds(500L);
private const long ReentrancySuppressMs = 500L;
private static long _lastHandledAddr;
private static readonly TimeSpan _consecutiveResetWindow = TimeSpan.FromSeconds(10L);
private const long ConsecutiveResetWindowMs = 10000L;
private readonly IAddonLifecycle _addonLifecycle;
private readonly Configuration _configuration;
private readonly ICondition _condition;
private readonly ILogger<CreditsController> _logger;
private static readonly object _lock = new object();
private static readonly object _lock = _202A_206C_206F_202E_200B_206A_206D_202C_202B_200E_200E_206E_206B_202D_206B_206E_200D_202A_202C_206B_206A_202D_200C_206D_202E_200F_202A_206B_200E_206E_202C_200F_200D_202C_206A_200E_206C_206B_202A_206D_202E();
public CreditsController(IAddonLifecycle addonLifecycle, Configuration configuration, ILogger<CreditsController> logger)
[MethodImpl(MethodImplOptions.NoInlining)]
public CreditsController(IAddonLifecycle addonLifecycle, Configuration configuration, ICondition condition, ILogger<CreditsController> logger)
{
_addonLifecycle = addonLifecycle;
_configuration = configuration;
_condition = condition;
_logger = logger;
lock (_lock)
object obj = _lock;
bool flag = false;
try
{
_200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(obj, ref flag);
if (_instance == null)
{
_instance = this;
_registeredLifecycle = _addonLifecycle;
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, CreditScrollArray, _creditScrollHandler);
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, CreditArray, _creditHandler);
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, CreditPlayerArray, _creditPlayerHandler);
_200C_202A_202A_202B_202A_200F_200F_206A_206C_200F_200F_202B_206A_206F_202B_200B_200B_202C_206D_206A_202B_200F_200F_202D_202D_200B_206A_200D_200D_202C_202B_200E_200F_200F_200D_206C_206D_202D_206B_200F_202E(_addonLifecycle, AddonEvent.PostSetup, (IEnumerable<string>)CreditScrollArray, _creditScrollHandler);
_200C_202A_202A_202B_202A_200F_200F_206A_206C_200F_200F_202B_206A_206F_202B_200B_200B_202C_206D_206A_202B_200F_200F_202D_202D_200B_206A_200D_200D_202C_202B_200E_200F_200F_200D_206C_206D_202D_206B_200F_202E(_addonLifecycle, AddonEvent.PostSetup, (IEnumerable<string>)CreditArray, _creditHandler);
_200C_202A_202A_202B_202A_200F_200F_206A_206C_200F_200F_202B_206A_206F_202B_200B_200B_202C_206D_206A_202B_200F_200F_202D_202D_200B_206A_200D_200D_202C_202B_200E_200F_200F_200D_206C_206D_202D_206B_200F_202E(_addonLifecycle, AddonEvent.PostSetup, (IEnumerable<string>)CreditPlayerArray, _creditPlayerHandler);
_202D_200E_206B_200C_206D_200C_202C_206E_200E_206C_206C_200F_206D_206C_206B_202E_202B_206F_200F_206D_206B_206F_200B_200D_206E_200F_200C_202A_202B_200F_202D_200E_202E_206B_202C_206C_206F_200B_206B_202C_202E(_condition, (ICondition.ConditionChangeDelegate)OnConditionChange);
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1181221171), new object[1] { _maxConsecutiveSkips });
}
}
finally
{
if (flag)
{
_200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(obj);
}
}
}
private void OnConditionChange(ConditionFlag flag, bool value)
{
int num = ((flag == ConditionFlag.OccupiedInCutSceneEvent) ? 186472363 : 186472362);
bool flag2 = default(bool);
while (true)
{
int num2 = num;
int num3 = 186472361;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 10:
num = 186472362;
break;
case 0:
num = ((!value) ? 186472366 : 186472352);
break;
case 4:
num = ((flag != ConditionFlag.WatchingCutscene78) ? 186472367 : 186472363);
break;
case 11:
NotifyCutsceneEnded();
num = 186472360;
break;
case 9:
DeferDisposeUntilCutsceneEnds();
return;
case 12:
num = (flag2 ? 186472361 : 186472364);
break;
case 6:
flag2 = false;
num = 186472357;
break;
case 2:
flag2 = true;
num = 186472357;
break;
case 5:
return;
case 13:
num = (_206F_200E_202C_206A_200D_202D_206A_202A_202A_202B_200B_202D_200B_200F_200C_206E_206E_202B_206E_200E_206E_206A_202B_206A_200E_202D_200C_206C_200E_200D_206B_206E_202A_200B_200B_200D_202E_202C_206F_202B_202E(_condition, ConditionFlag.WatchingCutscene78) ? 186472360 : 186472354);
break;
case 8:
num = (_206F_200E_202C_206A_200D_202D_206A_202A_202A_202B_200B_202D_200B_200F_200C_206E_206E_202B_206E_200E_206E_206A_202B_206A_200E_202D_200C_206C_200E_200D_206B_206E_202A_200B_200B_200D_202E_202C_206F_202B_202E(_condition, ConditionFlag.WatchingCutscene) ? 186472360 : 186472356);
break;
case 1:
return;
case 7:
num = (_206F_200E_202C_206A_200D_202D_206A_202A_202A_202B_200B_202D_200B_200F_200C_206E_206E_202B_206E_200E_206E_206A_202B_206A_200E_202D_200C_206C_200E_200D_206B_206E_202A_200B_200B_200D_202E_202C_206F_202B_202E(_condition, ConditionFlag.OccupiedInCutSceneEvent) ? 186472360 : 186472353);
break;
case 3:
num = ((flag == ConditionFlag.WatchingCutscene) ? 186472363 : 186472365);
break;
}
}
}
private unsafe void CreditScrollPostSetup(AddonEvent type, AddonArgs args)
{
HandleCutscene(delegate
HandleCutscene([MethodImpl(MethodImplOptions.NoInlining)] () =>
{
_logger.LogInformation("CreditScrollPostSetup: attempting to close credits sequence (scroll).");
AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address;
_003C_003Ec__DisplayClass23_0._202C_202D_202B_206B_200E_200F_200E_206B_206A_206D_206B_200B_200F_202E_206C_206F_202C_206C_206E_200D_202B_206A_206D_202B_202D_206D_206C_202E_202C_200E_200F_202D_206B_202C_202B_206B_202E_200F_206F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1595844089), Array.Empty<object>());
AtkUnitBase* address = (AtkUnitBase*)_003C_003Ec__DisplayClass23_0._202C_200E_200E_202A_206A_200C_202B_206F_206C_206F_200C_206F_206E_200C_200D_202C_202C_206F_202A_206C_202C_202A_202B_200E_206E_200F_202C_206E_202B_206B_202A_200C_200D_200C_206C_202A_200D_202E_200D_206B_202E(args).Address;
address->FireCallbackInt(-2);
}, args);
}
private unsafe void CreditPostSetup(AddonEvent type, AddonArgs args)
{
HandleCutscene(delegate
HandleCutscene([MethodImpl(MethodImplOptions.NoInlining)] () =>
{
_logger.LogInformation("CreditPostSetup: attempting to close credits sequence.");
AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address;
_003C_003Ec__DisplayClass24_0._206F_202B_200E_206B_200F_206B_206D_202E_200B_202C_202C_206E_200C_202D_202D_200B_202B_200E_202C_206B_206D_200D_200D_202C_200F_200C_200E_202C_206F_206B_200B_202D_200E_202B_206E_202A_200F_200D_200C_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1464866894), Array.Empty<object>());
AtkUnitBase* address = (AtkUnitBase*)_003C_003Ec__DisplayClass24_0._202E_206A_206F_206F_200D_200D_202B_206B_206F_200D_202E_202E_202C_202A_202C_202E_206A_206D_206D_206D_206D_200E_202B_200D_200B_200F_206F_202D_202B_206E_200F_206E_206A_206A_200E_200B_202D_206A_202C_202C_202E(args).Address;
address->FireCallbackInt(-2);
}, args);
}
private unsafe void CreditPlayerPostSetup(AddonEvent type, AddonArgs args)
{
HandleCutscene(delegate
HandleCutscene([MethodImpl(MethodImplOptions.NoInlining)] () =>
{
_logger.LogInformation("CreditPlayerPostSetup: attempting to close CreditPlayer.");
AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address;
_003C_003Ec__DisplayClass25_0._200C_206E_200C_200D_202D_202C_206C_200B_200C_206B_202B_200B_202A_206B_202C_206B_202A_206F_206E_206B_200E_202A_200E_200E_200C_202D_202A_202B_200E_202A_200C_200C_206D_200C_202D_200F_200F_202D_206B_202A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(586600745), Array.Empty<object>());
AtkUnitBase* address = (AtkUnitBase*)_003C_003Ec__DisplayClass25_0._200D_200B_202D_202A_200B_200F_200B_206F_206C_202C_202C_206E_206D_206E_200D_200D_200F_206A_202C_206B_206A_202A_200F_202A_206C_206E_206E_202D_202B_206B_202A_202B_200B_200D_206A_202D_200D_206B_202E_202E(args).Address;
address->Close(fireCallback: true);
}, args);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void HandleCutscene(Action nativeAction, AddonArgs args)
{
if (_configuration.General.CinemaMode)
int num = ((!_configuration.General.CinemaMode) ? 1928788595 : 1928788597);
long valueOrDefault = default(long);
long num8 = default(long);
while (true)
{
_logger.LogDebug("HandleCutscene: Cinema Mode enabled, not skipping cutscene.");
return;
}
long num = ((args.Addon.Address == IntPtr.Zero) ? 0 : ((IntPtr)args.Addon.Address).ToInt64());
if (num == 0L)
{
_logger.LogInformation("HandleCutscene: Addon address is zero, skipping.");
return;
}
lock (_lock)
{
if (_lastHandledAt != DateTime.MinValue && DateTime.Now - _lastHandledAt > _consecutiveResetWindow)
int num2 = num;
int num3 = 1928788595;
int num4 = num2;
long num10;
switch ((num4 | num3) - (num4 & num3))
{
if (_handledConsecutiveCutscenes != 0)
case 3:
num = 1928788597;
break;
case 5:
num10 = 0L;
goto IL_0077;
case 2:
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-2015596937), Array.Empty<object>());
return;
case 0:
num = ((_206A_206F_200B_206C_200C_200C_206D_200D_206D_206D_202A_206E_200F_206E_206A_206A_200F_202D_206E_202D_202D_200C_206A_206A_200F_206F_202B_200D_206B_200B_200B_206C_202C_206F_200F_206D_200B_200B_206D_202A_202E(args).Address == IntPtr.Zero) ? 1928788598 : 1928788599);
break;
case 4:
num10 = ((IntPtr)_206A_206F_200B_206C_200C_200C_206D_200D_206D_206D_202A_206E_200F_206E_206A_206A_200F_202D_206E_202D_202D_200C_206A_206A_200F_206F_202B_200D_206B_200B_200B_206C_202C_206F_200F_206D_200B_200B_206D_202A_202E(args).Address).ToInt64();
goto IL_0077;
case 6:
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(643918301), Array.Empty<object>());
return;
case 1:
{
_logger.LogDebug("HandleCutscene: long pause detected ({Elapsed}), resetting consecutive counter (was {Was}).", DateTime.Now - _lastHandledAt, _handledConsecutiveCutscenes);
object obj = _lock;
bool flag = false;
try
{
_200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(obj, ref flag);
long? lastHandledAt = _lastHandledAt;
num = ((!lastHandledAt.HasValue) ? (-333719538) : (-333719537));
while (true)
{
int num5 = num;
num3 = -333719546;
num4 = num5;
int num6 = num4 + num3;
int num7 = num4 & num3;
switch (num6 - (num7 + num7))
{
case 5:
_handledConsecutiveCutscenes = 0;
num = -333719538;
break;
case 4:
num = ((_handledConsecutiveCutscenes < _maxConsecutiveSkips) ? (-333719551) : (-333719539));
break;
case 9:
valueOrDefault = lastHandledAt.GetValueOrDefault();
num = ((_206B_200C_206C_202E_200C_200F_200E_206E_202E_206C_206B_200F_202C_202E_200F_200B_206C_202A_200E_202C_206C_206E_206A_202D_202B_206B_202B_206E_200B_202A_206E_200B_206B_200F_202B_206A_200B_200F_206D_206F_202E() - valueOrDefault <= 10000) ? (-333719538) : (-333719548));
break;
case 2:
num = ((_handledConsecutiveCutscenes == 0) ? (-333719549) : (-333719547));
break;
case 10:
num = ((num8 != _lastHandledAddr) ? (-333719550) : (-333719552));
break;
case 1:
{
long valueOrDefault2 = lastHandledAt.GetValueOrDefault();
num = ((_206B_200C_206C_202E_200C_200F_200E_206E_202E_206C_206B_200F_202C_202E_200F_200B_206C_202A_200E_202C_206C_206E_206A_202D_202B_206B_202B_206E_200B_202A_206E_200B_206B_200F_202B_206A_200B_200F_206D_206F_202E() - valueOrDefault2 >= 500) ? (-333719550) : (-333719540));
break;
}
case 3:
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1948237893), new object[2]
{
_206B_200C_206C_202E_200C_200F_200E_206E_202E_206C_206B_200F_202C_202E_200F_200B_206C_202A_200E_202C_206C_206E_206A_202D_202B_206B_202B_206E_200B_202A_206E_200B_206B_200F_202B_206A_200B_200F_206D_206F_202E() - valueOrDefault,
_handledConsecutiveCutscenes
});
num = -333719549;
break;
case 11:
_202E_202C_200F_200D_206C_200F_206B_200D_200C_200F_202D_206E_200E_202E_206E_206C_206B_202D_206B_200E_200B_200C_200B_200B_206E_202E_202C_202C_206E_200E_200F_206B_200B_206A_200B_200B_202D_206B_202D_200D_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(767914834), new object[1] { _maxConsecutiveSkips });
return;
case 0:
num = -333719537;
break;
case 8:
lastHandledAt = _lastHandledAt;
num = ((!lastHandledAt.HasValue) ? (-333719550) : (-333719545));
break;
case 6:
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-915129815), new object[1] { num8 });
return;
case 7:
{
_lastHandledAt = _206B_200C_206C_202E_200C_200F_200E_206E_202E_206C_206B_200F_202C_202E_200F_200B_206C_202A_200E_202C_206C_206E_206A_202D_202B_206B_202B_206E_200B_202A_206E_200B_206B_200F_202B_206A_200B_200F_206D_206F_202E();
_lastHandledAddr = num8;
int handledConsecutiveCutscenes = _handledConsecutiveCutscenes;
num3 = 1;
num4 = handledConsecutiveCutscenes;
_handledConsecutiveCutscenes = (num4 | num3) + (num4 & num3);
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-84388314), new object[2] { _handledConsecutiveCutscenes, num8 });
goto end_IL_0158;
}
}
continue;
end_IL_0158:
break;
}
}
finally
{
num = ((!flag) ? 1553266183 : 1553266182);
while (true)
{
int num9 = num;
num3 = 1553266183;
num4 = num9;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = 1553266182;
break;
case 0:
goto end_IL_03fc;
case 1:
_200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(obj);
num = 1553266183;
break;
}
continue;
end_IL_03fc:
break;
}
}
try
{
nativeAction();
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1887133010), new object[1] { num8 });
}
catch (Exception ex)
{
_206C_206C_202C_200C_202C_206E_206E_206A_202E_200F_202D_200B_202B_200C_206D_200B_202E_206A_200E_200F_206C_206D_206F_200E_206D_206F_202C_202B_206C_202D_200B_206E_200B_202A_206A_200D_202A_202A_200D_202A_202E((ILogger)_logger, ex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(873524230), new object[1] { num8 });
}
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(2081767975), new object[2] { _handledConsecutiveCutscenes, _maxConsecutiveSkips });
return;
}
_handledConsecutiveCutscenes = 0;
}
if (DateTime.Now - _lastHandledAt < _reentrancySuppress && num == _lastHandledAddr)
{
_logger.LogDebug("HandleCutscene: suppressed re-entrant invocation for same addon (addr=0x{Address:X}).", num);
return;
}
if (_handledConsecutiveCutscenes >= _maxConsecutiveSkips)
{
_logger.LogInformation("HandleCutscene: reached max consecutive skips ({MaxSkips}), unregistering listeners.", _maxConsecutiveSkips);
TryUnregisterAndClear();
return;
}
_lastHandledAt = DateTime.Now;
_lastHandledAddr = num;
_handledConsecutiveCutscenes++;
_logger.LogDebug("HandleCutscene: handling cutscene #{Count} (addr=0x{Address:X}).", _handledConsecutiveCutscenes, num);
}
try
{
nativeAction();
_logger.LogInformation("HandleCutscene: native action executed for addon at 0x{Address:X}.", num);
}
catch (Exception exception)
{
_logger.LogError(exception, "HandleCutscene: exception while executing native action for addon at 0x{Address:X}.", num);
}
lock (_lock)
{
if (_handledConsecutiveCutscenes >= _maxConsecutiveSkips && !_deferDisposeUntilCutsceneEnds)
{
_logger.LogDebug("HandleCutscene: max handled reached and no defer active, unregistering now.");
TryUnregisterAndClear();
}
else
{
_logger.LogDebug("HandleCutscene: leaving listeners registered (handled {Count}/{Max}).", _handledConsecutiveCutscenes, _maxConsecutiveSkips);
IL_0077:
num8 = num10;
num = ((num8 != 0L) ? 1928788594 : 1928788593);
break;
}
}
}
private void TryUnregisterAndClear()
{
if (_registeredLifecycle != null)
{
try
{
_registeredLifecycle.UnregisterListener(AddonEvent.PostSetup, CreditPlayerArray, _creditPlayerHandler);
_registeredLifecycle.UnregisterListener(AddonEvent.PostSetup, CreditArray, _creditHandler);
_registeredLifecycle.UnregisterListener(AddonEvent.PostSetup, CreditScrollArray, _creditScrollHandler);
_logger.LogDebug("TryUnregisterAndClear: listeners unregistered successfully.");
}
catch (Exception exception)
{
_logger.LogError(exception, "TryUnregisterAndClear: exception while unregistering listeners.");
}
}
_registeredLifecycle = null;
_instance = null;
_handledConsecutiveCutscenes = 0;
_lastHandledAddr = 0L;
_lastHandledAt = DateTime.MinValue;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static void DeferDisposeUntilCutsceneEnds()
{
lock (_lock)
object obj = _lock;
bool flag = false;
try
{
_200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(obj, ref flag);
_deferDisposeUntilCutsceneEnds = true;
if (_instance != null)
int num = ((_instance == null) ? 1593867446 : 1593867445);
while (true)
{
_instance._logger.LogDebug("CreditsController: deferring dispose until cutscene ends.");
int num2 = num;
int num3 = 1593867444;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 1593867445;
break;
case 1:
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_instance._logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1723920399), Array.Empty<object>());
num = 1593867446;
break;
case 2:
return;
}
}
}
finally
{
int num = ((!flag) ? (-821324345) : (-821324348));
while (true)
{
int num7 = num;
int num3 = -821324347;
int num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto end_IL_00b5;
case 1:
_200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(obj);
num = -821324345;
break;
case 0:
num = -821324348;
break;
}
continue;
end_IL_00b5:
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static void NotifyCutsceneEnded()
{
lock (_lock)
object obj = _lock;
bool flag = false;
try
{
_200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(obj, ref flag);
_deferDisposeUntilCutsceneEnds = false;
if (_instance != null)
int num = ((_instance == null) ? 1205296441 : 1205296446);
while (true)
{
_instance._logger.LogDebug("CreditsController: cutscene ended, processing pending dispose state.");
int num2 = num;
int num3 = 1205296442;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
num = ((_instance == null) ? 1205296442 : 1205296440);
break;
case 3:
num = ((!_pendingDispose) ? 1205296442 : 1205296443);
break;
case 4:
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_instance._logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1784202689), Array.Empty<object>());
num = 1205296441;
break;
case 2:
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_instance._logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1095714007), Array.Empty<object>());
_instance.Dispose();
num = 1205296442;
break;
case 5:
num = 1205296446;
break;
case 0:
return;
}
}
if (_pendingDispose && _instance != null)
}
finally
{
int num = ((!flag) ? (-15651437) : (-15651440));
while (true)
{
_instance._logger.LogDebug("CreditsController: pending dispose detected, performing unregister now.");
_instance.Dispose();
int num5 = num;
int num3 = -15651439;
int num4 = num5;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto end_IL_0132;
case 1:
_200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(obj);
num = -15651437;
break;
case 0:
num = -15651440;
break;
}
continue;
end_IL_0132:
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Dispose()
{
lock (_lock)
object obj = _lock;
bool flag = false;
try
{
if (_instance != this)
_200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(obj, ref flag);
int num = ((_instance == this) ? (-273121773) : (-273121772));
while (true)
{
return;
int num2 = num;
int num3 = -273121774;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
num = ((!_deferDisposeUntilCutsceneEnds) ? (-273121776) : (-273121775));
break;
case 6:
return;
case 2:
num = ((_registeredLifecycle == null) ? (-273121770) : (-273121774));
break;
case 0:
_206B_200C_202E_206C_200F_206D_206F_206C_202B_206F_206A_200B_202C_206B_206D_206E_206A_202B_206F_200D_202A_206F_200B_202E_206D_202C_202E_202C_202E_202B_200D_202A_202B_202E_206C_206C_200F_202E_206B_206D_202E(_registeredLifecycle, AddonEvent.PostSetup, (IEnumerable<string>)CreditPlayerArray, _creditPlayerHandler);
_206B_200C_202E_206C_200F_206D_206F_206C_202B_206F_206A_200B_202C_206B_206D_206E_206A_202B_206F_200D_202A_206F_200B_202E_206D_202C_202E_202C_202E_202B_200D_202A_202B_202E_206C_206C_200F_202E_206B_206D_202E(_registeredLifecycle, AddonEvent.PostSetup, (IEnumerable<string>)CreditArray, _creditHandler);
_206B_200C_202E_206C_200F_206D_206F_206C_202B_206F_206A_200B_202C_206B_206D_206E_206A_202B_206F_200D_202A_206F_200B_202E_206D_202C_202E_202C_202E_202B_200D_202A_202B_202E_206C_206C_200F_202E_206B_206D_202E(_registeredLifecycle, AddonEvent.PostSetup, (IEnumerable<string>)CreditScrollArray, _creditScrollHandler);
num = -273121770;
break;
case 3:
_pendingDispose = true;
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1915726020), Array.Empty<object>());
return;
case 5:
num = -273121772;
break;
case 4:
_200D_200B_206D_200E_206C_200B_206C_206D_200E_200C_200E_206E_200E_206D_206C_202C_200E_206A_206A_202E_202B_202B_202C_202C_206B_202B_206A_200B_206D_200B_200F_200D_202C_202D_202E_202B_206F_200C_206F_202B_202E(_condition, (ICondition.ConditionChangeDelegate)OnConditionChange);
_registeredLifecycle = null;
_instance = null;
_pendingDispose = false;
_handledConsecutiveCutscenes = 0;
_lastHandledAddr = 0L;
_lastHandledAt = null;
_200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-677486284), Array.Empty<object>());
return;
}
}
if (_deferDisposeUntilCutsceneEnds)
}
finally
{
int num = ((!flag) ? 1603499567 : 1603499564);
while (true)
{
_pendingDispose = true;
_logger.LogInformation("CreditsController.Dispose deferred until cutscene end.");
return;
int num7 = num;
int num3 = 1603499566;
int num4 = num7;
int num8 = num4 + num3;
int num9 = num4 & num3;
switch (num8 - (num9 + num9))
{
case 0:
num = 1603499564;
break;
case 1:
goto end_IL_01bc;
case 2:
_200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(obj);
num = 1603499567;
break;
}
continue;
end_IL_01bc:
break;
}
if (_registeredLifecycle != null)
{
_registeredLifecycle.UnregisterListener(AddonEvent.PostSetup, CreditPlayerArray, _creditPlayerHandler);
_registeredLifecycle.UnregisterListener(AddonEvent.PostSetup, CreditArray, _creditHandler);
_registeredLifecycle.UnregisterListener(AddonEvent.PostSetup, CreditScrollArray, _creditScrollHandler);
}
_registeredLifecycle = null;
_instance = null;
_pendingDispose = false;
_handledConsecutiveCutscenes = 0;
_lastHandledAddr = 0L;
_lastHandledAt = DateTime.MinValue;
_logger.LogDebug("CreditsController listeners unregistered and disposed (primary instance).");
}
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static void _200B_200F_202B_200E_200D_206E_200E_206D_206F_202D_206C_200B_206E_200D_202B_206E_202C_200E_202D_200E_202D_202D_206C_202B_200D_202B_206C_202B_202C_206B_202E_202A_202E_202C_206A_206A_206E_206A_206D_202E_202E(object P_0, ref bool P_1)
{
Monitor.Enter(P_0, ref P_1);
}
static void _200C_202A_202A_202B_202A_200F_200F_206A_206C_200F_200F_202B_206A_206F_202B_200B_200B_202C_206D_206A_202B_200F_200F_202D_202D_200B_206A_200D_200D_202C_202B_200E_200F_200F_200D_206C_206D_202D_206B_200F_202E(IAddonLifecycle P_0, AddonEvent P_1, IEnumerable<string> P_2, IAddonLifecycle.AddonEventDelegate P_3)
{
P_0.RegisterListener(P_1, P_2, P_3);
}
static void _202D_200E_206B_200C_206D_200C_202C_206E_200E_206C_206C_200F_206D_206C_206B_202E_202B_206F_200F_206D_206B_206F_200B_200D_206E_200F_200C_202A_202B_200F_202D_200E_202E_206B_202C_206C_206F_200B_206B_202C_202E(ICondition P_0, ICondition.ConditionChangeDelegate P_1)
{
P_0.ConditionChange += P_1;
}
static void _200C_200C_202A_206D_206F_206B_206C_206C_200D_200B_202E_202C_202C_206E_202D_200E_200C_200F_200E_206F_206E_206B_206F_206D_200F_202E_202D_202E_206C_200C_202A_206C_200D_206A_206E_206E_206B_200F_206C_200D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static void _200C_206A_200D_200F_202D_200B_206C_206B_202A_202C_202A_200B_202A_202E_206E_202B_206D_200F_206A_200C_202B_200F_200D_206F_206F_200F_200B_200C_202D_202D_206B_200C_206A_206E_200B_206D_200C_200E_206E_202E(object P_0)
{
Monitor.Exit(P_0);
}
static bool _206F_200E_202C_206A_200D_202D_206A_202A_202A_202B_200B_202D_200B_200F_200C_206E_206E_202B_206E_200E_206E_206A_202B_206A_200E_202D_200C_206C_200E_200D_206B_206E_202A_200B_200B_200D_202E_202C_206F_202B_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static AtkUnitBasePtr _206A_206F_200B_206C_200C_200C_206D_200D_206D_206D_202A_206E_200F_206E_206A_206A_200F_202D_206E_202D_202D_200C_206A_206A_200F_206F_202B_200D_206B_200B_200B_206C_202C_206F_200F_206D_200B_200B_206D_202A_202E(AddonArgs P_0)
{
return P_0.Addon;
}
static long _206B_200C_206C_202E_200C_200F_200E_206E_202E_206C_206B_200F_202C_202E_200F_200B_206C_202A_200E_202C_206C_206E_206A_202D_202B_206B_202B_206E_200B_202A_206E_200B_206B_200F_202B_206A_200B_200F_206D_206F_202E()
{
return Environment.TickCount64;
}
static void _202E_202C_200F_200D_206C_200F_206B_200D_200C_200F_202D_206E_200E_202E_206E_206C_206B_202D_206B_200E_200B_200C_200B_200B_206E_202E_202C_202C_206E_200E_200F_206B_200B_206A_200B_200B_202D_206B_202D_200D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _206C_206C_202C_200C_202C_206E_206E_206A_202E_200F_202D_200B_202B_200C_206D_200B_202E_206A_200E_200F_206C_206D_206F_200E_206D_206F_202C_202B_206C_202D_200B_206E_200B_202A_206A_200D_202A_202A_200D_202A_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3)
{
P_0.LogError(P_1, P_2, P_3);
}
static void _206B_200C_202E_206C_200F_206D_206F_206C_202B_206F_206A_200B_202C_206B_206D_206E_206A_202B_206F_200D_202A_206F_200B_202E_206D_202C_202E_202C_202E_202B_200D_202A_202B_202E_206C_206C_200F_202E_206B_206D_202E(IAddonLifecycle P_0, AddonEvent P_1, IEnumerable<string> P_2, IAddonLifecycle.AddonEventDelegate P_3)
{
P_0.UnregisterListener(P_1, P_2, P_3);
}
static void _200D_200B_206D_200E_206C_200B_206C_206D_200E_200C_200E_206E_200E_206D_206C_202C_200E_206A_206A_202E_202B_202B_202C_202C_206B_202B_206A_200B_206D_200B_200F_200D_202C_202D_202E_202B_206F_200C_206F_202B_202E(ICondition P_0, ICondition.ConditionChangeDelegate P_1)
{
P_0.ConditionChange -= P_1;
}
static object _202A_206C_206F_202E_200B_206A_206D_202C_202B_200E_200E_206E_206B_202D_206B_206E_200D_202A_202C_206B_206A_202D_200C_206D_202E_200F_202A_206B_200E_206E_202C_200F_200D_202C_206A_200E_206C_206B_202A_206D_202E()
{
return new object();
}
}

View file

@ -1,4 +1,6 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Plugin.Services;
using LLib.Shop;
using Microsoft.Extensions.Logging;
@ -29,7 +31,7 @@ internal sealed class GCShopHandler : IDisposable
private GCPurchaseInfo? _currentPurchase;
private DateTime _lastActionTime = DateTime.MinValue;
private long _lastActionMs;
private bool _purchaseCompletedThisStep;
@ -42,111 +44,371 @@ internal sealed class GCShopHandler : IDisposable
_objectTable = objectTable;
_framework = framework;
_logger = logger;
_gcShop.PurchaseCompleted += OnPurchaseCompleted;
_framework.Update += OnFrameworkUpdate;
_206A_200B_200C_200F_202A_206F_202C_202A_200D_200D_200E_202A_206C_206C_206D_200F_206A_206A_206B_202A_206E_202C_200F_202B_206E_200C_202A_200D_202D_202C_206D_200C_206F_200D_206E_202B_200E_200B_206B_202A_202E(_gcShop, (EventHandler<PurchaseCompletedEventArgs>)OnPurchaseCompleted);
_202E_200B_202E_200B_200B_202A_206D_206F_202D_200F_200C_206D_206E_200D_200F_206E_202D_206F_206A_206D_206B_206E_200E_200B_200D_200D_202E_206E_206F_202A_206E_200C_206A_200B_200D_200F_200D_206F_202D_206B_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate);
}
public void Dispose()
{
_framework.Update -= OnFrameworkUpdate;
_gcShop.PurchaseCompleted -= OnPurchaseCompleted;
_202E_206A_206E_206C_200F_202E_206C_200B_206B_206B_202A_206F_202B_206A_200D_202E_200D_200E_202B_206F_202C_200C_206E_206D_202B_206E_200B_206B_206C_200B_200B_202B_200C_206A_202E_206D_206A_206D_200B_206C_202E(_framework, (IFramework.OnUpdateDelegate)OnFrameworkUpdate);
_202B_200D_200C_206D_206B_202B_200F_206C_200F_206A_202E_206E_206B_206A_200F_200E_202B_206B_206D_206E_206A_202B_200F_202D_202B_200D_202C_206F_200D_202C_202A_200F_202C_200B_202A_202B_202C_206A_206F_202B_202E(_gcShop, (EventHandler<PurchaseCompletedEventArgs>)OnPurchaseCompleted);
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void OnFrameworkUpdate(IFramework framework)
{
if (_objectTable.LocalPlayer == null)
int num = ((_206F_202D_200C_206C_206A_202C_202E_202E_200E_202D_202B_206C_202C_202A_200E_206A_200F_200B_206A_200D_200C_202E_206A_206C_200D_206C_206E_200C_202E_200B_200B_202B_202B_200E_202A_206D_206F_206A_206E_206C_202E(_objectTable) != null) ? (-1672254239) : (-1672254236));
while (true)
{
return;
}
if (!_questController.IsRunning)
{
if (_state != GCShopState.Inactive)
int num2 = num;
int num3 = -1672254240;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
HandlePurchasing();
return;
case 1:
num = (_questController.IsRunning ? (-1672254233) : (-1672254232));
break;
case 4:
return;
case 2:
return;
case 7:
CheckForGCPurchase();
num = ((_state != GCShopState.Purchasing) ? (-1672254234) : (-1672254240));
break;
case 10:
Reset();
num = -1672254238;
break;
case 8:
num = ((_state == GCShopState.Inactive) ? (-1672254238) : (-1672254230));
break;
case 5:
return;
case 9:
num = -1672254236;
break;
case 6:
num = ((_state != GCShopState.Completed) ? (-1672254235) : (-1672254237));
break;
case 3:
_200B_206A_206D_206D_206F_200E_200E_202E_200B_200E_206A_200E_206D_202A_206C_202E_206C_206D_200D_206F_200B_206C_200C_200E_200E_206A_200B_202B_202A_200B_206A_200D_206D_200F_202B_200B_200B_200E_202A_206D_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-314267187), Array.Empty<object>());
_state = GCShopState.Inactive;
_lastActionMs = 0L;
num = -1672254235;
break;
}
return;
}
CheckForGCPurchase();
if (_state == GCShopState.Purchasing)
{
HandlePurchasing();
}
else if (_state == GCShopState.Completed)
{
_logger.LogInformation("GC shop purchase completed!");
_state = GCShopState.Inactive;
_lastActionTime = DateTime.MinValue;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void CheckForGCPurchase()
{
QuestController.QuestProgress currentQuest = _questController.CurrentQuest;
if (currentQuest == null)
int num = ((currentQuest != null) ? (-837261037) : (-837261044));
GCPurchaseInfo gCPurchaseInfo = default(GCPurchaseInfo);
while (true)
{
if (_currentPurchase != null)
{
Reset();
}
return;
}
GCPurchaseInfo gCPurchaseInfo = (currentQuest.Quest.FindSequence(currentQuest.Sequence)?.FindStep(currentQuest.Step))?.GCPurchase;
if (gCPurchaseInfo == null)
{
if (_currentPurchase != null)
{
_currentPurchase = null;
_purchaseCompletedThisStep = false;
}
if (_gcShop.IsOpen)
{
_logger.LogDebug("GC shop is open but current step has no GCPurchase. Quest={QuestId}, Seq={Sequence}, Step={Step}", currentQuest.Quest.Id, currentQuest.Sequence, currentQuest.Step);
}
}
else
{
if (_currentPurchase != gCPurchaseInfo)
int num2 = num;
int num3 = -837261053;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 13:
_currentPurchase = gCPurchaseInfo;
_purchaseCompletedThisStep = false;
}
if (_gcShop.IsOpen && _state == GCShopState.Inactive && !_purchaseCompletedThisStep)
num = -837261041;
break;
case 15:
num = ((_currentPurchase == null) ? (-837261054) : (-837261055));
break;
case 8:
return;
case 2:
Reset();
num = -837261054;
break;
case 6:
num = ((_currentPurchase == gCPurchaseInfo) ? (-837261041) : (-837261042));
break;
case 10:
num = (_purchaseCompletedThisStep ? (-837261046) : (-837261048));
break;
case 3:
num = ((!_200C_200C_202E_200F_202A_206B_206B_206F_202B_206A_202D_206F_200D_206B_202E_202A_200D_206C_206E_206B_206C_200D_206C_200B_206F_202B_200B_202A_206C_202B_200F_206B_202C_200F_206D_200F_206B_200D_200E_200F_202E(_gcShop)) ? (-837261045) : (-837261043));
break;
case 0:
num = -837261044;
break;
case 7:
_currentPurchase = null;
_purchaseCompletedThisStep = false;
num = -837261056;
break;
case 14:
_200B_206A_206D_206D_206F_200E_200E_202E_200B_200E_206A_200E_206D_202A_206C_202E_206C_206D_200D_206F_200B_206C_200C_200E_200E_206A_200B_202B_202A_200B_206A_200D_206D_200F_202B_200B_200B_200E_202A_206D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1787866068), new object[3]
{
currentQuest.Quest.Id,
currentQuest.Sequence,
currentQuest.Step
});
num = -837261045;
break;
case 1:
return;
case 12:
num = ((!_200C_200C_202E_200F_202A_206B_206B_206F_202B_206A_202D_206F_200D_206B_202E_202A_200D_206C_206E_206B_206C_200D_206C_200B_206F_202B_200B_202A_206C_202B_200F_206B_202C_200F_206D_200F_206B_200D_200E_200F_202E(_gcShop)) ? (-837261046) : (-837261049));
break;
case 16:
{
_logger.LogInformation("GC shop is open. Starting purchase of item {ItemId}.", gCPurchaseInfo.ItemId);
QuestSequence? questSequence = currentQuest.Quest.FindSequence(currentQuest.Sequence);
QuestStep obj = ((questSequence != null) ? _206D_202A_200B_206B_206A_202E_202D_200B_206B_206A_200C_200B_200E_206C_202B_202B_200B_206F_200B_202A_202D_202B_206E_206A_202B_202C_200C_202B_200B_200B_202C_202E_202C_202E_202A_200C_206D_202E_200B_200C_202E(questSequence, currentQuest.Step) : null);
gCPurchaseInfo = ((obj != null) ? _202E_206F_206D_202E_206B_206F_206B_202A_200E_206D_202B_202A_206C_206B_206E_206A_200B_206F_202B_200B_200B_202A_202B_200E_200F_206A_206C_206D_200E_202C_202B_202E_200E_200C_206D_206E_206B_200B_200B_200F_202E(obj) : null);
num = ((gCPurchaseInfo != null) ? (-837261051) : (-837261050));
break;
}
case 11:
_200F_202B_206A_200C_200B_200E_200B_202E_202D_200E_202A_200C_200C_200D_202E_200C_200C_200F_206F_200B_200C_206F_206A_202E_202E_200D_200D_206F_202C_200D_206C_202B_206A_206C_206A_200D_202C_200E_206A_206A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-478138400), new object[1] { _206D_206B_200F_206B_200B_200D_202B_206D_202B_200C_202A_206F_206F_200D_202A_206E_202E_206C_206F_202A_200E_200E_202E_200F_200C_206E_202C_206A_206B_202C_206D_200B_202B_206B_202C_206F_206C_202D_206A_206F_202E(gCPurchaseInfo) });
_state = GCShopState.Purchasing;
num = -837261046;
break;
case 4:
num = ((_state != GCShopState.Inactive) ? (-837261046) : (-837261047));
break;
case 5:
num = ((_currentPurchase == null) ? (-837261056) : (-837261052));
break;
case 9:
return;
}
}
}
private void HandlePurchasing()
{
if (_gcShop.IsOpen && _currentPurchase != null && !((DateTime.Now - _lastActionTime).TotalMilliseconds < 500.0))
int num = ((!_200C_200C_202E_200F_202A_206B_206B_206F_202B_206A_202D_206F_200D_206B_202E_202A_200D_206C_206E_206B_206C_200D_206C_200B_206F_202B_200B_202A_206C_202B_200F_206B_202C_200F_206D_200F_206B_200D_200E_200F_202E(_gcShop)) ? 252931591 : 252931585);
while (true)
{
if (!_gcShop.IsPurchaseInProgress)
int num2 = num;
int num3 = 252931587;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
_gcShop.StartPurchase(_currentPurchase.ItemId, _currentPurchase.RankTab, _currentPurchase.CategoryTab);
_lastActionTime = DateTime.Now;
case 0:
_200C_206B_202A_202C_206B_202C_200B_202B_200B_200E_206E_206F_206F_202D_200F_202B_206F_206C_200F_200F_200D_200D_202A_202A_206A_202E_200D_200B_202E_206C_206D_200D_202D_202C_202A_206E_206A_202B_206D_206C_202E(_gcShop, _206D_206B_200F_206B_200B_200D_202B_206D_202B_200C_202A_206F_206F_200D_202A_206E_202E_206C_206F_202A_200E_200E_202E_200F_200C_206E_202C_206A_206B_202C_206D_200B_202B_206B_202C_206F_206C_202D_206A_206F_202E(_currentPurchase), _200C_206E_202B_206A_202E_206F_202D_202A_206C_200D_202A_206C_200C_200C_206A_200B_202E_200C_206A_206D_206C_200B_200F_200B_202A_200B_202D_202A_200D_202B_202D_206A_202C_206E_206D_202D_202D_200C_206C_206D_202E(_currentPurchase), _202C_202A_200D_202D_202B_200E_202C_200D_200C_202D_206B_206F_200C_200E_200B_202B_206F_206E_206B_206E_202C_202D_202C_200D_206A_200E_202B_202C_202E_200C_206C_202B_206C_200F_200B_200B_206D_202D_202E_202E_202E(_currentPurchase), 1);
_lastActionMs = _206A_200B_202B_202A_206F_206B_206E_200E_206C_200C_202C_200E_206C_206B_206E_202B_200B_200B_206C_206B_206A_202B_206A_202B_202D_206B_200E_206E_202D_206B_200E_206B_200C_202C_200F_200F_206B_202C_206A_200C_202E();
num = 252931586;
break;
case 5:
num = ((_206A_200B_202B_202A_206F_206B_206E_200E_206C_200C_202C_200E_206C_206B_206E_202B_200B_200B_206C_206B_206A_202B_206A_202B_202D_206B_200E_206E_202D_206B_200E_206B_200C_202C_200F_200F_206B_202C_206A_200C_202E() - _lastActionMs >= 500) ? 252931588 : 252931584);
break;
case 3:
return;
case 7:
num = (_200E_206B_200F_206C_202A_202C_200B_202E_202B_202A_202D_206F_200B_206C_202C_206F_206E_206A_206F_202B_200B_206B_200D_202B_202E_200C_200D_202A_202A_206E_206C_202B_206D_206A_200F_200D_202D_200C_200F_206C_202E(_gcShop) ? 252931586 : 252931587);
break;
case 6:
num = 252931585;
break;
case 2:
num = ((_currentPurchase != null) ? 252931590 : 252931591);
break;
case 1:
_202D_206C_206A_200E_206C_202E_202D_202C_200D_200D_202C_206E_202E_200B_200E_206A_206F_206E_202C_206C_202C_202A_200C_202A_200C_206E_200B_206F_206F_206A_206B_206A_206E_200F_202D_206E_202E_206F_200F_206F_202E(_gcShop);
return;
case 4:
return;
}
_gcShop.ProcessPurchase();
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void OnPurchaseCompleted(object? sender, PurchaseCompletedEventArgs e)
{
if (_state == GCShopState.Purchasing && _currentPurchase != null && _questController.IsRunning && e.Success && e.ItemId == _currentPurchase.ItemId)
int num = ((_state != GCShopState.Purchasing) ? 191751636 : 191751642);
while (true)
{
_logger.LogInformation("GC purchase of item {ItemId} completed successfully", e.ItemId);
_gcShop.CloseShop();
_purchaseCompletedThisStep = true;
_state = GCShopState.Completed;
int num2 = num;
int num3 = 191751644;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 8:
return;
case 6:
num = ((_currentPurchase != null) ? 191751641 : 191751636);
break;
case 1:
num = ((!_202E_200D_202E_206C_206C_202B_206D_202C_206F_202E_206A_206B_200F_206F_206C_206C_206C_206A_200E_206B_206E_206D_206C_202A_202D_202A_202A_206D_202B_200B_206A_206F_200F_206D_200B_206C_202E_202B_200D_202E_202E(e)) ? 191751646 : 191751640);
break;
case 4:
num = ((_200E_202D_206A_200B_206C_206A_206A_202A_200B_202E_200B_206D_200F_200E_202A_202B_206D_202A_202A_200F_206A_206B_206B_206F_206A_206D_202C_206E_200D_202B_200F_206A_200B_202C_202C_206D_202D_200D_200D_202D_202E(e) != _206D_206B_200F_206B_200B_200D_202B_206D_202B_200C_202A_206F_206F_200D_202A_206E_202E_206C_206F_202A_200E_200E_202E_200F_200C_206E_202C_206A_206B_202C_206D_200B_202B_206B_202C_206F_206C_202D_206A_206F_202E(_currentPurchase)) ? 191751646 : 191751643);
break;
case 7:
_200F_202B_206A_200C_200B_200E_200B_202E_202D_200E_202A_200C_200C_200D_202E_200C_200C_200F_206F_200B_200C_206F_206A_202E_202E_200D_200D_206F_202C_200D_206C_202B_206A_206C_206A_200D_202C_200E_206A_206A_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(134659059), new object[1] { _200E_202D_206A_200B_206C_206A_206A_202A_200B_202E_200B_206D_200F_200E_202A_202B_206D_202A_202A_200F_206A_206B_206B_206F_206A_206D_202C_206E_200D_202B_200F_206A_200B_202C_202C_206D_202D_200D_200D_202D_202E(e) });
_200B_200B_202C_206F_202E_206C_206F_206C_206C_202A_200E_202B_206D_200F_200D_202D_200D_200F_202C_200B_202D_206B_200C_200F_206B_206A_206C_206A_206E_202C_202D_206C_206A_206A_206C_206B_202D_206B_200F_202B_202E(_gcShop);
_purchaseCompletedThisStep = true;
_state = GCShopState.Completed;
num = 191751646;
break;
case 2:
return;
case 5:
num = (_questController.IsRunning ? 191751645 : 191751647);
break;
case 0:
num = 191751642;
break;
case 3:
return;
}
}
}
private void Reset()
{
_state = GCShopState.Inactive;
_currentPurchase = null;
_lastActionTime = DateTime.MinValue;
_purchaseCompletedThisStep = false;
int num = ((!_200E_206B_200F_206C_202A_202C_200B_202E_202B_202A_202D_206F_200B_206C_202C_206F_206E_206A_206F_202B_200B_206B_200D_202B_202E_200C_200D_202A_202A_206E_206C_202B_206D_206A_200F_200D_202D_200C_200F_206C_202E(_gcShop)) ? (-1390147797) : (-1390147798));
while (true)
{
int num2 = num;
int num3 = -1390147797;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = -1390147798;
break;
case 1:
_200C_206B_206A_202D_206D_206F_206A_202B_202D_200D_202C_202A_200C_206A_200E_202C_206F_206B_206E_202E_200F_200F_202C_206F_206F_202E_202B_202C_206B_200C_202B_206A_206E_202B_200D_202B_202E_206E_200E_202E_202E(_gcShop);
num = -1390147797;
break;
case 0:
_state = GCShopState.Inactive;
_currentPurchase = null;
_lastActionMs = 0L;
_purchaseCompletedThisStep = false;
return;
}
}
}
static void _206A_200B_200C_200F_202A_206F_202C_202A_200D_200D_200E_202A_206C_206C_206D_200F_206A_206A_206B_202A_206E_202C_200F_202B_206E_200C_202A_200D_202D_202C_206D_200C_206F_200D_206E_202B_200E_200B_206B_202A_202E(GrandCompanyShop P_0, EventHandler<PurchaseCompletedEventArgs> P_1)
{
P_0.PurchaseCompleted += P_1;
}
static void _202E_200B_202E_200B_200B_202A_206D_206F_202D_200F_200C_206D_206E_200D_200F_206E_202D_206F_206A_206D_206B_206E_200E_200B_200D_200D_202E_206E_206F_202A_206E_200C_206A_200B_200D_200F_200D_206F_202D_206B_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update += P_1;
}
static void _202E_206A_206E_206C_200F_202E_206C_200B_206B_206B_202A_206F_202B_206A_200D_202E_200D_200E_202B_206F_202C_200C_206E_206D_202B_206E_200B_206B_206C_200B_200B_202B_200C_206A_202E_206D_206A_206D_200B_206C_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update -= P_1;
}
static void _202B_200D_200C_206D_206B_202B_200F_206C_200F_206A_202E_206E_206B_206A_200F_200E_202B_206B_206D_206E_206A_202B_200F_202D_202B_200D_202C_206F_200D_202C_202A_200F_202C_200B_202A_202B_202C_206A_206F_202B_202E(GrandCompanyShop P_0, EventHandler<PurchaseCompletedEventArgs> P_1)
{
P_0.PurchaseCompleted -= P_1;
}
static IPlayerCharacter _206F_202D_200C_206C_206A_202C_202E_202E_200E_202D_202B_206C_202C_202A_200E_206A_200F_200B_206A_200D_200C_202E_206A_206C_200D_206C_206E_200C_202E_200B_200B_202B_202B_200E_202A_206D_206F_206A_206E_206C_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static void _200B_206A_206D_206D_206F_200E_200E_202E_200B_200E_206A_200E_206D_202A_206C_202E_206C_206D_200D_206F_200B_206C_200C_200E_200E_206A_200B_202B_202A_200B_206A_200D_206D_200F_202B_200B_200B_200E_202A_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static QuestStep _206D_202A_200B_206B_206A_202E_202D_200B_206B_206A_200C_200B_200E_206C_202B_202B_200B_206F_200B_202A_202D_202B_206E_206A_202B_202C_200C_202B_200B_200B_202C_202E_202C_202E_202A_200C_206D_202E_200B_200C_202E(QuestSequence P_0, int P_1)
{
return P_0.FindStep(P_1);
}
static GCPurchaseInfo _202E_206F_206D_202E_206B_206F_206B_202A_200E_206D_202B_202A_206C_206B_206E_206A_200B_206F_202B_200B_200B_202A_202B_200E_200F_206A_206C_206D_200E_202C_202B_202E_200E_200C_206D_206E_206B_200B_200B_200F_202E(QuestStep P_0)
{
return P_0.GCPurchase;
}
static bool _200C_200C_202E_200F_202A_206B_206B_206F_202B_206A_202D_206F_200D_206B_202E_202A_200D_206C_206E_206B_206C_200D_206C_200B_206F_202B_200B_202A_206C_202B_200F_206B_202C_200F_206D_200F_206B_200D_200E_200F_202E(GrandCompanyShop P_0)
{
return P_0.IsOpen;
}
static uint _206D_206B_200F_206B_200B_200D_202B_206D_202B_200C_202A_206F_206F_200D_202A_206E_202E_206C_206F_202A_200E_200E_202E_200F_200C_206E_202C_206A_206B_202C_206D_200B_202B_206B_202C_206F_206C_202D_206A_206F_202E(GCPurchaseInfo P_0)
{
return P_0.ItemId;
}
static void _200F_202B_206A_200C_200B_200E_200B_202E_202D_200E_202A_200C_200C_200D_202E_200C_200C_200F_206F_200B_200C_206F_206A_202E_202E_200D_200D_206F_202C_200D_206C_202B_206A_206C_206A_200D_202C_200E_206A_206A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static long _206A_200B_202B_202A_206F_206B_206E_200E_206C_200C_202C_200E_206C_206B_206E_202B_200B_200B_206C_206B_206A_202B_206A_202B_202D_206B_200E_206E_202D_206B_200E_206B_200C_202C_200F_200F_206B_202C_206A_200C_202E()
{
return Environment.TickCount64;
}
static bool _200E_206B_200F_206C_202A_202C_200B_202E_202B_202A_202D_206F_200B_206C_202C_206F_206E_206A_206F_202B_200B_206B_200D_202B_202E_200C_200D_202A_202A_206E_206C_202B_206D_206A_200F_200D_202D_200C_200F_206C_202E(GrandCompanyShop P_0)
{
return P_0.IsPurchaseInProgress;
}
static int _200C_206E_202B_206A_202E_206F_202D_202A_206C_200D_202A_206C_200C_200C_206A_200B_202E_200C_206A_206D_206C_200B_200F_200B_202A_200B_202D_202A_200D_202B_202D_206A_202C_206E_206D_202D_202D_200C_206C_206D_202E(GCPurchaseInfo P_0)
{
return P_0.RankTab;
}
static int _202C_202A_200D_202D_202B_200E_202C_200D_200C_202D_206B_206F_200C_200E_200B_202B_206F_206E_206B_206E_202C_202D_202C_200D_206A_200E_202B_202C_202E_200C_206C_202B_206C_200F_200B_200B_206D_202D_202E_202E_202E(GCPurchaseInfo P_0)
{
return P_0.CategoryTab;
}
static bool _200C_206B_202A_202C_206B_202C_200B_202B_200B_200E_206E_206F_206F_202D_200F_202B_206F_206C_200F_200F_200D_200D_202A_202A_206A_202E_200D_200B_202E_206C_206D_200D_202D_202C_202A_206E_206A_202B_206D_206C_202E(GrandCompanyShop P_0, uint P_1, int P_2, int P_3, int P_4)
{
return P_0.StartPurchase(P_1, P_2, P_3, P_4);
}
static bool _202D_206C_206A_200E_206C_202E_202D_202C_200D_200D_202C_206E_202E_200B_200E_206A_206F_206E_202C_206C_202C_202A_200C_202A_200C_206E_200B_206F_206F_206A_206B_206A_206E_200F_202D_206E_202E_206F_200F_206F_202E(GrandCompanyShop P_0)
{
return P_0.ProcessPurchase();
}
static bool _202E_200D_202E_206C_206C_202B_206D_202C_206F_202E_206A_206B_200F_206F_206C_206C_206C_206A_200E_206B_206E_206D_206C_202A_202D_202A_202A_206D_202B_200B_206A_206F_200F_206D_200B_206C_202E_202B_200D_202E_202E(PurchaseCompletedEventArgs P_0)
{
return P_0.Success;
}
static uint _200E_202D_206A_200B_206C_206A_206A_202A_200B_202E_200B_206D_200F_200E_202A_202B_206D_202A_202A_200F_206A_206B_206B_206F_206A_206D_202C_206E_200D_202B_200F_206A_200B_202C_202C_206D_202D_200D_200D_202D_202E(PurchaseCompletedEventArgs P_0)
{
return P_0.ItemId;
}
static void _200B_200B_202C_206F_202E_206C_206F_206C_206C_202A_200E_202B_206D_200F_200D_202D_200D_200F_202C_200B_202D_206B_200C_200F_206B_206A_206C_206A_206E_202C_202D_206C_206A_206A_206C_206B_202D_206B_200F_202B_202E(GrandCompanyShop P_0)
{
P_0.CloseShop();
}
static void _200C_206B_206A_202D_206D_206F_206A_202B_202D_200D_202C_202A_200C_206A_200E_202C_206F_206B_206E_202E_200F_200F_202C_206F_206F_202E_202B_202C_206B_200C_202B_206A_206E_202B_200D_202B_202E_206E_200E_202E_202E(GrandCompanyShop P_0)
{
P_0.CancelPurchase();
}
}

View file

@ -1,10 +1,15 @@
using System;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using Dalamud.Game.Addon.Lifecycle;
using Dalamud.Game.Addon.Lifecycle.AddonArgTypes;
using Dalamud.Game.NativeWrapper;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Component.GUI;
using LLib.GameUI;
using Microsoft.Extensions.Logging;
using Questionable.Model.Questing;
namespace Questionable.Controller.GameUi;
@ -20,6 +25,7 @@ internal sealed class HelpUiController : IDisposable
private readonly ILogger<HelpUiController> _logger;
[MethodImpl(MethodImplOptions.NoInlining)]
public HelpUiController(QuestController questController, IAddonLifecycle addonLifecycle, IGameGui gameGui, IFramework framework, ILogger<HelpUiController> logger)
{
_questController = questController;
@ -28,145 +34,419 @@ internal sealed class HelpUiController : IDisposable
_framework = framework;
_logger = logger;
_questController.AutomationTypeChanged += CloseHelpWindowsWhenStartingQuests;
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, "AkatsukiNote", UnendingCodexPostSetup);
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, "ContentsTutorial", ContentsTutorialPostSetup);
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, "MultipleHelpWindow", MultipleHelpWindowPostSetup);
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, "JobHudNotice", JobHudNoticePostSetup);
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, "Guide", GuidePostSetup);
_addonLifecycle.RegisterListener(AddonEvent.PostSetup, "EventTutorial", EventTutorialPostSetup);
_206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(475712939), (IAddonLifecycle.AddonEventDelegate)UnendingCodexPostSetup);
_206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1875325540), (IAddonLifecycle.AddonEventDelegate)ContentsTutorialPostSetup);
_206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(539331049), (IAddonLifecycle.AddonEventDelegate)MultipleHelpWindowPostSetup);
_206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-923307026), (IAddonLifecycle.AddonEventDelegate)JobHudNoticePostSetup);
_206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(891874771), (IAddonLifecycle.AddonEventDelegate)GuidePostSetup);
_206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(2059724302), (IAddonLifecycle.AddonEventDelegate)EventTutorialPostSetup);
_206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1877366658), (IAddonLifecycle.AddonEventDelegate)DescriptionPostSetup);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void CloseHelpWindowsWhenStartingQuests(object sender, QuestController.EAutomationType e)
{
if (e != QuestController.EAutomationType.Manual)
int num = ((e != QuestController.EAutomationType.Manual) ? 153660423 : 153660419);
AtkUnitBase* addonPtr4 = default(AtkUnitBase*);
AtkUnitBase* addonPtr2 = default(AtkUnitBase*);
AtkUnitBase* addonPtr3 = default(AtkUnitBase*);
AtkUnitBase* addonPtr = default(AtkUnitBase*);
while (true)
{
if (_gameGui.TryGetAddonByName<AtkUnitBase>("Guide", out var addonPtr))
int num2 = num;
int num3 = 153660420;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
_logger.LogInformation("Guide window is open");
GuidePostSetup(addonPtr);
}
if (_gameGui.TryGetAddonByName<AtkUnitBase>("EventTutorial", out var addonPtr2))
{
_logger.LogInformation("EventTutorial window is open");
EventTutorialPostSetup(addonPtr2);
}
if (_gameGui.TryGetAddonByName<AtkUnitBase>("ContentsTutorial", out var addonPtr3))
{
_logger.LogInformation("ContentsTutorial window is open");
ContentsTutorialPostSetup(addonPtr3);
}
if (_gameGui.TryGetAddonByName<AtkUnitBase>("JobHudNotice", out var addonPtr4))
{
_logger.LogInformation("JobHudNotice window is open");
JobHudNoticePostSetup(addonPtr4);
case 3:
num = ((!_gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-696336610), out addonPtr4)) ? 153660418 : 153660417);
break;
case 5:
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-889278169), Array.Empty<object>());
GuidePostSetup(addonPtr4);
num = 153660418;
break;
case 8:
num = ((!_gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(535644183), out addonPtr2)) ? 153660422 : 153660429);
break;
case 7:
return;
case 2:
return;
case 4:
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(2009840112), Array.Empty<object>());
EventTutorialPostSetup(addonPtr3);
num = 153660421;
break;
case 6:
num = ((!_gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1259257238), out addonPtr3)) ? 153660421 : 153660416);
break;
case 1:
num = ((!_gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1889051347), out addonPtr)) ? 153660428 : 153660430);
break;
case 9:
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-829695307), Array.Empty<object>());
JobHudNoticePostSetup(addonPtr2);
num = 153660422;
break;
case 10:
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-574086776), Array.Empty<object>());
ContentsTutorialPostSetup(addonPtr);
num = 153660428;
break;
case 0:
num = 153660419;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void UnendingCodexPostSetup(AddonEvent type, AddonArgs args)
{
if (_questController.StartedQuest?.Quest.Id.Value == 4526)
QuestController.QuestProgress? startedQuest = _questController.StartedQuest;
ushort? num = ((startedQuest != null) ? new ushort?(_202E_200F_206D_200E_202D_202E_200F_200B_200F_206E_202E_202D_206F_202D_206C_202B_202D_200F_206A_202B_200B_206B_202A_206C_200C_200D_202C_200B_202E_200D_202C_206A_206E_200D_202D_202D_206C_202E_202C_206F_202E(startedQuest.Quest.Id)) : ((ushort?)null));
int num2 = (num.HasValue ? (-1404777382) : (-1404777383));
while (true)
{
_logger.LogInformation("Closing Unending Codex");
AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address;
address->FireCallbackInt(-2);
int num3 = num2;
int num4 = -1404777381;
int num5 = num3;
int? obj;
switch ((num5 | num4) - (num5 & num4))
{
case 1:
obj = num.GetValueOrDefault();
goto IL_0099;
case 3:
return;
case 0:
num2 = -1404777383;
break;
case 4:
{
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(24407879), Array.Empty<object>());
AtkUnitBase* address = (AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address;
address->FireCallbackInt(-2);
num2 = -1404777384;
break;
}
case 2:
{
obj = null;
goto IL_0099;
}
IL_0099:
num2 = ((obj != 4526) ? (-1404777384) : (-1404777377));
break;
}
}
}
private unsafe void ContentsTutorialPostSetup(AddonEvent type, AddonArgs args)
{
bool flag;
switch (_questController.StartedQuest?.Quest.Id.Value)
QuestController.QuestProgress? startedQuest = _questController.StartedQuest;
ushort? num = ((startedQuest != null) ? new ushort?(_202E_200F_206D_200E_202D_202E_200F_200B_200F_206E_202E_202D_206F_202D_206C_202B_202D_200F_206A_202B_200B_206B_202A_206C_200C_200D_202C_200B_202E_200D_202C_206A_206E_200D_202D_202D_206C_202E_202C_206F_202E(startedQuest.Quest.Id)) : ((ushort?)null));
int num2 = ((!num.HasValue) ? (-763031592) : (-763031600));
bool flag = default(bool);
ushort valueOrDefault = default(ushort);
while (true)
{
case 245:
case 3872:
case 5253:
flag = true;
break;
default:
flag = false;
break;
}
if (flag)
{
ContentsTutorialPostSetup((AtkUnitBase*)args.Addon.Address);
int num3 = num2;
int num4 = -763031592;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 4:
num2 = -763031600;
break;
case 5:
flag = true;
num2 = -763031589;
break;
case 1:
num2 = ((valueOrDefault == 3872) ? (-763031587) : (-763031586));
break;
case 8:
valueOrDefault = num.GetValueOrDefault();
num2 = ((valueOrDefault == 245) ? (-763031587) : (-763031591));
break;
case 3:
num2 = ((!flag) ? (-763031585) : (-763031590));
break;
case 7:
return;
case 0:
flag = false;
num2 = -763031589;
break;
case 2:
ContentsTutorialPostSetup((AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address);
num2 = -763031585;
break;
case 6:
num2 = ((valueOrDefault != 5253) ? (-763031592) : (-763031587));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void ContentsTutorialPostSetup(AtkUnitBase* addon)
{
_logger.LogInformation("Closing ContentsTutorial");
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(997030499), Array.Empty<object>());
addon->FireCallbackInt(13);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void MultipleHelpWindowPostSetup(AddonEvent type, AddonArgs args)
{
if (_questController.StartedQuest?.Quest.Id.Value == 245)
QuestController.QuestProgress? startedQuest = _questController.StartedQuest;
ushort? num = ((startedQuest != null) ? new ushort?(_202E_200F_206D_200E_202D_202E_200F_200B_200F_206E_202E_202D_206F_202D_206C_202B_202D_200F_206A_202B_200B_206B_202A_206C_200C_200D_202C_200B_202E_200D_202C_206A_206E_200D_202D_202D_206C_202E_202C_206F_202E(startedQuest.Quest.Id)) : ((ushort?)null));
int num2 = (num.HasValue ? 841439404 : 841439402);
while (true)
{
_logger.LogInformation("Closing MultipleHelpWindow");
AtkUnitBase* address = (AtkUnitBase*)args.Addon.Address;
address->FireCallbackInt(-2);
address->FireCallbackInt(-1);
int num3 = num2;
int num4 = 841439400;
int num5 = num3;
int? obj;
switch ((num5 | num4) - (num5 & num4))
{
case 4:
obj = num.GetValueOrDefault();
goto IL_0099;
case 2:
obj = null;
goto IL_0099;
case 0:
{
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1717636655), Array.Empty<object>());
AtkUnitBase* address = (AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address;
address->FireCallbackInt(-2);
address->FireCallbackInt(-1);
num2 = 841439401;
break;
}
case 1:
return;
case 3:
{
num2 = 841439402;
break;
}
IL_0099:
num2 = ((obj != 245) ? 841439401 : 841439400);
break;
}
}
}
private unsafe void JobHudNoticePostSetup(AddonEvent type, AddonArgs args)
{
if (_questController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual)
int num = (_questController.IsRunning ? (-1467614893) : (-1467614895));
while (true)
{
JobHudNoticePostSetup((AtkUnitBase*)args.Addon.Address);
int num2 = num;
int num3 = -1467614894;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -1467614895;
break;
case 3:
num = ((_questController.AutomationType == QuestController.EAutomationType.Manual) ? (-1467614896) : (-1467614893));
break;
case 1:
JobHudNoticePostSetup((AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address);
num = -1467614896;
break;
case 2:
return;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void JobHudNoticePostSetup(AtkUnitBase* addon)
{
_logger.LogInformation("Clicking the JobHudNotice window to open the relevant Guide page");
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(365911133), Array.Empty<object>());
addon->FireCallbackInt(0);
}
private unsafe void GuidePostSetup(AddonEvent type, AddonArgs args)
{
if (_questController.IsRunning || _questController.AutomationType != QuestController.EAutomationType.Manual)
int num = (_questController.IsRunning ? 373369011 : 373369010);
while (true)
{
GuidePostSetup((AtkUnitBase*)args.Addon.Address);
int num2 = num;
int num3 = 373369009;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 373369010;
break;
case 1:
return;
case 3:
num = ((_questController.AutomationType == QuestController.EAutomationType.Manual) ? 373369008 : 373369011);
break;
case 2:
GuidePostSetup((AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address);
num = 373369008;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void GuidePostSetup(AtkUnitBase* addon)
{
_logger.LogInformation("Closing Guide window");
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1393090876), Array.Empty<object>());
addon->FireCallbackInt(-1);
}
private unsafe void EventTutorialPostSetup(AddonEvent type, AddonArgs args)
{
if (!_questController.IsRunning && _questController.AutomationType == QuestController.EAutomationType.Manual)
int num = (_questController.IsRunning ? (-1567711917) : (-1567711920));
while (true)
{
return;
}
_framework.RunOnTick(delegate
{
if (_gameGui.TryGetAddonByName<AtkUnitBase>("EventTutorial", out var addonPtr))
int num2 = num;
int num3 = -1567711918;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
EventTutorialPostSetup(addonPtr);
case 0:
return;
case 2:
num = ((_questController.AutomationType == QuestController.EAutomationType.Manual) ? (-1567711918) : (-1567711917));
break;
case 1:
_200D_206E_202D_200C_202D_206E_206C_202B_202A_206B_206E_202B_202D_206D_202E_206D_200D_206C_206A_200E_206E_200C_200D_206F_202C_200E_206F_200B_206F_200D_200E_200E_202D_206A_200B_202A_200E_200D_200D_206B_202E(_framework, (Action)([MethodImpl(MethodImplOptions.NoInlining)] () =>
{
AtkUnitBase* addonPtr;
int num5 = ((!_gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1630487467), out addonPtr)) ? 912686340 : 912686341);
while (true)
{
int num6 = num5;
int num7 = 912686340;
int num8 = num6;
switch ((num8 | num7) - (num8 & num7))
{
case 0:
return;
case 1:
EventTutorialPostSetup(addonPtr);
num5 = 912686340;
break;
case 2:
num5 = 912686341;
break;
}
}
}), default(TimeSpan), 0, default(CancellationToken));
num = -1567711918;
break;
case 3:
num = -1567711920;
break;
}
});
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void EventTutorialPostSetup(AtkUnitBase* addon)
{
_logger.LogInformation("Closing EventTutorial window");
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1936999602), Array.Empty<object>());
addon->FireCallbackInt(-1);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void DescriptionPostSetup(AddonEvent type, AddonArgs args)
{
int num = (_questController.IsRunning ? (-1356307906) : (-1356307905));
while (true)
{
int num2 = num;
int num3 = -1356307907;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
{
_206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1957969933), Array.Empty<object>());
AtkUnitBase* address = (AtkUnitBase*)_206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(args).Address;
address->FireCallbackInt(-1);
num = -1356307908;
break;
}
case 1:
return;
case 0:
num = -1356307905;
break;
case 2:
num = ((_questController.AutomationType == QuestController.EAutomationType.Manual) ? (-1356307908) : (-1356307906));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public void Dispose()
{
_addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "EventTutorial", EventTutorialPostSetup);
_addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "Guide", GuidePostSetup);
_addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "JobHudNotice", JobHudNoticePostSetup);
_addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "MultipleHelpWindow", MultipleHelpWindowPostSetup);
_addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "ContentsTutorial", ContentsTutorialPostSetup);
_addonLifecycle.UnregisterListener(AddonEvent.PostSetup, "AkatsukiNote", UnendingCodexPostSetup);
_200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1877366658), (IAddonLifecycle.AddonEventDelegate)DescriptionPostSetup);
_200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-547923045), (IAddonLifecycle.AddonEventDelegate)EventTutorialPostSetup);
_200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-968492780), (IAddonLifecycle.AddonEventDelegate)GuidePostSetup);
_200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1813722758), (IAddonLifecycle.AddonEventDelegate)JobHudNoticePostSetup);
_200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(341545647), (IAddonLifecycle.AddonEventDelegate)MultipleHelpWindowPostSetup);
_200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1889051347), (IAddonLifecycle.AddonEventDelegate)ContentsTutorialPostSetup);
_200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(_addonLifecycle, AddonEvent.PostSetup, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(40702289), (IAddonLifecycle.AddonEventDelegate)UnendingCodexPostSetup);
_questController.AutomationTypeChanged -= CloseHelpWindowsWhenStartingQuests;
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static void _206B_206F_206A_206D_206D_206D_200D_202C_202B_200E_206F_202E_206C_200F_206D_202E_206C_206F_202A_206E_206A_202E_200F_200F_206B_200B_206C_206B_200E_206A_200E_206A_202D_200D_200B_206D_202A_206E_202B_200E_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3)
{
P_0.RegisterListener(P_1, P_2, P_3);
}
static void _206E_202E_206B_206E_202A_206A_206F_200E_202E_200B_202C_200F_200D_200E_206D_200C_202A_202E_202A_202D_200D_202C_202D_200E_200D_202A_200C_202C_206B_200B_206E_202B_200E_200E_202C_202E_206A_202A_206E_206A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static ushort _202E_200F_206D_200E_202D_202E_200F_200B_200F_206E_202E_202D_206F_202D_206C_202B_202D_200F_206A_202B_200B_206B_202A_206C_200C_200D_202C_200B_202E_200D_202C_206A_206E_200D_202D_202D_206C_202E_202C_206F_202E(ElementId P_0)
{
return P_0.Value;
}
static AtkUnitBasePtr _206E_206A_206A_206F_202B_202B_202B_206B_206B_206A_200B_202A_206E_206B_206F_200E_200E_206E_206C_202A_206A_200D_202C_206A_206B_200F_206F_202B_206E_200F_202C_200E_202B_206C_206A_202C_202B_200B_202B_206E_202E(AddonArgs P_0)
{
return P_0.Addon;
}
static Task _200D_206E_202D_200C_202D_206E_206C_202B_202A_206B_206E_202B_202D_206D_202E_206D_200D_206C_206A_200E_206E_200C_200D_206F_202C_200E_206F_200B_206F_200D_200E_200E_202D_206A_200B_202A_200E_200D_200D_206B_202E(IFramework P_0, Action P_1, TimeSpan P_2, int P_3, CancellationToken P_4)
{
return P_0.RunOnTick(P_1, P_2, P_3, P_4);
}
static void _200B_200B_200F_202B_202B_206B_202E_200D_202C_206F_206C_202D_202B_206D_206D_200E_202A_202C_206C_206A_202D_200D_206C_202D_206E_202B_206B_206A_202D_200E_202C_206E_200E_206E_200E_200D_206D_200B_200C_206B_202E(IAddonLifecycle P_0, AddonEvent P_1, string P_2, IAddonLifecycle.AddonEventDelegate P_3)
{
P_0.UnregisterListener(P_1, P_2, P_3);
}
}

View file

@ -1,7 +1,10 @@
using System;
using System.Runtime.CompilerServices;
using Dalamud.Game.Config;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Component.GUI;
using FFXIVClientStructs.Interop;
using LLib;
using LLib.GameUI;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Utils;
@ -20,9 +23,9 @@ internal sealed class QteController : IDisposable
private readonly ILogger<QteController> _logger;
private long _throttler = Environment.TickCount64;
private Throttle _throttle;
private readonly Random _random = new Random();
private readonly Random _random = _206A_206D_200B_206B_202B_206B_206F_202C_200B_200C_202A_206B_206B_200F_206C_202E_206A_202D_202D_200E_206F_200B_206A_200B_206F_206F_202C_200D_200B_200C_202C_202E_202A_202E_202C_206D_206A_202C_200B_206B_202E();
private bool _hasDirectChat;
@ -35,79 +38,243 @@ internal sealed class QteController : IDisposable
_gameConfig = gameConfig;
_framework = framework;
_logger = logger;
_framework.Update += OnUpdate;
_200C_206B_202C_202D_206D_202C_200B_202B_206E_206C_200E_206C_200D_206C_200B_206C_206C_200F_202D_202B_200B_206B_206C_200E_206C_200E_200E_206F_206A_206A_202B_206F_202E_206A_200D_206B_202E_200D_200E_202E_202E(_framework, (IFramework.OnUpdateDelegate)OnUpdate);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void OnUpdate(IFramework framework)
{
AtkUnitBase* addonPtr;
if (!_configuration.General.AutoSolveQte)
int num = (_configuration.General.AutoSolveQte ? (-1685552556) : (-1685552558));
AtkUnitBase* addonPtr = default(AtkUnitBase*);
while (true)
{
EnableDirectChatIfNeeded();
}
else if (_gameGui.TryGetAddonByName<AtkUnitBase>("QTE", out addonPtr) && LAddon.IsAddonReady(addonPtr) && addonPtr->IsVisible)
{
DisableDirectChatIfNeeded();
if (Environment.TickCount64 >= _throttler)
int num2 = num;
int num3 = -1685552557;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
if (IsChatLogFocused())
{
WindowsKeypress.SendKeypress(WindowsKeypress.LimitedKeys.Escape);
}
case 3:
_206B_202D_206C_206F_200D_200E_202D_202A_206B_206E_200E_200B_202C_206F_202C_206A_206D_200C_202E_206D_206C_200C_202B_206F_206B_206E_200B_206A_200C_200F_200C_200F_200D_206A_202B_202A_206F_200B_202D_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(495416041), Array.Empty<object>());
WindowsKeypress.SendKeypress(WindowsKeypress.LimitedKeys.Escape);
num = -1685552559;
break;
case 5:
EnableDirectChatIfNeeded();
num = -1685552550;
break;
case 1:
EnableDirectChatIfNeeded();
return;
case 0:
num = ((!_206D_206D_200E_200E_206C_206A_202C_206D_200D_200D_206A_202B_202D_200E_206C_200E_206D_202B_206B_202C_206D_200D_206D_206F_200D_206F_200B_206C_202B_200F_200C_200F_206B_202D_206C_206E_206E_202C_200F_202C_202E(addonPtr)) ? (-1685552554) : (-1685552549));
break;
case 9:
return;
case 4:
DisableDirectChatIfNeeded();
num = ((!_throttle.TryReset((double)_206C_206E_200E_200C_202C_206C_202B_206C_202E_206E_206A_200B_206D_202B_202C_206B_202C_206C_200B_202B_206D_206D_206B_200B_206F_206F_202C_202D_206D_206C_206E_200C_200D_202C_202A_202D_206C_202C_200E_206F_202E(_random, 25, 50) / 1000.0)) ? (-1685552550) : (-1685552551));
break;
case 10:
num = ((!IsChatLogFocused()) ? (-1685552559) : (-1685552560));
break;
case 6:
num = -1685552558;
break;
case 7:
num = ((!_gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1397653892), out addonPtr)) ? (-1685552554) : (-1685552557));
break;
case 2:
WindowsKeypress.SendKeypress(WindowsKeypress.LimitedKeys.A);
_throttler = Environment.TickCount64 + _random.Next(25, 50);
return;
case 8:
num = ((!addonPtr->IsVisible) ? (-1685552554) : (-1685552553));
break;
}
}
else
{
EnableDirectChatIfNeeded();
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe bool IsChatLogFocused()
{
AtkStage* ptr = AtkStage.Instance();
if (ptr == null)
int num = ((ptr != null) ? (-1746454886) : (-1746454891));
int num5 = default(int);
Span<Pointer<AtkUnitBase>> entries = default(Span<Pointer<AtkUnitBase>>);
Pointer<AtkUnitBase> pointer = default(Pointer<AtkUnitBase>);
while (true)
{
return false;
}
Span<Pointer<AtkUnitBase>> entries = ptr->RaptureAtkUnitManager->AtkUnitManager.FocusedUnitsList.Entries;
for (int i = 0; i < entries.Length; i++)
{
Pointer<AtkUnitBase> pointer = entries[i];
if (pointer.Value != null && pointer.Value->NameString == "ChatLog")
int num2 = num;
int num3 = -1746454883;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 5:
num = ((num5 < entries.Length) ? (-1746454887) : (-1746454885));
break;
case 8:
return false;
case 0:
num = -1746454891;
break;
case 6:
return false;
case 3:
return true;
case 2:
{
int num6 = num5;
num3 = 1;
num4 = num6;
int num7 = num4 ^ num3;
int num8 = num4 & num3;
num5 = num7 + (num8 + num8);
num = -1746454888;
break;
}
case 4:
pointer = entries[num5];
num = ((pointer.Value == null) ? (-1746454881) : (-1746454884));
break;
case 7:
entries = ptr->RaptureAtkUnitManager->AtkUnitManager.FocusedUnitsList.Entries;
num5 = 0;
num = -1746454888;
break;
case 1:
num = ((!_206D_200D_200D_206A_202C_200D_202A_206F_202C_206A_200D_200B_200E_202E_200E_200E_202D_200D_200F_202C_202A_200D_206B_206C_200F_202E_200C_206D_200B_200F_200F_206A_200D_202D_200C_206C_202E_206B_202C_202E_202E(pointer.Value->NameString, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-101701378))) ? (-1746454881) : (-1746454882));
break;
}
}
return false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void EnableDirectChatIfNeeded()
{
if (_hasDirectChat)
int num = ((!_hasDirectChat) ? 514735225 : 514735226);
while (true)
{
_gameConfig.UiControl.Set("DirectChat", _directChatWasEnabled);
_hasDirectChat = false;
int num2 = num;
int num3 = 514735224;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return;
case 2:
_202A_206D_202C_202A_200F_206B_200F_206D_200E_206E_200B_206F_202C_206B_206B_202A_206E_206F_202E_202E_200F_206F_206A_206E_200D_206C_206A_200C_206B_200D_200D_200E_206A_202C_200E_200C_202D_206D_202C_206E_202E(_200E_202C_206D_206C_200C_206E_200F_200F_200B_206E_200D_200D_206D_206C_206A_200C_206C_202E_202C_206C_206D_202E_202E_200C_206F_200E_206E_202B_200D_200D_200F_206B_200F_202C_200C_202B_206C_200D_202E(_gameConfig), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(12163311), _directChatWasEnabled);
_hasDirectChat = false;
_206B_202D_206C_206F_200D_200E_202D_202A_206B_206E_200E_200B_202C_206F_202C_206A_206D_200C_202E_206D_206C_200C_202B_206F_206B_206E_200B_206A_200C_200F_200C_200F_200D_206A_202B_202A_206F_200B_202D_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1824458648), new object[1] { _directChatWasEnabled });
num = 514735225;
break;
case 0:
num = 514735226;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void DisableDirectChatIfNeeded()
{
if (!_hasDirectChat && _gameConfig.UiControl.TryGetBool("DirectChat", out var value))
int num = (_hasDirectChat ? 343908918 : 343908917);
bool flag = default(bool);
while (true)
{
_directChatWasEnabled = value;
if (value)
int num2 = num;
int num3 = 343908918;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
_gameConfig.UiControl.Set("DirectChat", value: false);
case 0:
return;
case 3:
num = ((!_206B_206E_200C_206C_202A_202E_206A_206F_206D_206D_200E_200C_206D_200F_202E_202E_206F_206F_202D_202A_202A_206B_202E_200C_206A_206C_200E_200C_202A_200F_200C_206B_202A_200B_200E_206C_206D_202A_206B_200D_202E(_200E_202C_206D_206C_200C_206E_200F_200F_200B_206E_200D_200D_206D_206C_206A_200C_206C_202E_202C_206C_206D_202E_202E_200C_206F_200E_206E_202B_200D_200D_200F_206B_200F_202C_200C_202B_206C_200D_202E(_gameConfig), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1876854388), ref flag)) ? 343908918 : 343908916);
break;
case 5:
_hasDirectChat = true;
num = 343908918;
break;
case 1:
_202A_206D_202C_202A_200F_206B_200F_206D_200E_206E_200B_206F_202C_206B_206B_202A_206E_206F_202E_202E_200F_206F_206A_206E_200D_206C_206A_200C_206B_200D_200D_200E_206A_202C_200E_200C_202D_206D_202C_206E_202E(_200E_202C_206D_206C_200C_206E_200F_200F_200B_206E_200D_200D_206D_206C_206A_200C_206C_202E_202C_206C_206D_202E_202E_200C_206F_200E_206E_202B_200D_200D_200F_206B_200F_202C_200C_202B_206C_200D_202E(_gameConfig), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1876854388), false);
_206B_202D_206C_206F_200D_200E_202D_202A_206B_206E_200E_200B_202C_206F_202C_206A_206D_200C_202E_206D_206C_200C_202B_206F_206B_206E_200B_206A_200C_200F_200C_200F_200D_206A_202B_202A_206F_200B_202D_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1363621454), Array.Empty<object>());
num = 343908915;
break;
case 4:
num = 343908917;
break;
case 2:
_directChatWasEnabled = flag;
num = ((!flag) ? 343908915 : 343908919);
break;
}
_hasDirectChat = true;
}
}
public void Dispose()
{
_framework.Update -= OnUpdate;
_200D_200C_206B_206C_200F_200B_202B_202C_202E_200C_200E_202B_200E_200E_206A_200C_202A_202A_202D_206A_202C_202A_206D_202A_206F_206F_202B_206E_206B_200E_206E_202E_200B_200F_200B_202E_200E_202C_200F_206E_202E(_framework, (IFramework.OnUpdateDelegate)OnUpdate);
EnableDirectChatIfNeeded();
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static Random _206A_206D_200B_206B_202B_206B_206F_202C_200B_200C_202A_206B_206B_200F_206C_202E_206A_202D_202D_200E_206F_200B_206A_200B_206F_206F_202C_200D_200B_200C_202C_202E_202A_202E_202C_206D_206A_202C_200B_206B_202E()
{
return new Random();
}
static void _200C_206B_202C_202D_206D_202C_200B_202B_206E_206C_200E_206C_200D_206C_200B_206C_206C_200F_202D_202B_200B_206B_206C_200E_206C_200E_200E_206F_206A_206A_202B_206F_202E_206A_200D_206B_202E_200D_200E_202E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update += P_1;
}
unsafe static bool _206D_206D_200E_200E_206C_206A_202C_206D_200D_200D_206A_202B_202D_200E_206C_200E_206D_202B_206B_202C_206D_200D_206D_206F_200D_206F_200B_206C_202B_200F_200C_200F_206B_202D_206C_206E_206E_202C_200F_202C_202E(AtkUnitBase* P_0)
{
return LAddon.IsAddonReady(P_0);
}
static int _206C_206E_200E_200C_202C_206C_202B_206C_202E_206E_206A_200B_206D_202B_202C_206B_202C_206C_200B_202B_206D_206D_206B_200B_206F_206F_202C_202D_206D_206C_206E_200C_200D_202C_202A_202D_206C_202C_200E_206F_202E(Random P_0, int P_1, int P_2)
{
return P_0.Next(P_1, P_2);
}
static void _206B_202D_206C_206F_200D_200E_202D_202A_206B_206E_200E_200B_202C_206F_202C_206A_206D_200C_202E_206D_206C_200C_202B_206F_206B_206E_200B_206A_200C_200F_200C_200F_200D_206A_202B_202A_206F_200B_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _206D_200D_200D_206A_202C_200D_202A_206F_202C_206A_200D_200B_200E_202E_200E_200E_202D_200D_200F_202C_202A_200D_206B_206C_200F_202E_200C_206D_200B_200F_200F_206A_200D_202D_200C_206C_202E_206B_202C_202E_202E(string P_0, string P_1)
{
return P_0 == P_1;
}
static GameConfigSection _200E_202C_206D_206C_200C_206E_200F_200F_200B_206E_200D_200D_206D_206C_206A_200C_206C_202E_202C_206C_206D_202E_202E_200C_206F_200E_206E_202B_200D_200D_200F_206B_200F_202C_200C_202B_206C_200D_202E(IGameConfig P_0)
{
return P_0.UiControl;
}
static void _202A_206D_202C_202A_200F_206B_200F_206D_200E_206E_200B_206F_202C_206B_206B_202A_206E_206F_202E_202E_200F_206F_206A_206E_200D_206C_206A_200C_206B_200D_200D_200E_206A_202C_200E_200C_202D_206D_202C_206E_202E(GameConfigSection P_0, string P_1, bool P_2)
{
P_0.Set(P_1, P_2);
}
static bool _206B_206E_200C_206C_202A_202E_206A_206F_206D_206D_200E_200C_206D_200F_202E_202E_206F_206F_202D_202A_202A_206B_202E_200C_206A_206C_200E_200C_202A_200F_200C_206B_202A_200B_200E_206C_206D_202A_206B_200D_202E(GameConfigSection P_0, string P_1, ref bool P_2)
{
return P_0.TryGetBool(P_1, out P_2);
}
static void _200D_200C_206B_206C_200F_200B_202B_202C_202E_200C_200E_202B_200E_200E_206A_200C_202A_202A_202D_206A_202C_202A_206D_202A_206F_206F_202B_206E_206B_200E_206E_202E_200B_200F_200B_202E_200E_202C_200F_206E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update -= P_1;
}
}

View file

@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Runtime.CompilerServices;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Component.GUI;
using LLib.GameUI;
@ -13,6 +15,93 @@ namespace Questionable.Controller.GameUi;
internal sealed class ShopController : IDisposable, IShopWindow
{
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass28_0
{
public unsafe AtkValue* atkValues;
public QuestStep currentStep;
internal unsafe ItemForSale _003CUpdateShopStock_003Eb__0(int i)
{
ItemForSale itemForSale = _206D_206A_200F_206C_206E_200F_200E_202E_200B_200B_206F_206C_202D_206B_200E_200C_202E_202B_202A_206B_206A_206A_206F_206D_206A_200D_200C_202D_206F_200F_202D_206D_206C_200E_202D_200E_206F_206B_200E_202E_202E();
_200D_202B_206C_206B_200D_202B_200F_206B_200E_206A_206E_200E_202D_200B_206E_206B_202A_200C_206A_206A_206D_202A_202B_206E_200F_206E_202C_202D_202A_200C_202C_202C_206E_206B_200E_202A_202B_206D_200B_206F_202E(itemForSale, i);
AtkValue* num = atkValues;
int num2 = i;
int num3 = 14;
_206F_202E_206F_202E_206A_202C_202C_202B_202E_202C_202D_200D_200B_202B_206B_206F_202D_200E_202D_206F_206A_200E_206A_202D_206E_206D_206E_206A_202A_202D_200F_200C_202D_202C_200D_206C_200C_206D_202A_202E(itemForSale, _200E_200C_202C_200E_200F_202E_202D_200C_200D_200C_200C_202B_200B_202C_200D_206B_206E_202D_200C_206E_200F_202D_206E_200B_202B_206F_200C_200B_200D_206F_202B_206B_202B_206F_200F_200C_206F_200E_206E_202C_202E(num[(num3 | num2) + (num3 & num2)]));
AtkValue* num4 = atkValues;
num2 = i;
num3 = 75;
_206A_200B_206E_206D_202D_206B_206A_206C_202E_202B_200C_206B_206B_206B_202E_200D_200E_202C_206B_206B_202D_202E_202E_206E_206A_206B_200F_200E_206D_200F_206C_202C_202D_200B_206D_206B_206D_202C_202A_206D_202E(itemForSale, num4[(num3 | num2) + (num3 & num2)].UInt);
_202C_206E_206F_202E_200B_206C_202C_200C_206A_206F_200E_202A_200B_200B_206A_206C_206C_202A_202C_202C_200C_200B_202C_206F_206D_202B_206A_202E_202C_206A_206A_200D_200C_200F_202A_202E_202D_200B_202C_206A_202E(itemForSale, 1u);
AtkValue* num5 = atkValues;
num2 = i;
num3 = 136;
_202D_200D_200E_206A_200F_200F_200D_206E_200C_206C_202E_206D_206F_200C_206A_200B_200F_200B_206D_202D_200F_200E_202E_206B_200C_200F_200C_200F_200D_200B_200D_200E_200C_200F_200D_206F_202D_206C_206B_206B_202E(itemForSale, num5[(num3 | num2) + (num3 & num2)].UInt);
AtkValue* num6 = atkValues;
num2 = i;
num3 = 441;
_200F_202C_202E_202D_206C_206A_200B_200C_200B_202E_202A_200B_202E_200D_202B_202E_200C_202D_206B_202C_202A_206F_206C_202A_200F_200C_202B_206D_202B_200D_206C_202A_200D_206D_200D_206F_202B_206D_200B_202C_202E(itemForSale, num6[(num3 | num2) + (num3 & num2)].UInt);
return itemForSale;
}
internal bool _003CUpdateShopStock_003Eb__1(ItemForSale x)
{
return _206D_202C_206C_200B_200D_206D_206F_206C_206A_200D_206A_206E_200B_206F_200B_202E_206F_202C_206C_202C_206E_202A_206D_202D_200C_200D_206A_200F_202D_202C_202A_200F_206D_200F_206A_200D_200F_202D_202E_200D_202E(x) == _202D_202B_202E_206A_200F_202C_202A_206F_206E_206B_206D_206E_200C_200F_206A_202D_202B_200F_202B_200F_200B_206C_206E_202B_206F_206E_200E_200B_202B_200D_202C_202A_206E_202D_200D_200B_202C_206D_202D_206A_202E(currentStep);
}
static ItemForSale _206D_206A_200F_206C_206E_200F_200E_202E_200B_200B_206F_206C_202D_206B_200E_200C_202E_202B_202A_206B_206A_206A_206F_206D_206A_200D_200C_202D_206F_200F_202D_206D_206C_200E_202D_200E_206F_206B_200E_202E_202E()
{
return new ItemForSale();
}
static void _200D_202B_206C_206B_200D_202B_200F_206B_200E_206A_206E_200E_202D_200B_206E_206B_202A_200C_206A_206A_206D_202A_202B_206E_200F_206E_202C_202D_202A_200C_202C_202C_206E_206B_200E_202A_202B_206D_200B_206F_202E(ItemForSale P_0, int P_1)
{
P_0.Position = P_1;
}
static string _200E_200C_202C_200E_200F_202E_202D_200C_200D_200C_200C_202B_200B_202C_200D_206B_206E_202D_200C_206E_200F_202D_206E_200B_202B_206F_200C_200B_200D_206F_202B_206B_202B_206F_200F_200C_206F_200E_206E_202C_202E(AtkValue P_0)
{
return P_0.ReadAtkString();
}
static void _206F_202E_206F_202E_206A_202C_202C_202B_202E_202C_202D_200D_200B_202B_206B_206F_202D_200E_202D_206F_206A_200E_206A_202D_206E_206D_206E_206A_202A_202D_200F_200C_202D_202C_200D_206C_200C_206D_202A_202E(ItemForSale P_0, string P_1)
{
P_0.ItemName = P_1;
}
static void _206A_200B_206E_206D_202D_206B_206A_206C_202E_202B_200C_206B_206B_206B_202E_200D_200E_202C_206B_206B_202D_202E_202E_206E_206A_206B_200F_200E_206D_200F_206C_202C_202D_200B_206D_206B_206D_202C_202A_206D_202E(ItemForSale P_0, uint P_1)
{
P_0.Price = P_1;
}
static void _202C_206E_206F_202E_200B_206C_202C_200C_206A_206F_200E_202A_200B_200B_206A_206C_206C_202A_202C_202C_200C_200B_202C_206F_206D_202B_206A_202E_202C_206A_206A_200D_200C_200F_202A_202E_202D_200B_202C_206A_202E(ItemForSale P_0, uint P_1)
{
P_0.CurrencyItemId = P_1;
}
static void _202D_200D_200E_206A_200F_200F_200D_206E_200C_206C_202E_206D_206F_200C_206A_200B_200F_200B_206D_202D_200F_200E_202E_206B_200C_200F_200C_200F_200D_200B_200D_200E_200C_200F_200D_206F_202D_206C_206B_206B_202E(ItemForSale P_0, uint P_1)
{
P_0.OwnedItems = P_1;
}
static void _200F_202C_202E_202D_206C_206A_200B_200C_200B_202E_202A_200B_202E_200D_202B_202E_200C_202D_206B_202C_202A_206F_206C_202A_200F_200C_202B_206D_202B_200D_206C_202A_200D_206D_200D_206F_202B_206D_200B_202C_202E(ItemForSale P_0, uint P_1)
{
P_0.ItemId = P_1;
}
static uint _206D_202C_206C_200B_200D_206D_206F_206C_206A_200D_206A_206E_200B_206F_200B_202E_206F_202C_206C_202C_206E_202A_206D_202D_200C_200D_206A_200F_202D_202C_202A_200F_206D_200F_206A_200D_200F_202D_202E_200D_202E(ItemForSale P_0)
{
return P_0.ItemId;
}
static uint? _202D_202B_202E_206A_200F_202C_202A_206F_206E_206B_206D_206E_200C_200F_206A_202D_202B_200F_202B_200F_200B_206C_206E_202B_206F_206E_200E_200B_202B_200D_202C_202A_206E_202D_200D_200B_202C_206D_202D_206A_202E(QuestStep P_0)
{
return P_0.ItemId;
}
}
private readonly QuestController _questController;
private readonly IGameGui _gameGui;
@ -23,116 +112,274 @@ internal sealed class ShopController : IDisposable, IShopWindow
private readonly ILogger<ShopController> _logger;
private long _lastCurrentStockSwitchMs;
private int _currentStockSwitchAttempts;
private uint? _lastPurchaseItemId;
private const int MaxCurrentStockSwitchAttempts = 3;
public bool IsEnabled => _questController.IsRunning;
public bool IsOpen { get; set; }
public bool IsAutoBuyEnabled => _shop.AutoBuyEnabled;
public bool IsAutoBuyEnabled => _200C_202E_202B_202B_206C_206C_206E_200E_200B_200D_206E_202B_202A_202A_200B_200C_200D_206C_200D_206F_202A_202B_202A_200B_206B_202A_200B_200F_206F_202A_200E_202A_202B_206F_202B_200F_200E_200F_206F_202C_202E(_shop);
public bool IsAwaitingYesNo
{
get
{
return _shop.IsAwaitingYesNo;
return _206F_200B_202D_202B_206C_206B_200E_202B_200D_200E_206D_202D_202C_206D_206C_200F_200C_206F_200B_200E_202D_202D_200E_206E_202D_202C_206C_202D_202A_200F_202E_202D_202E_206F_202E_202D_200D_206B_202A_202A_202E(_shop);
}
set
{
_shop.IsAwaitingYesNo = value;
_202E_200F_206E_206E_202D_200F_202D_202E_206A_206F_202B_206A_200B_202B_202B_206A_200C_206D_202A_206F_206A_202A_206B_200B_202E_202C_202D_202A_206B_200C_206B_200F_206C_200F_202A_202C_200D_206B_206F_206C_202E(_shop, value);
}
}
public Vector2? Position { get; set; }
public ShopController(QuestController questController, IGameGui gameGui, IAddonLifecycle addonLifecycle, IFramework framework, ILogger<ShopController> logger, IPluginLog pluginLog)
[MethodImpl(MethodImplOptions.NoInlining)]
public ShopController(QuestController questController, IGameGui gameGui, IAddonLifecycle addonLifecycle, IFramework framework, ILogger<ShopController> logger, IPluginLog pluginLog, IDataManager dataManager)
{
_questController = questController;
_gameGui = gameGui;
_framework = framework;
_shop = new RegularShopBase(this, "Shop", pluginLog, gameGui, addonLifecycle);
_shop = _206D_202A_202E_206D_206B_202C_200C_206E_200B_202B_206D_202A_202B_206D_202E_200C_200B_206F_206C_206C_202C_206F_206C_202E_206B_202B_206E_202C_200D_206D_202A_206E_206B_206A_206B_206A_206E_206D_202E((IShopWindow)this, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2121285778), pluginLog, gameGui, addonLifecycle, dataManager);
_logger = logger;
_framework.Update += FrameworkUpdate;
_200B_202A_200F_206D_200C_200B_206B_206A_202E_202A_200D_202C_202B_200D_202A_206A_206F_202A_206C_206F_200D_202D_202B_206E_206A_200C_206A_206D_206D_202A_202B_202B_202E_202B_206B_200D_206D_202B_200B_206C_202E(_framework, (IFramework.OnUpdateDelegate)FrameworkUpdate);
}
public void Dispose()
{
_framework.Update -= FrameworkUpdate;
_shop.Dispose();
_202E_206A_206E_200F_206E_200C_206B_200B_200C_200D_200E_200C_206A_200D_206E_200C_202C_206E_206F_206D_202D_206F_200F_206E_202B_206A_206C_200D_206B_202C_206C_202D_206A_200C_206B_200B_206E_206D_200B_200E_202E(_framework, (IFramework.OnUpdateDelegate)FrameworkUpdate);
_200C_202E_206E_206C_202A_200C_202B_200C_202A_206E_206C_206F_202B_202C_202B_200E_206B_200F_202B_206D_206F_206E_200E_206F_206B_200B_202D_202E_206A_206B_200B_200E_200E_206C_202D_200E_202E_202C_206E_202A_202E(_shop);
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void FrameworkUpdate(IFramework framework)
{
if (!IsOpen || _shop.ItemForSale == null)
int num = ((!IsOpen) ? (-1743708968) : (-1743708973));
QuestStep questStep = default(QuestStep);
int num7 = default(int);
while (true)
{
return;
}
if (_shop.PurchaseState != null)
{
_shop.HandleNextPurchaseStep();
return;
}
QuestStep questStep = FindCurrentStep();
if (questStep != null && questStep.InteractionType == EInteractionType.PurchaseItem)
{
int num = Math.Max(0, questStep.ItemCount.GetValueOrDefault() - (int)_shop.ItemForSale.OwnedItems);
if (Math.Min(_shop.GetMaxItemsToPurchase(), num) > 0)
int num2 = num;
int num3 = -1743708974;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
_logger.LogDebug("Auto-buying {MissingItems} {ItemName}", num, _shop.ItemForSale.ItemName);
_shop.StartAutoPurchase(num);
_shop.HandleNextPurchaseStep();
case 4:
_202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, (ItemForSale)null);
RestoreExternalPluginState();
num = -1743708968;
break;
case 8:
num = ((_202B_200D_200D_206C_200E_200C_202C_206F_206A_206E_206C_202E_202C_200E_206C_206D_202E_206E_206B_202D_202B_200E_206F_202D_206C_202B_206C_206F_206D_202A_202D_200F_200F_202B_202B_202D_206A_200F_200F_202C_202E(_shop) == null) ? (-1743708974) : (-1743708975));
break;
case 1:
num = ((_206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(_shop) == null) ? (-1743708968) : (-1743708966));
break;
case 5:
{
int num8 = _200E_206D_206B_202D_200C_206A_200E_206D_200B_202D_202E_206A_206B_206E_206D_200E_200C_202A_200F_202E_202C_206A_200F_206A_200C_200E_206A_206D_200E_200D_202E_206F_206F_202A_200B_202D_206D_200C_206C_200E_202E(0, _206C_202A_206F_200F_200B_200F_206F_200B_200B_206B_200B_202E_202B_200B_200F_200B_202A_206C_206B_202C_206E_200F_200F_206D_206A_200B_206C_200E_202B_200D_202D_200F_206A_200E_200B_200E_202C_202D_206D_206D_202E(questStep).GetValueOrDefault() - (int)_202E_206F_202B_202C_202E_206F_200D_206B_202A_202B_206B_206A_206D_200D_202E_202C_200D_206E_200E_200D_206E_202D_206E_200E_200E_206D_206C_200B_200F_200E_202C_206A_206B_200B_200C_206A_206C_206B_202B_202A_202E(_206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(_shop)));
num7 = _200F_202B_202B_206C_200D_200C_200F_206A_206D_206D_202D_206A_202C_202D_206F_206F_202D_206C_202E_202B_206E_202B_200C_206F_206F_200C_200F_200E_206A_206C_206B_200D_200E_206F_206B_202A_202E_202C_206A_202A_202E(_202D_202D_200D_200D_206A_202C_202C_200C_206B_206C_200D_206B_202B_202E_206F_202B_202B_200D_202C_206E_202E_200E_200E_200D_200C_200E_202B_206C_206D_200F_200F_202D_200D_200B_206B_206E_202B_202C_200C_202A_202E(_shop), num8);
num = ((num7 <= 0) ? (-1743708970) : (-1743708965));
break;
}
else
{
_shop.CancelAutoPurchase();
case 2:
_202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, (ItemForSale)null);
RestoreExternalPluginState();
return;
case 10:
return;
case 6:
num = -1743708973;
break;
case 0:
questStep = FindCurrentStep();
num = ((questStep == null) ? (-1743708976) : (-1743708971));
break;
case 7:
num = ((_206B_200F_206A_200C_206B_206B_202D_202E_206E_202D_200C_202C_206C_200F_202C_206B_206C_202B_202A_200F_202A_206A_206C_206C_206F_206D_200F_200D_206B_202C_202B_202B_206A_200E_206A_202C_200C_206D_206A_202B_202E(questStep) == EInteractionType.PurchaseItem) ? (-1743708969) : (-1743708976));
break;
case 3:
_202E_200C_206B_202C_200E_202B_200C_206F_202A_206F_200D_206C_202D_202C_200F_206A_202B_200D_200B_202D_206F_206E_200E_206C_206F_206C_202E_206A_206C_202E_206B_206D_206C_206F_202A_200F_206B_206F_200E_202A_202E(_shop);
return;
case 9:
_202B_206A_206D_206D_206E_200E_202B_206E_202C_206D_200D_202A_202C_202D_206F_202C_202D_202D_206D_206E_206E_202A_202B_206F_200B_200E_202E_202E_202B_200B_206E_206A_206F_200E_202B_200C_200B_206C_200B_202E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(434015474), new object[2]
{
num7,
_200F_202B_206D_202E_202E_202C_200C_202D_200F_202B_202A_206E_206E_200F_206F_202B_202D_202D_202A_202A_200E_200B_206C_206A_200E_206F_206C_200C_206D_206F_206B_202B_200C_200E_202E_206C_202C_206B_202C_206D_202E(_206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(_shop))
});
_200D_200E_202E_202A_206E_206F_202E_206D_206B_206F_206A_200D_206C_200D_202B_202D_200E_200E_200E_200D_200D_200B_202A_206B_202E_206F_202C_200E_206B_200D_200B_202E_202E_202C_200D_206A_206B_206F_206D_202A_202E(_shop, num7);
_202E_200C_206B_202C_200E_202B_200C_206F_202A_206F_200D_206C_202D_202C_200F_206A_202B_200D_200B_202D_206F_206E_200E_206C_206F_206C_202E_206A_206C_202E_206B_206D_206C_206F_202A_200F_206B_206F_200E_202A_202E(_shop);
return;
}
}
}
public int GetCurrencyCount()
{
return _shop.GetItemCount(1u);
}
private QuestStep? FindCurrentStep()
{
QuestController.QuestProgress currentQuest = _questController.CurrentQuest;
return (currentQuest?.Quest.FindSequence(currentQuest.Sequence))?.FindStep(currentQuest?.Step ?? 0);
int num = ((currentQuest != null) ? (-2079361187) : (-2079361188));
object obj;
while (true)
{
int num2 = num;
int num3 = -2079361187;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
default:
continue;
case 2:
goto IL_004d;
case 0:
obj = currentQuest.Quest.FindSequence(currentQuest.Sequence);
break;
case 1:
obj = null;
break;
}
break;
IL_004d:
num = -2079361188;
}
if (obj == null)
{
return null;
}
return _206C_206B_200C_202A_206C_206C_200B_200C_202C_206A_200B_206C_200E_202E_202C_200D_206A_200B_202A_206A_206B_202E_206D_202E_200C_202D_200D_206B_200D_200F_206C_206E_206A_202A_206B_206F_200E_206D_206A_202D_202E((QuestSequence)obj, currentQuest?.Step ?? 0);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe void UpdateShopStock(AtkUnitBase* addon)
{
QuestStep currentStep = FindCurrentStep();
if (currentStep == null || currentStep.InteractionType != EInteractionType.PurchaseItem)
int num = ((currentStep == null) ? 958087197 : 958087193);
uint uInt = default(uint);
AtkValue* atkValues = default(AtkValue*);
while (true)
{
_shop.ItemForSale = null;
return;
}
if (addon->AtkValuesCount != 625)
{
_logger.LogError("Unexpected amount of atkvalues for Shop addon ({AtkValueCount})", addon->AtkValuesCount);
_shop.ItemForSale = null;
return;
}
AtkValue* atkValues = addon->AtkValues;
if (atkValues->UInt != 0)
{
_shop.ItemForSale = null;
return;
}
uint uInt = atkValues[2].UInt;
if (uInt == 0)
{
_shop.ItemForSale = null;
return;
}
_shop.ItemForSale = (from i in Enumerable.Range(0, (int)uInt)
select new ItemForSale
int num2 = num;
int num3 = 958087192;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
Position = i,
ItemName = atkValues[14 + i].ReadAtkString(),
Price = atkValues[75 + i].UInt,
OwnedItems = atkValues[136 + i].UInt,
ItemId = atkValues[441 + i].UInt
}).FirstOrDefault((ItemForSale x) => x.ItemId == currentStep.ItemId);
case 4:
_202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, (ItemForSale)null);
return;
case 6:
return;
case 0:
uInt = atkValues[2].UInt;
num = ((uInt != 0) ? 958087189 : 958087196);
break;
case 7:
num = ((_currentStockSwitchAttempts >= 3) ? 958087198 : 958087195);
break;
case 9:
_lastPurchaseItemId = _206F_202C_200B_202C_200D_206E_202D_200C_200B_200F_202B_202C_200B_206E_206C_206E_202A_206A_200F_206B_200B_200F_202C_202D_206E_200D_200E_200E_206E_206F_206E_206C_202B_202D_206C_200E_206C_200E_200E_202D_202E(currentStep);
_currentStockSwitchAttempts = 0;
num = 958087192;
break;
case 5:
_202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, (ItemForSale)null);
return;
case 8:
_202A_200C_206E_202D_206D_206D_202C_202E_200B_200E_206C_200F_202A_200B_206F_206E_206E_206C_200F_200D_206E_202A_202E_202D_200B_200B_202E_206F_202D_206D_206A_202B_206E_202D_202A_206A_200C_206B_206E_206D_202E((ILogger)_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-662596466), new object[1] { addon->AtkValuesCount });
_202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, (ItemForSale)null);
return;
case 3:
num = ((_202B_206B_206D_206A_202B_200F_200B_200F_200F_202D_206E_206F_200F_200C_206F_202E_202E_202A_200B_202E_200D_206D_200B_206C_200E_206A_206B_206C_202D_206C_202B_200F_206D_202E_200C_206A_206C_206A_200E_206B_202E() - _lastCurrentStockSwitchMs <= 2000) ? 958087198 : 958087188);
break;
case 14:
_currentStockSwitchAttempts = 0;
return;
case 1:
num = ((_206B_200F_206A_200C_206B_206B_202D_202E_206E_202D_200C_202C_206C_200F_202C_206B_206C_202B_202A_200F_202A_206A_206C_206C_206F_206D_200F_200D_206B_202C_202B_202B_206A_200E_206A_202C_200C_206D_206A_202B_202E(currentStep) == EInteractionType.PurchaseItem) ? 958087186 : 958087197);
break;
case 10:
num = ((addon->AtkValuesCount == 625) ? 958087187 : 958087184);
break;
case 11:
{
atkValues = addon->AtkValues;
uint? num7 = _206F_202C_200B_202C_200D_206E_202D_200C_200B_200F_202B_202C_200B_206E_206C_206E_202A_206A_200F_206B_200B_200F_202C_202D_206E_200D_200E_200E_206E_206F_206E_206C_202B_202D_206C_200E_206C_200E_200E_202D_202E(currentStep);
uint? lastPurchaseItemId = _lastPurchaseItemId;
bool num8 = num7.GetValueOrDefault() == lastPurchaseItemId.GetValueOrDefault();
num3 = ((num7.HasValue == lastPurchaseItemId.HasValue) ? 1 : 0);
num4 = (num8 ? 1 : 0);
num = (((num4 | num3) - (num4 ^ num3) != 0) ? 958087192 : 958087185);
break;
}
case 2:
num = 958087193;
break;
case 13:
_202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(_shop, _206C_202D_206B_206B_200E_206D_206B_200D_202C_200E_206C_206A_202D_206F_206C_200C_206A_206B_200E_200F_200E_206D_202D_206A_206D_206F_202D_200D_202A_202D_202D_202A_206C_200C_202C_206F_200E_202A_202D_206E_202E(0, (int)uInt).Select(delegate(int i)
{
ItemForSale itemForSale = _003C_003Ec__DisplayClass28_0._206D_206A_200F_206C_206E_200F_200E_202E_200B_200B_206F_206C_202D_206B_200E_200C_202E_202B_202A_206B_206A_206A_206F_206D_206A_200D_200C_202D_206F_200F_202D_206D_206C_200E_202D_200E_206F_206B_200E_202E_202E();
_003C_003Ec__DisplayClass28_0._200D_202B_206C_206B_200D_202B_200F_206B_200E_206A_206E_200E_202D_200B_206E_206B_202A_200C_206A_206A_206D_202A_202B_206E_200F_206E_202C_202D_202A_200C_202C_202C_206E_206B_200E_202A_202B_206D_200B_206F_202E(itemForSale, i);
AtkValue* num9 = atkValues;
int num10 = i;
int num11 = 14;
_003C_003Ec__DisplayClass28_0._206F_202E_206F_202E_206A_202C_202C_202B_202E_202C_202D_200D_200B_202B_206B_206F_202D_200E_202D_206F_206A_200E_206A_202D_206E_206D_206E_206A_202A_202D_200F_200C_202D_202C_200D_206C_200C_206D_202A_202E(itemForSale, _003C_003Ec__DisplayClass28_0._200E_200C_202C_200E_200F_202E_202D_200C_200D_200C_200C_202B_200B_202C_200D_206B_206E_202D_200C_206E_200F_202D_206E_200B_202B_206F_200C_200B_200D_206F_202B_206B_202B_206F_200F_200C_206F_200E_206E_202C_202E(num9[(num11 | num10) + (num11 & num10)]));
AtkValue* num12 = atkValues;
num10 = i;
num11 = 75;
_003C_003Ec__DisplayClass28_0._206A_200B_206E_206D_202D_206B_206A_206C_202E_202B_200C_206B_206B_206B_202E_200D_200E_202C_206B_206B_202D_202E_202E_206E_206A_206B_200F_200E_206D_200F_206C_202C_202D_200B_206D_206B_206D_202C_202A_206D_202E(itemForSale, num12[(num11 | num10) + (num11 & num10)].UInt);
_003C_003Ec__DisplayClass28_0._202C_206E_206F_202E_200B_206C_202C_200C_206A_206F_200E_202A_200B_200B_206A_206C_206C_202A_202C_202C_200C_200B_202C_206F_206D_202B_206A_202E_202C_206A_206A_200D_200C_200F_202A_202E_202D_200B_202C_206A_202E(itemForSale, 1u);
AtkValue* num13 = atkValues;
num10 = i;
num11 = 136;
_003C_003Ec__DisplayClass28_0._202D_200D_200E_206A_200F_200F_200D_206E_200C_206C_202E_206D_206F_200C_206A_200B_200F_200B_206D_202D_200F_200E_202E_206B_200C_200F_200C_200F_200D_200B_200D_200E_200C_200F_200D_206F_202D_206C_206B_206B_202E(itemForSale, num13[(num11 | num10) + (num11 & num10)].UInt);
AtkValue* num14 = atkValues;
num10 = i;
num11 = 441;
_003C_003Ec__DisplayClass28_0._200F_202C_202E_202D_206C_206A_200B_200C_200B_202E_202A_200B_202E_200D_202B_202E_200C_202D_206B_202C_202A_206F_206C_202A_200F_200C_202B_206D_202B_200D_206C_202A_200D_206D_200D_206F_202B_206D_200B_202C_202E(itemForSale, num14[(num11 | num10) + (num11 & num10)].UInt);
return itemForSale;
}).FirstOrDefault((ItemForSale x) => _003C_003Ec__DisplayClass28_0._206D_202C_206C_200B_200D_206D_206F_206C_206A_200D_206A_206E_200B_206F_200B_202E_206F_202C_206C_202C_206E_202A_206D_202D_200C_200D_206A_200F_202D_202C_202A_200F_206D_200F_206A_200D_200F_202D_202E_200D_202E(x) == _003C_003Ec__DisplayClass28_0._202D_202B_202E_206A_200F_202C_202A_206F_206E_206B_206D_206E_200C_200F_206A_202D_202B_200F_202B_200F_200B_206C_206E_202B_206F_206E_200E_200B_202B_200D_202C_202A_206E_202D_200D_200B_202C_206D_202D_206A_202E(currentStep)));
num = ((_206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(_shop) == null) ? 958087199 : 958087190);
break;
case 12:
{
int currentStockSwitchAttempts = _currentStockSwitchAttempts;
num3 = 1;
num4 = currentStockSwitchAttempts;
int num5 = num4 ^ num3;
int num6 = num4 & num3;
_currentStockSwitchAttempts = num5 + (num6 + num6);
_lastCurrentStockSwitchMs = _202B_206B_206D_206A_202B_200F_200B_200F_200F_202D_206E_206F_200F_200C_206F_202E_202E_202A_200B_202E_200D_206D_200B_206C_200E_206A_206B_206C_202D_206C_202B_200F_206D_202E_200C_206A_206C_206A_200E_206B_202E();
_200D_200B_200F_206C_200B_202D_202A_202A_206B_200D_202A_206A_206E_206E_206C_200E_206B_202E_200C_202A_202A_202E_206D_206C_206F_206F_206D_200D_206F_200C_200F_206B_200F_200B_206D_200B_200F_200B_202C_200E_202E((ILogger)_logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(773010987), new object[4]
{
uInt,
_206F_202C_200B_202C_200D_206E_202D_200C_200B_200F_202B_202C_200B_206E_206C_206E_202A_206A_200F_206B_200B_200F_202C_202D_206E_200D_200E_200E_206E_206F_206E_206C_202B_202D_206C_200E_206C_200E_200E_202D_202E(currentStep),
_currentStockSwitchAttempts,
3
});
SwitchToCurrentStockTab(addon);
num = 958087198;
break;
}
}
}
}
unsafe void IShopWindow.UpdateShopStock(AtkUnitBase* addon)
{
//ILSpy generated this explicit interface implementation from .override directive in UpdateShopStock
this.UpdateShopStock(addon);
}
public unsafe void TriggerPurchase(AtkUnitBase* addonShop, int buyNow)
@ -147,7 +394,7 @@ internal sealed class ShopController : IDisposable, IShopWindow
new AtkValue
{
Type = AtkValueType.Int,
Int = _shop.ItemForSale.Position
Int = _202A_200F_202A_202D_206E_202A_200E_202A_202A_206E_206B_202C_200F_202C_202D_206A_206C_202E_202C_206A_200D_200B_202B_206E_202A_200E_202A_202D_206F_200C_202B_202A_206F_206C_200F_206A_200B_202A_206D_206C_202E(_206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(_shop))
},
new AtkValue
{
@ -163,15 +410,210 @@ internal sealed class ShopController : IDisposable, IShopWindow
addonShop->FireCallback(4u, values);
}
unsafe void IShopWindow.TriggerPurchase(AtkUnitBase* addonShop, int buyNow)
{
//ILSpy generated this explicit interface implementation from .override directive in TriggerPurchase
this.TriggerPurchase(addonShop, buyNow);
}
private unsafe void SwitchToCurrentStockTab(AtkUnitBase* addonShop)
{
AtkValue* values = stackalloc AtkValue[3]
{
new AtkValue
{
Type = AtkValueType.Int,
Int = 1
},
new AtkValue
{
Type = AtkValueType.Int,
Int = -1
},
new AtkValue
{
Type = AtkValueType.Int,
Int = -1
}
};
addonShop->FireCallback(3u, values);
}
public void SaveExternalPluginState()
{
}
void IShopWindow.SaveExternalPluginState()
{
//ILSpy generated this explicit interface implementation from .override directive in SaveExternalPluginState
this.SaveExternalPluginState();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe void RestoreExternalPluginState()
{
if (_gameGui.TryGetAddonByName<AtkUnitBase>("Shop", out var addonPtr))
AtkUnitBase* addonPtr;
int num = ((!_gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(831697146), out addonPtr)) ? 2003329777 : 2003329778);
while (true)
{
addonPtr->FireCallbackInt(-1);
int num2 = num;
int num3 = 2003329776;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 2003329778;
break;
case 2:
addonPtr->FireCallbackInt(-1);
num = 2003329777;
break;
case 1:
return;
}
}
}
void IShopWindow.RestoreExternalPluginState()
{
//ILSpy generated this explicit interface implementation from .override directive in RestoreExternalPluginState
this.RestoreExternalPluginState();
}
static RegularShopBase _206D_202A_202E_206D_206B_202C_200C_206E_200B_202B_206D_202A_202B_206D_202E_200C_200B_206F_206C_206C_202C_206F_206C_202E_206B_202B_206E_202C_200D_206D_202A_206E_206B_206A_206B_206A_206E_206D_202E(IShopWindow P_0, string P_1, IPluginLog P_2, IGameGui P_3, IAddonLifecycle P_4, IDataManager P_5)
{
return new RegularShopBase(P_0, P_1, P_2, P_3, P_4, P_5);
}
static void _200B_202A_200F_206D_200C_200B_206B_206A_202E_202A_200D_202C_202B_200D_202A_206A_206F_202A_206C_206F_200D_202D_202B_206E_206A_200C_206A_206D_206D_202A_202B_202B_202E_202B_206B_200D_206D_202B_200B_206C_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update += P_1;
}
static bool _200C_202E_202B_202B_206C_206C_206E_200E_200B_200D_206E_202B_202A_202A_200B_200C_200D_206C_200D_206F_202A_202B_202A_200B_206B_202A_200B_200F_206F_202A_200E_202A_202B_206F_202B_200F_200E_200F_206F_202C_202E(RegularShopBase P_0)
{
return P_0.AutoBuyEnabled;
}
static bool _206F_200B_202D_202B_206C_206B_200E_202B_200D_200E_206D_202D_202C_206D_206C_200F_200C_206F_200B_200E_202D_202D_200E_206E_202D_202C_206C_202D_202A_200F_202E_202D_202E_206F_202E_202D_200D_206B_202A_202A_202E(RegularShopBase P_0)
{
return P_0.IsAwaitingYesNo;
}
static void _202E_200F_206E_206E_202D_200F_202D_202E_206A_206F_202B_206A_200B_202B_202B_206A_200C_206D_202A_206F_206A_202A_206B_200B_202E_202C_202D_202A_206B_200C_206B_200F_206C_200F_202A_202C_200D_206B_206F_206C_202E(RegularShopBase P_0, bool P_1)
{
P_0.IsAwaitingYesNo = P_1;
}
static void _202E_206A_206E_200F_206E_200C_206B_200B_200C_200D_200E_200C_206A_200D_206E_200C_202C_206E_206F_206D_202D_206F_200F_206E_202B_206A_206C_200D_206B_202C_206C_202D_206A_200C_206B_200B_206E_206D_200B_200E_202E(IFramework P_0, IFramework.OnUpdateDelegate P_1)
{
P_0.Update -= P_1;
}
static void _200C_202E_206E_206C_202A_200C_202B_200C_202A_206E_206C_206F_202B_202C_202B_200E_206B_200F_202B_206D_206F_206E_200E_206F_206B_200B_202D_202E_206A_206B_200B_200E_200E_206C_202D_200E_202E_202C_206E_202A_202E(RegularShopBase P_0)
{
P_0.Dispose();
}
static ItemForSale _206C_202C_206C_202D_206D_202A_206A_200C_202C_200B_202C_206F_200D_206B_206B_202C_206D_202D_200E_200B_206D_202B_206E_202D_202E_202E_206F_206E_206C_202E_206F_206A_206F_200B_202E_206E_200B_200D_200C_206F_202E(RegularShopBase P_0)
{
return P_0.ItemForSale;
}
static PurchaseState _202B_200D_200D_206C_200E_200C_202C_206F_206A_206E_206C_202E_202C_200E_206C_206D_202E_206E_206B_202D_202B_200E_206F_202D_206C_202B_206C_206F_206D_202A_202D_200F_200F_202B_202B_202D_206A_200F_200F_202C_202E(RegularShopBase P_0)
{
return P_0.PurchaseState;
}
static void _202E_200C_206B_202C_200E_202B_200C_206F_202A_206F_200D_206C_202D_202C_200F_206A_202B_200D_200B_202D_206F_206E_200E_206C_206F_206C_202E_206A_206C_202E_206B_206D_206C_206F_202A_200F_206B_206F_200E_202A_202E(RegularShopBase P_0)
{
P_0.HandleNextPurchaseStep();
}
static EInteractionType _206B_200F_206A_200C_206B_206B_202D_202E_206E_202D_200C_202C_206C_200F_202C_206B_206C_202B_202A_200F_202A_206A_206C_206C_206F_206D_200F_200D_206B_202C_202B_202B_206A_200E_206A_202C_200C_206D_206A_202B_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static void _202E_202A_200F_202E_200F_202E_200C_200D_206B_202D_202B_200E_206F_200C_202E_200D_200E_202E_206C_206D_206E_206C_202A_202A_202A_206F_206B_200F_202D_200B_202A_200B_202E_206C_206A_206E_200D_200F_202B_200D_202E(RegularShopBase P_0, ItemForSale P_1)
{
P_0.ItemForSale = P_1;
}
static int? _206C_202A_206F_200F_200B_200F_206F_200B_200B_206B_200B_202E_202B_200B_200F_200B_202A_206C_206B_202C_206E_200F_200F_206D_206A_200B_206C_200E_202B_200D_202D_200F_206A_200E_200B_200E_202C_202D_206D_206D_202E(QuestStep P_0)
{
return P_0.ItemCount;
}
static uint _202E_206F_202B_202C_202E_206F_200D_206B_202A_202B_206B_206A_206D_200D_202E_202C_200D_206E_200E_200D_206E_202D_206E_200E_200E_206D_206C_200B_200F_200E_202C_206A_206B_200B_200C_206A_206C_206B_202B_202A_202E(ItemForSale P_0)
{
return P_0.OwnedItems;
}
static int _200E_206D_206B_202D_200C_206A_200E_206D_200B_202D_202E_206A_206B_206E_206D_200E_200C_202A_200F_202E_202C_206A_200F_206A_200C_200E_206A_206D_200E_200D_202E_206F_206F_202A_200B_202D_206D_200C_206C_200E_202E(int P_0, int P_1)
{
return Math.Max(P_0, P_1);
}
static int _202D_202D_200D_200D_206A_202C_202C_200C_206B_206C_200D_206B_202B_202E_206F_202B_202B_200D_202C_206E_202E_200E_200E_200D_200C_200E_202B_206C_206D_200F_200F_202D_200D_200B_206B_206E_202B_202C_200C_202A_202E(RegularShopBase P_0)
{
return P_0.GetMaxItemsToPurchase();
}
static int _200F_202B_202B_206C_200D_200C_200F_206A_206D_206D_202D_206A_202C_202D_206F_206F_202D_206C_202E_202B_206E_202B_200C_206F_206F_200C_200F_200E_206A_206C_206B_200D_200E_206F_206B_202A_202E_202C_206A_202A_202E(int P_0, int P_1)
{
return Math.Min(P_0, P_1);
}
static string _200F_202B_206D_202E_202E_202C_200C_202D_200F_202B_202A_206E_206E_200F_206F_202B_202D_202D_202A_202A_200E_200B_206C_206A_200E_206F_206C_200C_206D_206F_206B_202B_200C_200E_202E_206C_202C_206B_202C_206D_202E(ItemForSale P_0)
{
return P_0.ItemName;
}
static void _202B_206A_206D_206D_206E_200E_202B_206E_202C_206D_200D_202A_202C_202D_206F_202C_202D_202D_206D_206E_206E_202A_202B_206F_200B_200E_202E_202E_202B_200B_206E_206A_206F_200E_202B_200C_200B_206C_200B_202E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static void _200D_200E_202E_202A_206E_206F_202E_206D_206B_206F_206A_200D_206C_200D_202B_202D_200E_200E_200E_200D_200D_200B_202A_206B_202E_206F_202C_200E_206B_200D_200B_202E_202E_202C_200D_206A_206B_206F_206D_202A_202E(RegularShopBase P_0, int P_1)
{
P_0.StartAutoPurchase(P_1);
}
static QuestStep _206C_206B_200C_202A_206C_206C_200B_200C_202C_206A_200B_206C_200E_202E_202C_200D_206A_200B_202A_206A_206B_202E_206D_202E_200C_202D_200D_206B_200D_200F_206C_206E_206A_202A_206B_206F_200E_206D_206A_202D_202E(QuestSequence P_0, int P_1)
{
return P_0.FindStep(P_1);
}
static void _202A_200C_206E_202D_206D_206D_202C_202E_200B_200E_206C_200F_202A_200B_206F_206E_206E_206C_200F_200D_206E_202A_202E_202D_200B_200B_202E_206F_202D_206D_206A_202B_206E_202D_202A_206A_200C_206B_206E_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogError(P_1, P_2);
}
static uint? _206F_202C_200B_202C_200D_206E_202D_200C_200B_200F_202B_202C_200B_206E_206C_206E_202A_206A_200F_206B_200B_200F_202C_202D_206E_200D_200E_200E_206E_206F_206E_206C_202B_202D_206C_200E_206C_200E_200E_202D_202E(QuestStep P_0)
{
return P_0.ItemId;
}
static IEnumerable<int> _206C_202D_206B_206B_200E_206D_206B_200D_202C_200E_206C_206A_202D_206F_206C_200C_206A_206B_200E_200F_200E_206D_202D_206A_206D_206F_202D_200D_202A_202D_202D_202A_206C_200C_202C_206F_200E_202A_202D_206E_202E(int P_0, int P_1)
{
return Enumerable.Range(P_0, P_1);
}
static long _202B_206B_206D_206A_202B_200F_200B_200F_200F_202D_206E_206F_200F_200C_206F_202E_202E_202A_200B_202E_200D_206D_200B_206C_200E_206A_206B_206C_202D_206C_202B_200F_206D_202E_200C_206A_206C_206A_200E_206B_202E()
{
return Environment.TickCount64;
}
static void _200D_200B_200F_206C_200B_202D_202A_202A_206B_200D_202A_206A_206E_206E_206C_200E_206B_202E_200C_202A_202A_202E_206D_206C_206F_206F_206D_200D_206F_200C_200F_206B_200F_200B_206D_200B_200F_200B_202C_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static int _202A_200F_202A_202D_206E_202A_200E_202A_202A_206E_206B_202C_200F_202C_202D_206A_206C_202E_202C_206A_200D_200B_202B_206E_202A_200E_202A_202D_206F_200C_202B_202A_206F_206C_200F_206A_200B_202A_206D_206C_202E(ItemForSale P_0)
{
return P_0.Position;
}
}

View file

@ -1,23 +1,117 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace Questionable.Controller.NavigationOverrides;
public sealed record AlternateLocation(Vector3 Point, bool RecalculateNavmesh)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206A_200D_200F_202C_206C_202B_200E_200F_206B_200F_206C_206B_206A_206F_206C_202A_202A_206E_202E_200F_200C_200B_200C_206A_206D_200C_202D_202D_200D_206E_200F_200D_206A_200C_200E_200D_200F_200D_206C_206B_202E(typeof(AlternateLocation).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
IFormatProvider invariantCulture = CultureInfo.InvariantCulture;
DefaultInterpolatedStringHandler handler = new DefaultInterpolatedStringHandler(6, 4, invariantCulture);
handler.AppendFormatted("Point");
handler.AppendLiteral(": ");
handler.AppendFormatted(Point, "G");
handler.AppendLiteral(", ");
handler.AppendFormatted("RecalculateNavmesh");
handler.AppendLiteral(": ");
handler.AppendFormatted(RecalculateNavmesh);
return string.Create(invariantCulture, ref handler);
IFormatProvider formatProvider = _202E_206D_200D_206D_206E_202D_206C_202D_206A_202E_202C_202E_202B_200D_202E_200D_200E_206A_202D_200F_206D_200C_206A_206E_202A_206D_206E_200D_202D_206D_202C_202C_206C_206B_206A_200F_200F_200C_200F_200C_202E();
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(6, 4, formatProvider);
defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-772385023));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2035955381));
defaultInterpolatedStringHandler.AppendFormatted(Point, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1450220880));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1577352017));
defaultInterpolatedStringHandler.AppendFormatted(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(528515555));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(2074665157));
defaultInterpolatedStringHandler.AppendFormatted(RecalculateNavmesh);
return _206C_202D_206A_202C_200D_200D_202B_200E_206C_202E_206F_206B_200C_206C_206B_200B_206D_206E_206F_202C_206F_206B_200E_200D_206A_202D_202D_200E_200F_206D_206A_206E_206D_200B_202D_202C_202A_206D_206B_202D_202E(formatProvider, ref defaultInterpolatedStringHandler);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202B_200F_202C_206B_202B_202B_206D_206B_206D_202E_200C_206C_206E_202B_206F_200D_202B_200E_206E_206E_200B_206F_202D_202C_202B_202D_202C_206D_200B_206B_206D_202E_206D_200E_206F_206A_206F_202A_206C_202D_202E();
_206D_202E_200E_200B_206E_200C_202A_202B_206B_200B_202A_206C_202C_202D_206D_206F_206A_206E_200E_206B_200B_202B_202B_206A_202D_200E_202B_206D_200D_206F_206B_206E_206D_206F_200D_206D_206B_200D_206B_206F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1934952826));
_206D_202E_200E_200B_206E_200C_202A_202B_206B_200B_202A_206C_202C_202D_206D_206F_206A_206E_200E_206B_200B_202B_202B_206A_202D_200E_202B_206D_200D_206F_206B_206E_206D_206F_200D_206D_206B_200D_206B_206F_202E(builder, Point.ToString());
_206D_202E_200E_200B_206E_200C_202A_202B_206B_200B_202A_206C_202C_202D_206D_206F_206A_206E_200E_206B_200B_202B_202B_206A_202D_200E_202B_206D_200D_206F_206B_206E_206D_206F_200D_206D_206B_200D_206B_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1357493032));
_206D_202E_200E_200B_206E_200C_202A_202B_206B_200B_202A_206C_202C_202D_206D_206F_206A_206E_200E_206B_200B_202B_202B_206A_202D_200E_202B_206D_200D_206F_206B_206E_206D_206F_200D_206D_206B_200D_206B_206F_202E(builder, RecalculateNavmesh.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(AlternateLocation? other)
{
int num = (((object)this == other) ? 1935903240 : 1935903245);
while (true)
{
int num2 = num;
int num3 = 1935903244;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 5:
num = ((!EqualityComparer<Vector3>.Default.Equals(Point, other.Point)) ? 1935903242 : 1935903244);
break;
case 1:
num = (((object)other == null) ? 1935903242 : 1935903246);
break;
case 6:
return false;
case 4:
return true;
case 3:
num = 1935903245;
break;
case 2:
num = ((!_206B_206B_206F_206B_202C_206C_202C_202B_200C_200B_206B_206F_206A_206B_206C_206F_200B_200F_200B_202A_202A_206B_206B_202D_206B_206C_206F_202A_202B_202D_202C_200F_200B_200B_200C_202B_200F_206D_200B_206A_202E(EqualityContract, other.EqualityContract)) ? 1935903242 : 1935903241);
break;
case 0:
return EqualityComparer<bool>.Default.Equals(RecalculateNavmesh, other.RecalculateNavmesh);
}
}
}
bool IEquatable<AlternateLocation>.Equals(AlternateLocation? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206A_200D_200F_202C_206C_202B_200E_200F_206B_200F_206C_206B_206A_206F_206C_202A_202A_206E_202E_200F_200C_200B_200C_206A_206D_200C_202D_202D_200D_206E_200F_200D_206A_200C_200E_200D_200F_200D_206C_206B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static CultureInfo _202E_206D_200D_206D_206E_202D_206C_202D_206A_202E_202C_202E_202B_200D_202E_200D_200E_206A_202D_200F_206D_200C_206A_206E_202A_206D_206E_200D_202D_206D_202C_202C_206C_206B_206A_200F_200F_200C_200F_200C_202E()
{
return CultureInfo.InvariantCulture;
}
static string _206C_202D_206A_202C_200D_200D_202B_200E_206C_202E_206F_206B_200C_206C_206B_200B_206D_206E_206F_202C_206F_206B_200E_200D_206A_202D_202D_200E_200F_206D_206A_206E_206D_200B_202D_202C_202A_206D_206B_202D_202E(IFormatProvider P_0, ref DefaultInterpolatedStringHandler P_1)
{
return string.Create(P_0, ref P_1);
}
static void _202B_200F_202C_206B_202B_202B_206D_206B_206D_202E_200C_206C_206E_202B_206F_200D_202B_200E_206E_206E_200B_206F_202D_202C_202B_202D_202C_206D_200B_206B_206D_202E_206D_200E_206F_206A_206F_202A_206C_202D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206D_202E_200E_200B_206E_200C_202A_202B_206B_200B_202A_206C_202C_202D_206D_206F_206A_206E_200E_206B_200B_202B_202B_206A_202D_200E_202B_206D_200D_206F_206B_206E_206D_206F_200D_206D_206B_200D_206B_206F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206B_206B_206F_206B_202C_206C_202C_202B_200C_200B_206B_206F_206A_206B_206C_206F_200B_200F_200B_202A_202A_206B_206B_202D_206B_206C_206F_202A_202B_202D_202C_200F_200B_200B_200C_202B_200F_206D_200B_206A_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -1,16 +1,187 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace Questionable.Controller.NavigationOverrides;
internal sealed record BlacklistedArea(ushort TerritoryId, Vector3 Center, float MinDistance, float MaxDistance, bool RecalculateNavmesh = false) : IBlacklistedLocation
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202D_206B_206D_202C_206E_206A_206B_202C_206A_202C_206D_206F_202D_202A_200D_202B_200F_200C_206F_206A_200F_202E_206A_202A_202B_200F_200E_200F_206E_202A_202C_206B_206B_202D_202A_200E_200D_200B_200C_206C_202E(typeof(BlacklistedArea).TypeHandle);
}
}
public AlternateLocation? AdjustPoint(Vector3 point)
{
float num = (point - Center).Length();
if (num < MinDistance || num > MaxDistance)
int num2 = ((num < MinDistance) ? 1953826546 : 1953826545);
while (true)
{
return null;
int num3 = num2;
int num4 = 1953826547;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 3:
num2 = 1953826545;
break;
case 0:
return new AlternateLocation(Center + Vector3.Normalize(point - Center) * MaxDistance, RecalculateNavmesh);
case 2:
num2 = ((!(num > MaxDistance)) ? 1953826547 : 1953826546);
break;
case 1:
return null;
}
}
return new AlternateLocation(Center + Vector3.Normalize(point - Center) * MaxDistance, RecalculateNavmesh);
}
AlternateLocation? IBlacklistedLocation.AdjustPoint(Vector3 point)
{
//ILSpy generated this explicit interface implementation from .override directive in AdjustPoint
return this.AdjustPoint(point);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _206B_202A_200E_202B_202E_202D_202C_200F_206A_202A_202C_202B_206C_200D_206E_206A_202E_206E_202B_200B_206D_202E_202D_206C_206D_202E_202E_200E_202C_200F_200F_202D_206A_206C_202D_202B_202B_202C_206C_200E_202E();
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(stringBuilder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(699267182));
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(stringBuilder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(698284764));
int num = ((!PrintMembers(stringBuilder)) ? 1630506085 : 1630506086);
while (true)
{
int num2 = num;
int num3 = 1630506087;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
_200C_202C_202B_206A_206E_200C_206B_202B_202A_200E_206C_200C_206C_200D_200B_206D_206F_206D_206E_202A_200B_206E_206D_206E_200C_200C_200F_206E_202B_206A_206C_206E_202E_202E_202A_206F_206B_206C_202C_202E_202E(stringBuilder, '}');
return _202A_206B_206C_202B_206E_202B_200E_202D_202C_206F_206C_206D_200F_202E_206F_200C_200C_200F_202E_200E_200C_206E_202B_206C_200F_202A_206B_206B_202B_206A_206C_200B_200E_202A_200D_206D_200F_202D_206A_200E_202E((object)stringBuilder);
case 1:
_200C_202C_202B_206A_206E_200C_206B_202B_202A_200E_206C_200C_206C_200D_200B_206D_206F_206D_206E_202A_200B_206E_206D_206E_200C_200C_200F_206E_202B_206A_206C_206E_202E_202E_202A_206F_206B_206C_202C_202E_202E(stringBuilder, ' ');
num = 1630506085;
break;
case 0:
num = 1630506086;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200C_200D_206A_206E_206E_206E_206A_200C_206F_202C_200C_200D_206D_200C_206B_202C_202D_202E_200E_200F_202D_206F_202B_200C_206C_202E_206C_200B_202D_202C_202C_200B_206A_200D_206C_200B_202E_202E_206C_202B_202E();
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-871596524));
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, TerritoryId.ToString());
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2067705783));
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, Center.ToString());
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-950319635));
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, MinDistance.ToString());
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1555143771));
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, MaxDistance.ToString());
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1075142813));
_202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(builder, RecalculateNavmesh.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(BlacklistedArea? other)
{
int num = (((object)this == other) ? 284124876 : 284124877);
while (true)
{
int num2 = num;
int num3 = 284124874;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
num = 284124877;
break;
case 8:
return EqualityComparer<bool>.Default.Equals(RecalculateNavmesh, other.RecalculateNavmesh);
case 0:
num = ((!EqualityComparer<Vector3>.Default.Equals(Center, other.Center)) ? 284124879 : 284124875);
break;
case 4:
num = ((!_206C_206E_200C_200D_206A_202B_206C_202B_206B_206C_202B_200D_200D_202D_206D_206F_200B_202C_206C_206B_206F_200F_202C_202B_200F_200B_202C_202E_202C_202C_202B_200B_206B_202E_202D_202B_200B_206F_200E_206B_202E(EqualityContract, other.EqualityContract)) ? 284124879 : 284124867);
break;
case 7:
num = (((object)other == null) ? 284124879 : 284124878);
break;
case 1:
num = ((!EqualityComparer<float>.Default.Equals(MinDistance, other.MinDistance)) ? 284124879 : 284124872);
break;
case 9:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? 284124879 : 284124874);
break;
case 2:
num = ((!EqualityComparer<float>.Default.Equals(MaxDistance, other.MaxDistance)) ? 284124879 : 284124866);
break;
case 6:
return true;
case 5:
return false;
}
}
}
bool IEquatable<BlacklistedArea>.Equals(BlacklistedArea? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202D_206B_206D_202C_206E_206A_206B_202C_206A_202C_206D_206F_202D_202A_200D_202B_200F_200C_206F_206A_200F_202E_206A_202A_202B_200F_200E_200F_206E_202A_202C_206B_206B_202D_202A_200E_200D_200B_200C_206C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _206B_202A_200E_202B_202E_202D_202C_200F_206A_202A_202C_202B_206C_200D_206E_206A_202E_206E_202B_200B_206D_202E_202D_206C_206D_202E_202E_200E_202C_200F_200F_202D_206A_206C_202D_202B_202B_202C_206C_200E_202E()
{
return new StringBuilder();
}
static StringBuilder _202A_202D_202E_206B_206B_200C_206F_202A_206D_200C_202B_200D_206F_206C_206E_202D_206F_206C_202A_206A_202E_206C_206E_202A_206C_206A_206F_206F_202B_200D_202A_200B_206C_202C_206F_206A_200C_200B_200E_202B_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _200C_202C_202B_206A_206E_200C_206B_202B_202A_200E_206C_200C_206C_200D_200B_206D_206F_206D_206E_202A_200B_206E_206D_206E_200C_200C_200F_206E_202B_206A_206C_206E_202E_202E_202A_206F_206B_206C_202C_202E_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _202A_206B_206C_202B_206E_202B_200E_202D_202C_206F_206C_206D_200F_202E_206F_200C_200C_200F_202E_200E_200C_206E_202B_206C_200F_202A_206B_206B_202B_206A_206C_200B_200E_202A_200D_206D_200F_202D_206A_200E_202E(object P_0)
{
return P_0.ToString();
}
static void _200C_200D_206A_206E_206E_206E_206A_200C_206F_202C_200C_200D_206D_200C_206B_202C_202D_202E_200E_200F_202D_206F_202B_200C_206C_202E_206C_200B_202D_202C_202C_200B_206A_200D_206C_200B_202E_202E_206C_202B_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static bool _206C_206E_200C_200D_206A_202B_206C_202B_206B_206C_202B_200D_200D_202D_206D_206F_200B_202C_206C_206B_206F_200F_202C_202B_200F_200B_202C_202E_202C_202C_202B_200B_206B_202E_202D_202B_200B_206F_200E_206B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -1,15 +1,185 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
namespace Questionable.Controller.NavigationOverrides;
public sealed record BlacklistedPoint(ushort TerritoryId, Vector3 Original, Vector3 Replacement, float CheckDistance = 0.05f, bool RecalculateNavmesh = false) : IBlacklistedLocation
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206C_200E_206E_200B_206A_206E_206F_200E_206C_206B_206B_206B_202B_202B_200D_200E_202C_200D_206B_206E_206B_202A_206A_202C_202A_206D_200D_200F_206A_206F_200C_202D_200D_202C_200C_206B_206B_206F_206D_202C_202E(typeof(BlacklistedPoint).TypeHandle);
}
}
public AlternateLocation? AdjustPoint(Vector3 point)
{
if ((point - Original).Length() > CheckDistance)
int num = ((!((point - Original).Length() > CheckDistance)) ? (-2043857747) : (-2043857748));
while (true)
{
return null;
int num2 = num;
int num3 = -2043857747;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_005c;
case 1:
return null;
case 0:
return new AlternateLocation(Replacement, RecalculateNavmesh);
}
continue;
IL_005c:
num = -2043857748;
}
return new AlternateLocation(Replacement, RecalculateNavmesh);
}
AlternateLocation? IBlacklistedLocation.AdjustPoint(Vector3 point)
{
//ILSpy generated this explicit interface implementation from .override directive in AdjustPoint
return this.AdjustPoint(point);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _202A_202C_200B_202E_202D_202A_206B_202C_206B_206E_206D_206C_206F_200C_200D_200E_206B_206B_206C_200F_206C_206F_206A_202B_202B_202B_206C_202C_200C_202D_200E_206D_202E_202C_206B_202C_200F_206A_202A_202C_202E();
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(stringBuilder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-2024611645));
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(556540328));
int num = ((!PrintMembers(stringBuilder)) ? 156676506 : 156676505);
while (true)
{
int num2 = num;
int num3 = 156676504;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 156676505;
break;
case 2:
_202C_202E_200D_206B_206D_206B_202C_200E_206E_200B_200E_206B_202B_202C_206A_200B_202C_200F_202C_206D_202E_202B_200B_200D_202B_200F_200B_202A_200F_202C_200F_200B_206B_206A_202B_200D_202C_200E_206B_206D_202E(stringBuilder, '}');
return _202C_200D_206F_206C_202A_200E_200D_206F_206B_206A_202A_206A_202D_200C_200D_206C_200F_202A_202A_200E_206A_202D_206B_202A_200B_206E_200D_206B_202A_202B_200B_206D_202B_202D_206F_206F_202C_202A_206C_200D_202E((object)stringBuilder);
case 1:
_202C_202E_200D_206B_206D_206B_202C_200E_206E_200B_200E_206B_202B_202C_206A_200B_202C_200F_202C_206D_202E_202B_200B_200D_202B_200F_200B_202A_200F_202C_200F_200B_206B_206A_202B_200D_202C_200E_206B_206D_202E(stringBuilder, ' ');
num = 156676506;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206B_200C_200E_202A_202B_200F_200E_202D_206F_202A_206A_206B_202C_206D_206D_206E_206C_206B_200E_202E_200C_206A_202E_206D_200C_206A_200C_202E_200E_206F_200D_206D_202B_200B_206D_200C_200E_202A_200C_202D_202E();
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2023728416));
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, TerritoryId.ToString());
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-268848232));
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, Original.ToString());
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1594334695));
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, Replacement.ToString());
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-453523176));
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, CheckDistance.ToString());
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-901239));
_200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(builder, RecalculateNavmesh.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(BlacklistedPoint? other)
{
int num = (((object)this == other) ? 1826590402 : 1826590405);
while (true)
{
int num2 = num;
int num3 = 1826590402;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
return true;
case 5:
num = ((!EqualityComparer<Vector3>.Default.Equals(Original, other.Original)) ? 1826590403 : 1826590410);
break;
case 2:
num = ((!EqualityComparer<float>.Default.Equals(CheckDistance, other.CheckDistance)) ? 1826590403 : 1826590406);
break;
case 9:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? 1826590403 : 1826590407);
break;
case 1:
return false;
case 8:
num = ((!EqualityComparer<Vector3>.Default.Equals(Replacement, other.Replacement)) ? 1826590403 : 1826590400);
break;
case 6:
num = ((!_206A_206A_200D_202E_200D_206E_206C_202B_200C_200E_202C_202C_206D_206E_200B_206C_206F_202A_206B_202D_200F_206A_206E_202A_202A_206D_200C_202E_202D_202C_202C_206E_206B_206B_206A_202A_202D_200B_202B_202E(EqualityContract, other.EqualityContract)) ? 1826590403 : 1826590411);
break;
case 3:
num = 1826590405;
break;
case 7:
num = (((object)other == null) ? 1826590403 : 1826590404);
break;
case 4:
return EqualityComparer<bool>.Default.Equals(RecalculateNavmesh, other.RecalculateNavmesh);
}
}
}
bool IEquatable<BlacklistedPoint>.Equals(BlacklistedPoint? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206C_200E_206E_200B_206A_206E_206F_200E_206C_206B_206B_206B_202B_202B_200D_200E_202C_200D_206B_206E_206B_202A_206A_202C_202A_206D_200D_200F_206A_206F_200C_202D_200D_202C_200C_206B_206B_206F_206D_202C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _202A_202C_200B_202E_202D_202A_206B_202C_206B_206E_206D_206C_206F_200C_200D_200E_206B_206B_206C_200F_206C_206F_206A_202B_202B_202B_206C_202C_200C_202D_200E_206D_202E_202C_206B_202C_200F_206A_202A_202C_202E()
{
return new StringBuilder();
}
static StringBuilder _200B_200D_206C_202B_206E_200F_206B_200D_206E_206C_206E_200F_202B_206E_206D_202D_200E_200C_200E_202B_206A_200E_206B_202E_200F_200E_200D_200C_202D_202B_200E_206A_202A_202A_200B_200D_202A_202D_200C_202D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202C_202E_200D_206B_206D_206B_202C_200E_206E_200B_200E_206B_202B_202C_206A_200B_202C_200F_202C_206D_202E_202B_200B_200D_202B_200F_200B_202A_200F_202C_200F_200B_206B_206A_202B_200D_202C_200E_206B_206D_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _202C_200D_206F_206C_202A_200E_200D_206F_206B_206A_202A_206A_202D_200C_200D_206C_200F_202A_202A_200E_206A_202D_206B_202A_200B_206E_200D_206B_202A_202B_200B_206D_202B_202D_206F_206F_202C_202A_206C_200D_202E(object P_0)
{
return P_0.ToString();
}
static void _206B_200C_200E_202A_202B_200F_200E_202D_206F_202A_206A_206B_202C_206D_206D_206E_206C_206B_200E_202E_200C_206A_202E_206D_200C_206A_200C_202E_200E_206F_200D_206D_202B_200B_206D_200C_200E_202A_200C_202D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static bool _206A_206A_200D_202E_200D_206E_206C_202B_200C_200E_202C_202C_206D_206E_200B_206C_206F_202A_206B_202D_200F_206A_206E_202A_202A_206D_200C_202E_202D_202C_202C_206E_206B_206B_206A_202A_202D_200B_202B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Dalamud.Plugin.Services;
using Microsoft.Extensions.Logging;
@ -23,26 +24,78 @@ internal sealed class MovementOverrideController
_logger = logger;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public (List<Vector3>, bool) AdjustPath(List<Vector3> navPoints)
{
foreach (IBlacklistedLocation blacklistedLocation in BlacklistedLocations)
using (List<IBlacklistedLocation>.Enumerator enumerator = BlacklistedLocations.GetEnumerator())
{
if (_clientState.TerritoryType != blacklistedLocation.TerritoryId)
int num = -1572847159;
AlternateLocation alternateLocation = default(AlternateLocation);
IBlacklistedLocation current = default(IBlacklistedLocation);
int num7 = default(int);
while (true)
{
continue;
}
for (int i = 0; i < navPoints.Count; i++)
{
AlternateLocation alternateLocation = blacklistedLocation.AdjustPoint(navPoints[i]);
if (alternateLocation != null)
int num2 = num;
int num3 = -1572847156;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
_logger.LogInformation("Fudging navmesh point from {Original} to {Replacement} in blacklisted area", navPoints[i].ToString("G", CultureInfo.InvariantCulture), alternateLocation);
navPoints[i] = alternateLocation.Point;
if (alternateLocation.RecalculateNavmesh)
{
return (navPoints.Take(i + 1).ToList(), true);
}
case 6:
alternateLocation = current.AdjustPoint(navPoints[num7]);
num = ((!(alternateLocation != null)) ? (-1572847155) : (-1572847163));
break;
case 5:
num = (enumerator.MoveNext() ? (-1572847154) : (-1572847160));
break;
case 0:
num = -1572847159;
break;
case 8:
num7 = 0;
num = -1572847153;
break;
case 2:
current = enumerator.Current;
num = ((_206E_206C_202E_202C_206B_200E_206A_206D_200F_202E_202B_202C_200B_202D_202B_202C_206E_202C_206E_200B_202E_206E_206C_202E_206D_202E_202E_206B_202E_202A_200C_202A_206F_200D_206A_202D_206D_202E_206A_202D_202E(_clientState) != current.TerritoryId) ? (-1572847159) : (-1572847164));
break;
case 3:
num = ((num7 < navPoints.Count) ? (-1572847158) : (-1572847159));
break;
case 7:
{
int num11 = num7;
num3 = 1;
num4 = num11;
return (navPoints.Take((num4 | num3) + (num4 & num3)).ToList(), true);
}
case 1:
{
int num8 = num7;
num3 = 1;
num4 = num8;
int num9 = num4 ^ num3;
int num10 = num4 & num3;
num7 = num9 + (num10 + num10);
num = -1572847153;
break;
}
case 9:
_200E_202B_200B_200F_206D_202C_202E_200D_200C_200C_202B_202D_200F_202B_206A_200E_202A_206C_200B_202D_202A_200D_206F_200E_200D_200F_200E_202E_202D_200D_200F_200D_202E_202E_202A_202A_206B_202E_206A_200F_202E((ILogger)_logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1083711634), new object[2]
{
navPoints[num7].ToString(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2120763774), _202E_206B_200B_206E_202B_206F_202D_206B_202C_202C_202A_200F_206E_206B_202A_200C_200E_202E_200C_206A_202B_202C_200D_200E_202A_202B_202E_200E_200B_200C_202C_206C_206B_202A_202C_200D_206F_202D_206F_206E_202E()),
alternateLocation
});
navPoints[num7] = alternateLocation.Point;
num = ((!alternateLocation.RecalculateNavmesh) ? (-1572847155) : (-1572847157));
break;
case 4:
goto end_IL_0017;
}
continue;
end_IL_0017:
break;
}
}
return (navPoints, false);
@ -87,4 +140,19 @@ internal sealed class MovementOverrideController
span[30] = new BlacklistedPoint(1186, new Vector3(287.75f, 51.25f, 172f), new Vector3(288.875f, 50.75f, 166.25f));
BlacklistedLocations = list;
}
static uint _206E_206C_202E_202C_206B_200E_206A_206D_200F_202E_202B_202C_200B_202D_202B_202C_206E_202C_206E_200B_202E_206E_206C_202E_206D_202E_202E_206B_202E_202A_200C_202A_206F_200D_206A_202D_206D_202E_206A_202D_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static CultureInfo _202E_206B_200B_206E_202B_206F_202D_206B_202C_202C_202A_200F_206E_206B_202A_200C_200E_202E_200C_206A_202B_202C_200D_200E_202A_202B_202E_200E_200B_200C_202C_206C_206B_202A_202C_200D_206F_202D_206F_206E_202E()
{
return CultureInfo.InvariantCulture;
}
static void _200E_202B_200B_200F_206D_202C_202E_200D_200C_200C_202B_202D_200F_202B_206A_200E_202A_206C_200B_202D_202A_200D_206F_200E_200D_200F_200E_202E_202D_200D_200F_200D_202E_202E_202A_202A_206B_202E_206A_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}

View file

@ -4,7 +4,7 @@ namespace Questionable.Controller.Steps.Common;
internal abstract class AbstractDelayedTaskExecutor<T> : TaskExecutor<T> where T : class, ITask
{
private DateTime _continueAt;
private long _continueAtMs;
protected TimeSpan Delay { get; set; }
@ -21,7 +21,7 @@ internal abstract class AbstractDelayedTaskExecutor<T> : TaskExecutor<T> where T
protected sealed override bool Start()
{
bool result = StartInternal();
_continueAt = DateTime.Now.Add(Delay);
_continueAtMs = _200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E() + (long)Delay.TotalMilliseconds;
return result;
}
@ -29,15 +29,36 @@ internal abstract class AbstractDelayedTaskExecutor<T> : TaskExecutor<T> where T
public override ETaskResult Update()
{
if (_continueAt >= DateTime.Now)
int num = ((_200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E() >= _continueAtMs) ? 741757895 : 741757892);
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = 741757894;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_004d;
case 1:
return UpdateInternal();
case 2:
return ETaskResult.StillRunning;
}
continue;
IL_004d:
num = 741757892;
}
return UpdateInternal();
}
protected virtual ETaskResult UpdateInternal()
{
return ETaskResult.TaskComplete;
}
static long _200D_206E_200D_200E_202D_202A_206F_202D_200D_206F_206D_202E_202D_202C_200B_200B_206E_200D_202B_206A_200C_200C_202E_206F_206D_200B_200D_206A_200E_202D_200B_200D_202D_202E_206D_200E_202C_206F_200C_202C_202E()
{
return Environment.TickCount64;
}
}

View file

@ -1,8 +1,11 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using FFXIVClientStructs.FFXIV.Client.Game.Character;
@ -17,17 +20,28 @@ internal static class Mount
{
internal sealed record MountTask : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206E_202A_200B_206E_202B_206B_202B_206B_200B_206D_206C_206B_206B_202D_206B_200E_202C_200B_202E_200F_202A_200B_202A_200E_200C_206C_206C_206D_200B_206A_206E_206F_202A_200D_200C_200E_200C_202C_202E_202E(typeof(MountTask).TypeHandle);
}
}
public ushort TerritoryId { get; init; }
public EMountIf MountIf { get; init; }
public FFXIVClientStructs.FFXIV.Common.Math.Vector3? Position { get; }
[MethodImpl(MethodImplOptions.NoInlining)]
public MountTask(ushort TerritoryId, EMountIf MountIf, FFXIVClientStructs.FFXIV.Common.Math.Vector3? Position = null)
{
this.TerritoryId = TerritoryId;
this.MountIf = MountIf;
this.Position = ((MountIf == EMountIf.AwayFromPosition) ? new FFXIVClientStructs.FFXIV.Common.Math.Vector3?(Position ?? throw new ArgumentNullException("Position")) : ((FFXIVClientStructs.FFXIV.Common.Math.Vector3?)null));
this.Position = ((MountIf == EMountIf.AwayFromPosition) ? new FFXIVClientStructs.FFXIV.Common.Math.Vector3?(Position ?? throw _202C_200E_202C_200D_200F_206F_202E_206F_202A_202E_202D_206A_200D_206A_206D_200C_200C_206A_206E_206B_200B_200B_200B_200D_206A_202A_200F_206A_202B_202E_200E_200D_202A_202A_206F_200E_200C_202B_200D_206A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1692510639))) : ((FFXIVClientStructs.FFXIV.Common.Math.Vector3?)null));
base._002Ector();
}
@ -36,9 +50,72 @@ internal static class Mount
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "Mount";
return global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-9684774);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206A_206A_206A_206C_206E_200C_200D_202A_200C_200C_202B_202D_202A_206A_202C_206E_206D_206F_202A_206E_206F_202E_202E_206E_200E_206B_202A_200F_202B_202C_206B_202B_200F_200C_206F_206D_200B_200B_200C_206D_202E();
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-871596524));
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, TerritoryId.ToString());
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1100545370));
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, MountIf.ToString());
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1993330002));
_202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(builder, Position.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(MountTask? other)
{
int num = (((object)this == other) ? (-244243578) : (-244243579));
while (true)
{
int num2 = num;
int num3 = -244243580;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -244243579;
break;
case 5:
return EqualityComparer<FFXIVClientStructs.FFXIV.Common.Math.Vector3?>.Default.Equals(Position, other.Position);
case 1:
num = (((object)other == null) ? (-244243582) : (-244243584));
break;
case 6:
return false;
case 3:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? (-244243582) : (-244243581));
break;
case 4:
num = ((!_206A_206E_206B_202B_206B_206A_200C_200D_202E_206B_202B_200B_206B_202E_202B_206A_206B_202A_200B_206D_202E_202A_202B_202B_206A_200F_202E_206A_206D_206C_206B_206F_206B_202E_202A_202D_202D_200F_202C_202B_202E(EqualityContract, other.EqualityContract)) ? (-244243582) : (-244243577));
break;
case 2:
return true;
case 7:
num = ((!EqualityComparer<EMountIf>.Default.Equals(MountIf, other.MountIf)) ? (-244243582) : (-244243583));
break;
}
}
}
bool IEquatable<MountTask>.Equals(MountTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
[CompilerGenerated]
@ -48,50 +125,150 @@ internal static class Mount
MountIf = this.MountIf;
Position = this.Position;
}
static ArgumentNullException _202C_200E_202C_200D_200F_206F_202E_206F_202A_202E_202D_206A_200D_206A_206D_200C_200C_206A_206E_206B_200B_200B_200B_200D_206A_202A_200F_206A_202B_202E_200E_200D_202A_202A_206F_200E_200C_202B_200D_206A_202E(string P_0)
{
return new ArgumentNullException(P_0);
}
static Type _206E_202A_200B_206E_202B_206B_202B_206B_200B_206D_206C_206B_206B_202D_206B_200E_202C_200B_202E_200F_202A_200B_202A_200E_200C_206C_206C_206D_200B_206A_206E_206F_202A_200D_200C_200E_200C_202C_202E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206A_206A_206A_206C_206E_200C_200D_202A_200C_200C_202B_202D_202A_206A_202C_206E_206D_206F_202A_206E_206F_202E_202E_206E_200E_206B_202A_200F_202B_202C_206B_202B_200F_200C_206F_206D_200B_200B_200C_206D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202B_202A_202E_202B_206B_206C_202E_200D_202C_200F_206D_202A_206E_202E_202A_202A_200E_200D_200F_206A_202D_202A_200C_202D_202B_200C_206B_206F_200B_202A_206B_202C_206C_202B_200E_200C_202B_200E_206B_200F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206A_206E_206B_202B_206B_206A_200C_200D_202E_206B_202B_200B_206B_202E_202B_206A_206B_202A_200B_206D_202E_202A_202B_202B_206A_200F_202E_206A_206D_206C_206B_206F_206B_202E_202A_202D_202D_200F_202C_202B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class MountEvaluator(GameFunctions gameFunctions, ICondition condition, TerritoryData territoryData, IClientState clientState, IObjectTable objectTable, ILogger<MountEvaluator> logger)
{
public unsafe MountResult EvaluateMountState(MountTask task, bool dryRun, ref DateTime retryAt)
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe MountResult EvaluateMountState(MountTask task, bool dryRun, ref long retryAtMs)
{
if (condition[ConditionFlag.Mounted])
int num = ((!_200D_200F_200B_200B_200E_206D_206D_200C_206E_200C_202A_206D_202C_206B_206E_200F_206F_202D_202B_200B_202A_206B_206A_202A_202E_202D_200E_200F_202B_206C_200D_206C_206F_202D_206D_206E_202A_206D_206F_202E_202E(condition, ConditionFlag.Mounted)) ? (-1122253637) : (-1122253641));
float num8 = default(float);
LogLevel logLevel = default(LogLevel);
while (true)
{
return MountResult.DontMount;
}
LogLevel logLevel = (dryRun ? LogLevel.None : LogLevel.Information);
if (!territoryData.CanUseMount(task.TerritoryId))
{
logger.Log(logLevel, "Can't use mount in current territory {Id}", task.TerritoryId);
return MountResult.DontMount;
}
if (gameFunctions.HasStatusPreventingMount())
{
logger.Log(logLevel, "Can't mount due to status preventing sprint or mount");
return MountResult.DontMount;
}
if (task.MountIf == EMountIf.AwayFromPosition)
{
float num = System.Numerics.Vector3.Distance((FFXIVClientStructs.FFXIV.Common.Math.Vector3)(objectTable[0]?.Position ?? ((System.Numerics.Vector3)FFXIVClientStructs.FFXIV.Common.Math.Vector3.Zero)), task.Position.GetValueOrDefault());
if (task.TerritoryId == clientState.TerritoryType && num < 30f && !Conditions.Instance()->Diving)
int num2 = num;
int num3 = -1122253647;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
int num7;
switch (num5 - (num6 + num6))
{
logger.Log(logLevel, "Not using mount, as we're close to the target");
case 14:
num = ((!(num8 < 30f)) ? (-1122253635) : (-1122253640));
break;
case 3:
num7 = 6;
goto IL_00b6;
case 8:
_202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-353154207), new object[1] { task.TerritoryId });
num = (_200D_200F_200B_200B_200E_206D_206D_200C_206E_200C_202A_206D_202C_206B_206E_200F_206F_202D_202B_200B_202A_206B_206A_202A_202E_202D_200E_200F_202B_206C_200D_206C_206F_202D_206D_206E_202A_206D_206F_202E_202E(condition, ConditionFlag.InCombat) ? (-1122253644) : (-1122253643));
break;
case 4:
num = ((!dryRun) ? (-1122253642) : (-1122253663));
break;
case 5:
return MountResult.WhenOutOfCombat;
case 12:
_202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1123067859), new object[2] { num8, task.TerritoryId });
num = -1122253639;
break;
case 2:
_202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(603618635), Array.Empty<object>());
return MountResult.DontMount;
}
logger.Log(logLevel, "Want to use mount if away from destination ({Distance} yalms), trying (in territory {Id})...", num, task.TerritoryId);
}
else
{
logger.Log(logLevel, "Want to use mount, trying (in territory {Id})...", task.TerritoryId);
}
if (!condition[ConditionFlag.InCombat])
{
if (dryRun)
case 11:
num7 = 1;
goto IL_00b6;
case 6:
return MountResult.DontMount;
case 10:
num = (dryRun ? (-1122253646) : (-1122253638));
break;
case 17:
{
retryAt = DateTime.Now.AddSeconds(0.5);
IPlayerCharacter playerCharacter = _206D_202A_206A_206C_206E_206B_206D_200F_200D_206C_202B_200F_206D_202B_202B_202A_200F_200D_206A_202D_200F_200C_206B_202A_202E_200B_202C_206B_206E_206D_206D_200C_202E_206B_200C_200F_200B_202B_202C_206F_202E(objectTable);
num8 = System.Numerics.Vector3.Distance((FFXIVClientStructs.FFXIV.Common.Math.Vector3)((playerCharacter != null) ? _206A_202D_206A_206C_202C_206D_200C_200D_202A_206C_202B_202D_206C_206D_206C_206C_202E_206D_200C_202C_206E_206B_202A_206C_200B_200B_206B_200E_206D_202D_200F_202D_206B_200F_206F_202B_202C_206B_200D_200D_202E((IGameObject)playerCharacter) : ((System.Numerics.Vector3)FFXIVClientStructs.FFXIV.Common.Math.Vector3.Zero)), task.Position.GetValueOrDefault());
num = ((task.TerritoryId != _200D_200E_200C_202C_200D_202A_200E_206A_202B_206E_202E_206B_200B_202B_200D_202E_200C_206F_202A_206A_206D_206D_202B_206F_202A_206B_206F_200E_206E_200D_202C_206A_202C_202D_206C_206B_200E_200C_200B_200D_202E(clientState)) ? (-1122253635) : (-1122253633));
break;
}
case 7:
return MountResult.Mount;
case 1:
num = ((task.MountIf != EMountIf.AwayFromPosition) ? (-1122253639) : (-1122253664));
break;
case 15:
_202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1312445464), Array.Empty<object>());
return MountResult.DontMount;
case 0:
num = -1122253641;
break;
case 13:
num = ((!gameFunctions.HasStatusPreventingMount()) ? (-1122253648) : (-1122253634));
break;
case 9:
num = (FFXIVClientStructs.FFXIV.Client.Game.Conditions.Instance()->Diving ? (-1122253635) : (-1122253645));
break;
case 18:
_202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E((ILogger)logger, logLevel, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2123178136), new object[1] { task.TerritoryId });
return MountResult.DontMount;
case 16:
{
retryAtMs = _202A_206E_202A_202E_200C_200F_200E_206C_206A_206A_202A_206A_206C_202D_200D_202D_200B_202B_206C_206B_206A_200F_200C_206D_206C_206C_200E_200B_200B_202A_206C_202D_200F_200D_206E_200D_200D_206F_206A_202D_202E() + 500;
num = -1122253642;
break;
}
IL_00b6:
logLevel = (LogLevel)num7;
num = (territoryData.CanUseMount(task.TerritoryId) ? (-1122253636) : (-1122253661));
break;
}
return MountResult.Mount;
}
return MountResult.WhenOutOfCombat;
}
static bool _200D_200F_200B_200B_200E_206D_206D_200C_206E_200C_202A_206D_202C_206B_206E_200F_206F_202D_202B_200B_202A_206B_206A_202A_202E_202D_200E_200F_202B_206C_200D_206C_206F_202D_206D_206E_202A_206D_206F_202E_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static void _202B_202E_200B_202E_206F_206F_202E_206A_200C_202E_206A_202E_206E_200D_200C_200D_200B_202E_200C_200E_206D_200C_202B_202D_206E_206B_206B_206C_202C_200C_206D_200B_202D_206E_200C_202E_206B_206E_200B_202C_202E(ILogger P_0, LogLevel P_1, string P_2, object[] P_3)
{
P_0.Log(P_1, P_2, P_3);
}
static IPlayerCharacter _206D_202A_206A_206C_206E_206B_206D_200F_200D_206C_202B_200F_206D_202B_202B_202A_200F_200D_206A_202D_200F_200C_206B_202A_202E_200B_202C_206B_206E_206D_206D_200C_202E_206B_200C_200F_200B_202B_202C_206F_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static System.Numerics.Vector3 _206A_202D_206A_206C_202C_206D_200C_200D_202A_206C_202B_202D_206C_206D_206C_206C_202E_206D_200C_202C_206E_206B_202A_206C_200B_200B_206B_200E_206D_202D_200F_202D_206B_200F_206F_202B_202C_206B_200D_200D_202E(IGameObject P_0)
{
return P_0.Position;
}
static uint _200D_200E_200C_202C_200D_202A_200E_206A_202B_206E_202E_206B_200B_202B_200D_202E_200C_206F_202A_206A_206D_206D_202B_206F_202A_206B_206F_200E_206E_200D_202C_206A_202C_202D_206C_206B_200E_200C_200B_200D_202E(IClientState P_0)
{
return P_0.TerritoryType;
}
static long _202A_206E_202A_202E_200C_200F_200E_206C_206A_206A_202A_206A_206C_202D_200D_202D_200B_202B_206C_206B_206A_200F_200C_206D_206C_206C_200E_200B_200B_202A_206C_202D_200F_200D_206E_200D_200D_206F_206A_202D_202E()
{
return Environment.TickCount64;
}
}
@ -99,44 +276,104 @@ internal static class Mount
{
private bool _mountTriggered;
private DateTime _retryAt = DateTime.MinValue;
private long _retryAtMs;
protected override bool Start()
{
_mountTriggered = false;
return mountEvaluator.EvaluateMountState(base.Task, dryRun: false, ref _retryAt) == MountResult.Mount;
return mountEvaluator.EvaluateMountState(base.Task, dryRun: false, ref _retryAtMs) == MountResult.Mount;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (_mountTriggered && !condition[ConditionFlag.Mounted] && DateTime.Now > _retryAt)
int num = ((!_mountTriggered) ? (-694294955) : (-694294952));
while (true)
{
logger.LogInformation("Not mounted, retrying...");
_mountTriggered = false;
_retryAt = DateTime.MaxValue;
}
if (!_mountTriggered)
{
if (gameFunctions.HasStatusPreventingMount())
int num2 = num;
int num3 = -694294945;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
logger.LogInformation("Can't mount due to status preventing sprint or mount");
case 2:
num = ((!gameFunctions.HasStatusPreventingMount()) ? (-694294957) : (-694294950));
break;
case 3:
ResetProgressTimer();
return ETaskResult.TaskComplete;
case 5:
_200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1137964517), Array.Empty<object>());
return ETaskResult.TaskComplete;
case 6:
_200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(614136280), Array.Empty<object>());
_mountTriggered = false;
_retryAtMs = long.MaxValue;
num = -694294955;
break;
case 11:
ResetProgressTimer();
num = -694294945;
break;
case 10:
num = (_mountTriggered ? (-694294946) : (-694294947));
break;
case 9:
num = ((!base.ProgressContext.WasInterrupted()) ? (-694294958) : (-694294953));
break;
case 15:
num = ((base.ProgressContext == null) ? (-694294945) : (-694294954));
break;
case 14:
num = ((_206D_202C_200D_206E_202D_206D_206D_206B_202B_200F_200E_206C_202B_206B_200F_206E_202C_206F_200F_206E_206B_202C_202E_206F_206A_202B_202D_202A_206F_206A_200F_202B_206F_202E_202A_206C_200D_202A_206D_202E_202E() <= _retryAtMs) ? (-694294955) : (-694294951));
break;
case 7:
num = (_200E_206F_200E_202D_200C_206F_200F_202C_202B_200F_202B_200E_206D_200F_202D_202D_206F_202D_200E_200D_200E_206A_206B_206F_202C_202E_202D_202B_206E_206E_206C_206A_206C_200E_200C_200C_206D_200B_200B_200C_202E(condition, ConditionFlag.Mounted) ? (-694294955) : (-694294959));
break;
case 13:
num = ((!base.ProgressContext.WasSuccessful()) ? (-694294945) : (-694294956));
break;
case 1:
num = ((!_200E_206F_200E_202D_200C_206F_200F_202C_202B_200F_202B_200E_206D_200F_202D_202D_206F_202D_200E_200D_200E_206A_206B_206F_202C_202E_202D_202B_206E_206E_206C_206A_206C_200E_200C_200C_206D_200B_200B_200C_202E(condition, ConditionFlag.Mounted)) ? (-694294960) : (-694294948));
break;
case 4:
num = -694294952;
break;
case 8:
_200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1257322524), Array.Empty<object>());
_mountTriggered = false;
return ETaskResult.StillRunning;
case 0:
return ETaskResult.StillRunning;
case 12:
base.ProgressContext = InteractionProgressContext.FromActionUse(() => _mountTriggered = gameFunctions.Mount());
ResetProgressTimer();
_retryAtMs = _206D_202C_200D_206E_202D_206D_206D_206B_202B_200F_200E_206C_202B_206B_200F_206E_202C_206F_200F_206E_206B_202C_202E_206F_206A_202B_202D_202A_206F_206A_200F_202B_206F_202E_202A_206C_200D_202A_206D_202E_202E() + 5000;
return ETaskResult.StillRunning;
}
base.ProgressContext = InteractionProgressContext.FromActionUse(() => _mountTriggered = gameFunctions.Mount());
_retryAt = DateTime.Now.AddSeconds(5.0);
return ETaskResult.StillRunning;
}
if (!condition[ConditionFlag.Mounted])
{
return ETaskResult.StillRunning;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static bool _200E_206F_200E_202D_200C_206F_200F_202C_202B_200F_202B_200E_206D_200F_202D_202D_206F_202D_200E_200D_200E_206A_206B_206F_202C_202E_202D_202B_206E_206E_206C_206A_206C_200E_200C_200C_206D_200B_200B_200C_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static long _206D_202C_200D_206E_202D_206D_206D_206B_202B_200F_200E_206C_202B_206B_200F_206E_202C_206F_200F_206E_206B_202C_202E_206F_206A_202B_202D_202A_206F_206A_200F_202B_206F_202E_202A_206C_200D_202A_206D_202E_202E()
{
return Environment.TickCount64;
}
static void _200D_206B_202E_200F_200E_202A_200B_202B_200F_206A_202C_206D_202E_202C_200F_202A_206E_202A_202C_202A_202A_200E_206C_202A_206A_202E_206E_200F_202B_200B_200F_202A_206F_206C_200F_202E_202A_206A_202B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
internal enum MountResult
@ -148,91 +385,238 @@ internal static class Mount
internal sealed record UnmountTask : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200C_206C_200F_206C_202C_202E_200C_200D_202B_202B_200C_206B_200D_206D_202E_206E_206F_206E_206E_202B_202B_200C_206E_202B_200F_206C_200C_200E_206F_206C_206D_200B_200C_206D_206D_202C_206E_200F_200E_202B_202E(typeof(UnmountTask).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "Unmount";
return global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2092040442);
}
[CompilerGenerated]
public bool Equals(UnmountTask? other)
{
int num = (((object)this == other) ? (-325437699) : (-325437704));
while (true)
{
int num2 = num;
int num3 = -325437700;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return false;
case 0:
return _202E_200D_202B_206F_202E_206C_200C_200E_202A_206F_200E_206F_202E_202D_202C_206D_202E_200C_206D_206D_200F_200B_206F_202C_202D_206E_200E_206B_206F_200C_202E_206C_206C_206F_206B_206D_206B_200D_202D_206F_202E(EqualityContract, other.EqualityContract);
case 4:
num = (((object)other == null) ? (-325437697) : (-325437700));
break;
case 1:
return true;
case 2:
num = -325437704;
break;
}
}
}
bool IEquatable<UnmountTask>.Equals(UnmountTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200C_206C_200F_206C_202C_202E_200C_200D_202B_202B_200C_206B_200D_206D_202E_206E_206F_206E_206E_202B_202B_200C_206E_202B_200F_206C_200C_200E_206F_206C_206D_200B_200C_206D_206D_202C_206E_200F_200E_202B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static bool _202E_200D_202B_206F_202E_206C_200C_200E_202A_206F_200E_206F_202E_202D_202C_206D_202E_200C_206D_206D_200F_200B_206F_202C_202D_206E_200E_206B_206F_200C_202E_206C_206C_206F_206B_206D_206B_200D_202D_206F_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class UnmountExecutor(ICondition condition, ILogger<UnmountTask> logger, GameFunctions gameFunctions, IObjectTable objectTable) : TaskExecutor<UnmountTask>()
internal sealed class UnmountExecutor(ICondition condition, ILogger<UnmountExecutor> logger, GameFunctions gameFunctions, IObjectTable objectTable) : TaskExecutor<UnmountTask>()
{
private bool _unmountTriggered;
private DateTime _continueAt = DateTime.MinValue;
private long _continueAtMs;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
if (!condition[ConditionFlag.Mounted])
int num = (_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.Mounted) ? 488246470 : 488246469);
while (true)
{
return false;
int num2 = num;
int num3 = 488246471;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
_unmountTriggered = gameFunctions.Unmount();
_continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000;
return true;
case 2:
return false;
case 4:
gameFunctions.Unmount();
_continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000;
return true;
case 3:
num = 488246469;
break;
case 1:
_202C_202D_200C_202C_200B_206C_200E_200F_202B_200F_200C_200E_206C_206A_200C_206F_202A_200B_202D_206E_206A_202D_206A_206A_200C_202B_200D_206B_206D_206F_202C_206F_202A_206D_202E_202E_202B_200F_200D_202A_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-194036115), Array.Empty<object>());
num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.InFlight)) ? 488246471 : 488246467);
break;
}
}
logger.LogInformation("Step explicitly wants no mount, trying to unmount...");
if (condition[ConditionFlag.InFlight])
{
gameFunctions.Unmount();
_continueAt = DateTime.Now.AddSeconds(1.0);
return true;
}
_unmountTriggered = gameFunctions.Unmount();
_continueAt = DateTime.Now.AddSeconds(1.0);
return true;
}
public override ETaskResult Update()
{
if (_continueAt >= DateTime.Now)
int num = ((_202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() >= _continueAtMs) ? 353264902 : 353264910);
while (true)
{
return ETaskResult.StillRunning;
}
if (IsUnmounting())
{
return ETaskResult.StillRunning;
}
if (!_unmountTriggered)
{
if (condition[ConditionFlag.InFlight])
{
gameFunctions.Unmount();
}
else
int num2 = num;
int num3 = 353264907;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 13:
num = ((!IsUnmounting()) ? 353264903 : 353264898);
break;
case 14:
num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.InCombat)) ? 353264899 : 353264904);
break;
case 6:
_continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000;
return ETaskResult.StillRunning;
case 1:
num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.Mounted)) ? 353264899 : 353264901);
break;
case 0:
num = 353264910;
break;
case 2:
return ETaskResult.TaskComplete;
case 3:
_unmountTriggered = gameFunctions.Unmount();
_continueAtMs = _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E() + 1000;
return ETaskResult.StillRunning;
case 11:
num = ((!_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.InFlight)) ? 353264911 : 353264897);
break;
case 12:
num = (_unmountTriggered ? 353264906 : 353264896);
break;
case 5:
return ETaskResult.StillRunning;
case 7:
return ETaskResult.StillRunning;
case 4:
_unmountTriggered = gameFunctions.Unmount();
num = 353264909;
break;
case 8:
num = (_202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(condition, ConditionFlag.Mounted) ? 353264908 : 353264905);
break;
case 10:
gameFunctions.Unmount();
num = 353264909;
break;
case 9:
return ETaskResult.StillRunning;
}
_continueAt = DateTime.Now.AddSeconds(1.0);
return ETaskResult.StillRunning;
}
if (condition[ConditionFlag.Mounted] && condition[ConditionFlag.InCombat])
{
_unmountTriggered = gameFunctions.Unmount();
_continueAt = DateTime.Now.AddSeconds(1.0);
return ETaskResult.StillRunning;
}
if (!condition[ConditionFlag.Mounted])
{
return ETaskResult.TaskComplete;
}
return ETaskResult.StillRunning;
}
private unsafe bool IsUnmounting()
{
if (objectTable[0] is IPlayerCharacter playerCharacter)
IPlayerCharacter playerCharacter = _200B_202D_206D_206F_206B_202D_206B_206C_200C_202B_206F_206C_206E_200C_200E_202E_202D_202E_206C_206B_202B_200D_202B_206A_202B_206E_202B_206A_206E_206D_206D_200D_202D_202B_206E_200C_202D_206C_202E_202A_202E(objectTable);
int num = ((playerCharacter == null) ? 117430025 : 117430026);
while (true)
{
BattleChara* address = (BattleChara*)playerCharacter.Address;
return (address->Mount.Flags & 1) == 1;
int num2 = num;
int num3 = 117430027;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0052;
case 2:
return false;
case 1:
{
BattleChara* ptr = (BattleChara*)_200F_202B_206E_200F_206E_200C_200C_200F_206E_206D_206C_200D_202D_206E_200C_200E_206B_202D_202C_206D_206A_206D_200C_206E_200D_202E_202B_206F_200B_202D_206F_202A_206C_200E_206E_200E_206A_200D_202E_202E((IGameObject)playerCharacter);
byte flags = ptr->Mount.Flags;
num3 = 1;
num4 = flags;
return num4 + num3 - (num4 | num3) == 1;
}
}
continue;
IL_0052:
num = 117430026;
}
return false;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static bool _202B_202C_206F_200E_202E_206E_200E_200C_200C_206B_202D_200F_202C_206F_206D_206A_200E_202B_200D_206A_202C_202A_200B_206A_200D_202B_206B_206F_202B_202D_202D_200D_206A_206A_202E_200C_200F_200B_202C_206C_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static void _202C_202D_200C_202C_200B_206C_200E_200F_202B_200F_200C_200E_206C_206A_200C_206F_202A_200B_202D_206E_206A_202D_206A_206A_200C_202B_200D_206B_206D_206F_202C_206F_202A_206D_202E_202E_202B_200F_200D_202A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static long _202B_206A_206A_206D_206A_200C_200F_206E_206F_206D_206C_202A_206B_206C_200C_202C_206F_206D_206C_200E_202E_200C_200C_200C_202A_202E_206B_200E_206F_200B_206C_202B_200E_200F_206E_202C_202D_206A_200C_206D_202E()
{
return Environment.TickCount64;
}
static IPlayerCharacter _200B_202D_206D_206F_206B_202D_206B_206C_200C_202B_206F_206C_206E_200C_200E_202E_202D_202E_206C_206B_202B_200D_202B_206A_202B_206E_202B_206A_206E_206D_206D_200D_202D_202B_206E_200C_202D_206C_202E_202A_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static nint _200F_202B_206E_200F_206E_200C_200C_200F_206E_206D_206C_200D_202D_206E_200C_200E_206B_202D_202C_206D_206A_206D_200C_206E_200D_202E_202B_206F_200B_202D_206F_202A_206C_200E_206E_200E_206A_200D_202E_202E(IGameObject P_0)
{
return P_0.Address;
}
}
public enum EMountIf

View file

@ -1,3 +1,7 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
using Questionable.Model;
@ -11,66 +15,234 @@ internal static class NextQuest
{
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.CompleteQuest)
int num = ((_202A_206F_206D_206A_200D_206F_200C_206B_202E_202D_202A_206A_206F_200C_200C_206C_202E_206D_202C_206A_206E_202E_202A_200E_206E_202B_202E_202B_206B_202C_200B_200D_200C_202E_202D_200B_202C_202B_206E_206E_202E(step) == EInteractionType.CompleteQuest) ? (-1909378292) : (-1909378290));
while (true)
{
return null;
int num2 = num;
int num3 = -1909378291;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 7:
num = -1909378290;
break;
case 0:
return null;
case 5:
return new SetQuestTask(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step), quest.Id);
case 4:
return null;
case 1:
num = ((!_200B_202C_200B_206C_202A_200C_206F_206C_200D_202B_200F_200E_206A_200B_200D_202C_200E_206D_206B_202B_200C_202D_200D_206F_202D_200E_206A_202E_200B_202C_206A_202B_202D_206C_200B_200F_202E_206D_206B_206F_202E(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step), (ElementId)null)) ? (-1909378293) : (-1909378299));
break;
case 6:
num = ((!_200B_202C_200B_206C_202A_200C_206F_206C_200D_202B_200F_200E_206A_200B_200D_202C_200E_206D_206B_202B_200C_202D_200D_206F_202D_200E_206A_202E_200B_202C_206A_202B_202D_206C_200B_200F_202E_206D_206B_206F_202E(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step), quest.Id)) ? (-1909378289) : (-1909378295));
break;
case 2:
num = ((!questFunctions.GetPriorityQuests(onlyClassAndRoleQuests: true).Contains(_206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(step))) ? (-1909378296) : (-1909378291));
break;
case 3:
return null;
case 8:
return null;
}
}
if (step.NextQuestId == null)
{
return null;
}
if (step.NextQuestId == quest.Id)
{
return null;
}
if (questFunctions.GetPriorityQuests(onlyClassAndRoleQuests: true).Contains(step.NextQuestId))
{
return null;
}
return new SetQuestTask(step.NextQuestId, quest.Id);
}
static EInteractionType _202A_206F_206D_206A_200D_206F_200C_206B_202E_202D_202A_206A_206F_200C_200C_206C_202E_206D_202C_206A_206E_202E_202A_200E_206E_202B_202E_202B_206B_202C_200B_200D_200C_202E_202D_200B_202C_202B_206E_206E_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static ElementId _206F_206E_200D_200E_200B_202B_202B_202D_202D_202B_202E_202D_206F_200E_200B_200D_200E_200D_202B_202C_200E_202E_206C_200B_200E_200D_206D_206A_206F_202D_200C_200E_202B_206B_202D_206B_206E_202B_200B_200E_202E(QuestStep P_0)
{
return P_0.NextQuestId;
}
static bool _200B_202C_200B_206C_202A_200C_206F_206C_200D_202B_200F_200E_206A_200B_200D_202C_200E_206D_206B_202B_200C_202D_200D_206F_202D_200E_206A_202E_200B_202C_206A_202B_202D_206C_200B_200F_202E_206D_206B_206F_202E(ElementId P_0, ElementId P_1)
{
return P_0 == P_1;
}
}
internal sealed record SetQuestTask(ElementId NextQuestId, ElementId CurrentQuestId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200E_202A_206A_200C_200D_202E_206B_206B_202B_206F_200D_202C_200C_202C_206A_200C_206B_206C_206C_206F_200E_202B_206C_200B_200C_206B_202A_200D_202A_206A_200B_200C_202C_202D_206A_202D_206E_202C_200B_206D_202E(typeof(SetQuestTask).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"SetNextQuest({NextQuestId})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2031144159));
defaultInterpolatedStringHandler.AppendFormatted(NextQuestId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(424561659));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202E_206B_202E_200B_200D_200B_206F_206B_202D_202C_200C_200E_206B_206F_206C_202E_206A_206B_200D_202D_206B_206F_206F_202A_202C_206B_202C_206F_202C_206D_200E_200B_202B_202D_206C_200E_202D_206E_202D_200D_202E();
_206E_206A_206A_202B_200E_206D_206C_200B_200C_200E_206B_202A_200D_206E_206A_200E_206F_206F_202D_202E_206A_200E_202D_202C_200F_206F_206C_202D_206F_202C_202E_206C_200C_202B_202C_206A_206E_206F_202C_206F_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(129873473));
_202D_202A_206B_200E_206B_200C_206C_206D_202D_202D_202A_202B_200F_202B_206C_206E_202C_200C_206D_200F_206A_200F_200F_202E_200B_200F_206F_200F_200B_206F_202B_202D_200C_206A_200B_206F_200D_206C_200D_206F_202E(builder, (object)NextQuestId);
_206E_206A_206A_202B_200E_206D_206C_200B_200C_200E_206B_202A_200D_206E_206A_200E_206F_206F_202D_202E_206A_200E_202D_202C_200F_206F_206C_202D_206F_202C_202E_206C_200C_202B_202C_206A_206E_206F_202C_206F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1559739733));
_202D_202A_206B_200E_206B_200C_206C_206D_202D_202D_202A_202B_200F_202B_206C_206E_202C_200C_206D_200F_206A_200F_200F_202E_200B_200F_206F_200F_200B_206F_202B_202D_200C_206A_200B_206F_200D_206C_200D_206F_202E(builder, (object)CurrentQuestId);
return true;
}
[CompilerGenerated]
public bool Equals(SetQuestTask? other)
{
int num = (((object)this == other) ? (-1393326810) : (-1393326816));
while (true)
{
int num2 = num;
int num3 = -1393326814;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
return EqualityComparer<ElementId>.Default.Equals(CurrentQuestId, other.CurrentQuestId);
case 2:
num = (((object)other == null) ? (-1393326813) : (-1393326809));
break;
case 6:
num = ((!EqualityComparer<ElementId>.Default.Equals(NextQuestId, other.NextQuestId)) ? (-1393326813) : (-1393326815));
break;
case 4:
return true;
case 5:
num = ((!_206E_200E_200E_200D_202D_206B_206B_200E_200F_206E_202B_200B_202D_206C_202B_202B_200C_206E_200C_202B_202A_206D_202C_200B_206D_206E_206C_206E_202D_202C_200F_206B_200D_200D_200B_200C_202A_206F_200B_202D_202E(EqualityContract, other.EqualityContract)) ? (-1393326813) : (-1393326812));
break;
case 1:
return false;
case 0:
num = -1393326816;
break;
}
}
}
bool IEquatable<SetQuestTask>.Equals(SetQuestTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200E_202A_206A_200C_200D_202E_206B_206B_202B_206F_200D_202C_200C_202C_206A_200C_206B_206C_206C_206F_200E_202B_206C_200B_200C_206B_202A_200D_202A_206A_200B_200C_202C_202D_206A_202D_206E_202C_200B_206D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _202E_206B_202E_200B_200D_200B_206F_206B_202D_202C_200C_200E_206B_206F_206C_202E_206A_206B_200D_202D_206B_206F_206F_202A_202C_206B_202C_206F_202C_206D_200E_200B_202B_202D_206C_200E_202D_206E_202D_200D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206E_206A_206A_202B_200E_206D_206C_200B_200C_200E_206B_202A_200D_206E_206A_200E_206F_206F_202D_202E_206A_200E_202D_202C_200F_206F_206C_202D_206F_202C_202E_206C_200C_202B_202C_206A_206E_206F_202C_206F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202D_202A_206B_200E_206B_200C_206C_206D_202D_202D_202A_202B_200F_202B_206C_206E_202C_200C_206D_200F_206A_200F_200F_202E_200B_200F_206F_200F_200B_206F_202B_202D_200C_206A_200B_206F_200D_206C_200D_206F_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206E_200E_200E_200D_202D_206B_206B_200E_200F_206E_202B_200B_202D_206C_202B_202B_200C_206E_200C_202B_202A_206D_202C_200B_206D_206E_206C_206E_202D_202C_200F_206B_200D_200D_200B_200C_202A_206F_200B_202D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class NextQuestExecutor(QuestRegistry questRegistry, QuestController questController, QuestFunctions questFunctions, ILogger<NextQuestExecutor> logger) : TaskExecutor<SetQuestTask>()
{
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
QuestController.EAutomationType automationType = questController.AutomationType;
Quest quest;
if ((uint)(automationType - 3) <= 1u)
int num = (((uint)(automationType - 3) > 1u) ? (-54591417) : (-54591410));
bool flag = default(bool);
Quest quest = default(Quest);
while (true)
{
logger.LogInformation("Won't set next quest to {QuestId}, automation type is CurrentQuestOnly", base.Task.NextQuestId);
questController.SetNextQuest(null);
int num2 = num;
int num3 = -54591409;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = ((!flag) ? (-54591415) : (-54591411));
break;
case 8:
flag = false;
num = -54591409;
break;
case 7:
return true;
case 6:
num = ((!questFunctions.IsQuestLocked(base.Task.NextQuestId, base.Task.CurrentQuestId)) ? (-54591414) : (-54591418));
break;
case 3:
num = -54591410;
break;
case 2:
_206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-517035289), new object[1] { base.Task.NextQuestId });
questController.SetNextQuest(null);
num = -54591416;
break;
case 10:
_206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2109635352), new object[2]
{
base.Task.NextQuestId,
quest.Info.Name
});
questController.SetNextQuest(quest);
num = -54591416;
break;
case 9:
_206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1849595001), new object[1] { base.Task.NextQuestId });
questController.SetNextQuest(null);
num = -54591416;
break;
case 1:
flag = true;
num = -54591409;
break;
case 4:
_206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1489956066), new object[1] { base.Task.NextQuestId });
questController.SetNextQuest(null);
num = -54591416;
break;
case 5:
num = ((!questRegistry.TryGetQuest(base.Task.NextQuestId, out quest)) ? (-54591413) : (-54591419));
break;
}
}
else if (questFunctions.IsQuestLocked(base.Task.NextQuestId, base.Task.CurrentQuestId))
{
logger.LogInformation("Can't set next quest to {QuestId}, quest is locked", base.Task.NextQuestId);
questController.SetNextQuest(null);
}
else if (questRegistry.TryGetQuest(base.Task.NextQuestId, out quest))
{
logger.LogInformation("Setting next quest to {QuestId}: '{QuestName}'", base.Task.NextQuestId, quest.Info.Name);
questController.SetNextQuest(quest);
}
else
{
logger.LogInformation("Next quest with id {QuestId} not found", base.Task.NextQuestId);
questController.SetNextQuest(null);
}
return true;
}
public override ETaskResult Update()
@ -82,5 +254,10 @@ internal static class NextQuest
{
return false;
}
static void _206A_200F_206F_206E_200E_200E_206D_202C_200C_200D_202C_200C_202D_206F_202A_202A_200B_200E_200E_202D_202B_200D_206A_206E_200B_200F_206E_202C_206E_206E_200D_202C_206E_200F_200F_200E_206C_206F_206C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
}
}

View file

@ -0,0 +1,628 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Plugin.Services;
using LLib.Gear;
using Microsoft.Extensions.Logging;
using Questionable.Data;
using Questionable.Functions;
namespace Questionable.Controller.Steps.Common;
internal static class RepairGear
{
internal sealed record SelfRepairTask : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200D_206E_202A_200E_206D_200C_206C_202B_202C_200E_202A_200B_202D_206B_200F_200C_206C_200E_202A_206A_200C_206D_202C_206A_200D_206A_202D_200D_202B_202A_202C_200E_202B_200B_206E_206F_202E_200D_202A_202E(typeof(SelfRepairTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1902425230);
}
[CompilerGenerated]
public bool Equals(SelfRepairTask? other)
{
int num = (((object)this == other) ? 995045173 : 995045172);
while (true)
{
int num2 = num;
int num3 = 995045173;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = 995045172;
break;
case 0:
return true;
case 4:
return false;
case 1:
num = (((object)other == null) ? 995045169 : 995045174);
break;
case 3:
return _202D_206A_200F_202A_206B_200E_200E_200D_200C_206B_200D_206F_206E_202C_200E_206B_200E_200C_206C_206E_202C_202C_206D_200D_202C_206B_206C_206A_202D_202B_206C_206E_202A_200B_200E_202E_202E_202C_202B_200C_202E(EqualityContract, other.EqualityContract);
}
}
}
bool IEquatable<SelfRepairTask>.Equals(SelfRepairTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200D_206E_202A_200E_206D_200C_206C_202B_202C_200E_202A_200B_202D_206B_200F_200C_206C_200E_202A_206A_200C_206D_202C_206A_200D_206A_202D_200D_202B_202A_202C_200E_202B_200B_206E_206F_202E_200D_202A_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static bool _202D_206A_200F_202A_206B_200E_200E_200D_200C_206B_200D_206F_206E_202C_200E_206B_200E_200C_206C_206E_202C_202C_206D_200D_202C_206B_206C_206A_202D_202B_206C_206E_202A_200B_200E_202E_202E_202C_202B_200C_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed record MenderRepairTask(MenderNpc Npc) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202C_206D_202C_206A_200D_206E_202E_200F_206E_206A_200F_206B_200B_200C_202B_202C_202A_202E_206A_200D_206C_202A_206F_200B_206E_206B_206D_202A_200F_206E_202E_202B_202B_206F_202C_202D_200F_206A_200D_200E_202E(typeof(MenderRepairTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(14, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1987309815));
defaultInterpolatedStringHandler.AppendFormatted(Npc.DataId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206E_200D_206E_202B_200E_200B_200F_202C_200C_202D_206D_202D_202B_206C_206B_206B_200E_200B_200D_200D_200C_202C_200C_202E_200B_200D_206D_202E_200B_200C_200F_206D_202D_202D_200B_200C_202E_200B_206B_200F_202E();
_202C_202D_206F_202B_202C_206B_206F_202B_200C_200D_206D_206A_206B_200E_200B_202B_202D_200F_200B_200F_200D_200E_202C_200D_200E_206D_206B_206B_202B_200C_202B_206E_206A_206C_200B_200E_206E_200C_206A_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-2086626931));
_206A_206B_202A_202E_200D_202D_202D_206B_200B_200E_200F_206A_206D_200F_200E_206A_202B_202D_200F_200C_200F_200F_202B_206C_206B_200F_206A_206D_206F_206F_206B_202B_206B_206F_206B_200B_200B_200C_200D_202A_202E(builder, (object)Npc);
return true;
}
[CompilerGenerated]
public bool Equals(MenderRepairTask? other)
{
int num = (((object)this == other) ? (-799172425) : (-799172431));
while (true)
{
int num2 = num;
int num3 = -799172430;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return EqualityComparer<MenderNpc>.Default.Equals(Npc, other.Npc);
case 5:
return true;
case 4:
num = -799172431;
break;
case 2:
num = ((!_206B_200D_202E_206B_202B_200D_200B_206E_202B_206C_200D_202E_206D_206E_202D_202C_202C_202D_200D_202D_202A_200D_206F_200B_206C_200E_202C_206F_200E_202A_206F_202B_206F_206D_200E_202A_202B_202C_202C_202A_202E(EqualityContract, other.EqualityContract)) ? (-799172430) : (-799172429));
break;
case 0:
return false;
case 3:
num = (((object)other == null) ? (-799172430) : (-799172432));
break;
}
}
}
bool IEquatable<MenderRepairTask>.Equals(MenderRepairTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202C_206D_202C_206A_200D_206E_202E_200F_206E_206A_200F_206B_200B_200C_202B_202C_202A_202E_206A_200D_206C_202A_206F_200B_206E_206B_206D_202A_200F_206E_202E_202B_202B_206F_202C_202D_200F_206A_200D_200E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206E_200D_206E_202B_200E_200B_200F_202C_200C_202D_206D_202D_202B_206C_206B_206B_200E_200B_200D_200D_200C_202C_200C_202E_200B_200D_206D_202E_200B_200C_200F_206D_202D_202D_200B_200C_202E_200B_206B_200F_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202C_202D_206F_202B_202C_206B_206F_202B_200C_200D_206D_206A_206B_200E_200B_202B_202D_200F_200B_200F_200D_200E_202C_200D_200E_206D_206B_206B_202B_200C_202B_206E_206A_206C_200B_200E_206E_200C_206A_206A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206A_206B_202A_202E_200D_202D_202D_206B_200B_200E_200F_206A_206D_200F_200E_206A_202B_202D_200F_200C_200F_200F_202B_206C_206B_200F_206A_206D_206F_206F_206B_202B_206B_206F_206B_200B_200B_200C_200D_202A_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206B_200D_202E_206B_202B_200D_200B_206E_202B_206C_200D_202E_206D_206E_202D_202C_202C_202D_200D_202D_202A_200D_206F_200B_206C_200E_202C_206F_200E_202A_206F_202B_206F_206D_200E_202A_202B_202C_202C_202A_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal enum EState
{
Interacting,
SelectingMenu,
OpeningWindow,
WaitingForAddon,
FiringRepair,
Confirming,
Settling,
Closing,
WaitingForClose
}
internal abstract class RepairExecutorBase<T>(IGameGui gameGui, ILogger logger) : TaskExecutor<T>(), IStoppableTaskExecutor, ITaskExecutor where T : class, ITask
{
private const long StateTimeoutMs = 5000L;
private const long SettleMs = 1000L;
private const long PollIntervalMs = 250L;
private const int MaxAttempts = 3;
private EState _state;
private long _stateDeadline;
private long _nextPollAt;
private int? _conditionBefore;
private int _attempt;
protected IGameGui GameGui { get; } = gameGui;
protected ILogger Logger { get; } = logger;
protected abstract EState InitialState { get; }
protected abstract bool UpdateCustomState(EState state);
protected sealed override bool Start()
{
_conditionBefore = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E();
_attempt = 1;
EnterState(InitialState);
_nextPollAt = 0L;
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public sealed override ETaskResult Update()
{
long num = _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E();
int num2 = ((num >= _nextPollAt) ? 2095781305 : 2095781289);
while (true)
{
int num3 = num2;
int num4 = 2095781295;
int num5 = num3;
switch ((num5 | num4) - (num5 & num4))
{
case 11:
num2 = 2095781289;
break;
case 5:
num2 = (UpdateCustomState(_state) ? 2095781294 : 2095781281);
break;
case 1:
return ETaskResult.StillRunning;
case 12:
num2 = 2095781290;
break;
case 22:
{
long num6 = 250L;
long num7 = num;
_nextPollAt = (num7 | num6) + (num7 & num6);
num2 = ((num <= _stateDeadline) ? 2095781287 : 2095781309);
break;
}
case 17:
EnterState(EState.FiringRepair);
num2 = 2095781294;
break;
case 6:
return ETaskResult.StillRunning;
case 3:
goto IL_0140;
case 24:
goto IL_0166;
case 4:
goto IL_018c;
case 19:
_200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(GameGui);
num2 = 2095781294;
break;
case 8:
switch (_state)
{
case EState.Settling:
break;
case EState.Confirming:
goto IL_0140;
case EState.WaitingForClose:
goto IL_0166;
case EState.FiringRepair:
goto IL_018c;
default:
goto IL_01f4;
case EState.Closing:
goto IL_0245;
case EState.WaitingForAddon:
goto IL_026b;
case EState.OpeningWindow:
goto IL_0291;
}
goto case 1;
case 18:
num2 = ((_state != EState.Settling) ? 2095781304 : 2095781302);
break;
case 13:
EnterState(EState.Settling);
num2 = 2095781294;
break;
case 25:
EnterState(EState.Closing);
num2 = 2095781287;
break;
case 15:
goto IL_0245;
case 20:
goto IL_026b;
case 7:
goto IL_0291;
case 16:
EnterState(EState.WaitingForAddon);
num2 = 2095781294;
break;
case 0:
EnterState(EState.Settling);
num2 = 2095781294;
break;
case 21:
EnterState(EState.WaitingForClose);
num2 = 2095781294;
break;
case 10:
EnterState(EState.Confirming);
num2 = 2095781294;
break;
case 23:
_206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(Logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-310683176), new object[2]
{
_state,
_200B_200E_200E_202D_202A_206F_206F_202A_202B_206D_200C_200D_202B_202B_206E_206F_206E_206B_206E_202C_202D_202E_202B_206C_200D_202A_200C_202A_200F_206F_206D_202E_202D_202E_202B_206B_206B_200F_206E_200E_202E(GameGui)
});
_202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui);
return Finish();
case 2:
return Finish();
case 9:
num2 = ((!HasConditionImproved()) ? 2095781308 : 2095781295);
break;
case 14:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1145949598));
defaultInterpolatedStringHandler.AppendFormatted(_state);
throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear());
}
IL_018c:
num2 = ((!_200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(GameGui)) ? 2095781294 : 2095781285);
break;
IL_0166:
num2 = (_206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(GameGui) ? 2095781294 : 2095781293);
break;
IL_0291:
num2 = ((!_202A_202E_202D_200D_200C_202E_206C_200C_206C_206F_202B_200D_206E_206A_206D_202C_206D_206F_200C_202B_202A_206B_206E_202C_200C_202D_200C_202D_206D_200C_200B_200D_200D_202C_202C_206A_206E_200F_202D_206E_202E()) ? 2095781294 : 2095781311);
break;
IL_026b:
num2 = ((!_206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(GameGui)) ? 2095781294 : 2095781310);
break;
IL_0140:
num2 = ((!_202E_202D_206A_202E_206D_206F_206E_200B_202A_202E_200C_200F_200D_202C_206E_206C_200F_200C_202A_206C_202C_200C_206D_200E_200E_202B_200F_202D_200B_202B_200C_202E_206E_206C_202C_206C_206D_200E_202B_206E_202E(GameGui)) ? 2095781286 : 2095781282);
break;
IL_0245:
num2 = ((!_202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui)) ? 2095781294 : 2095781306);
break;
IL_01f4:
num2 = 2095781283;
break;
}
}
}
protected void EnterState(EState state)
{
_state = state;
_stateDeadline = _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E() + ((state == EState.Settling) ? 1000 : 5000);
}
private bool HasConditionImproved()
{
int? num = _conditionBefore;
int num2 = ((!num.HasValue) ? (-1406824238) : (-1406824240));
int valueOrDefault = default(int);
while (true)
{
int num3 = num2;
int num4 = -1406824237;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 0:
num2 = -1406824240;
break;
case 2:
{
int valueOrDefault2 = num.GetValueOrDefault();
return valueOrDefault2 > valueOrDefault;
}
case 1:
return false;
case 3:
valueOrDefault = num.GetValueOrDefault();
num = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E();
num2 = ((!num.HasValue) ? (-1406824238) : (-1406824239));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private ETaskResult Finish()
{
int? num = _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E();
int num2 = ((!HasConditionImproved()) ? 1917505746 : 1917505745);
while (true)
{
int num3 = num2;
int num4 = 1917505746;
int num5 = num3;
switch ((num5 | num4) - (num5 & num4))
{
case 1:
{
int attempt = _attempt;
num4 = 1;
num5 = attempt;
_attempt = (num5 | num4) + (num5 & num4);
_206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(Logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(146386847), new object[3] { num, _attempt, 3 });
_202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui);
EnterState(InitialState);
return ETaskResult.StillRunning;
}
case 3:
_200E_206D_202E_200B_202B_202E_200E_202E_206F_202D_202B_206D_202B_206F_202D_206E_202B_202B_202C_200E_202B_200D_202A_202C_202B_200B_202D_202C_206F_202D_206E_202B_200E_206D_206E_202D_200E_206E_200F_206F_202E(Logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1763627757), new object[2] { _conditionBefore, num });
return ETaskResult.TaskComplete;
case 0:
num2 = ((_attempt >= 3) ? 1917505750 : 1917505747);
break;
case 2:
num2 = 1917505745;
break;
case 4:
_206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(Logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1921865562), new object[1] { num });
return ETaskResult.TaskComplete;
}
}
}
public void StopNow()
{
_202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(GameGui);
}
void IStoppableTaskExecutor.StopNow()
{
//ILSpy generated this explicit interface implementation from .override directive in StopNow
this.StopNow();
}
static int? _206F_202D_200D_200E_202D_206E_202B_200D_206B_200B_206A_202B_202C_200D_202C_200B_206A_202E_206D_200F_200C_206F_200B_200E_200E_202E_200F_202D_200F_206E_206A_202E_206A_200D_206B_206F_206E_206A_200B_202E_202E()
{
return GearConditionHelper.GetLowestConditionPercent();
}
static long _206B_202D_202A_206E_206C_206F_206F_202B_206E_202E_200E_202B_200F_200F_200F_202C_206A_206D_206D_202E_206A_202B_200E_206C_206E_200D_206B_200F_200B_206C_206B_206D_200D_206E_206A_206A_202A_206A_206E_206D_202E()
{
return Environment.TickCount64;
}
static string _200B_200E_200E_202D_202A_206F_206F_202A_202B_206D_200C_200D_202B_202B_206E_206F_206E_206B_206E_202C_202D_202E_202B_206C_200D_202A_200C_202A_200F_206F_206D_202E_202D_202E_202B_206B_206B_200F_206E_200E_202E(IGameGui P_0)
{
return RepairActions.DescribeRepairAddon(P_0);
}
static void _206F_200D_206B_206E_200D_202E_200E_206D_206F_200D_200F_200F_200E_200C_200C_200E_200C_206A_200C_200C_202B_206F_202D_206D_200B_202D_206E_200F_206E_206D_206F_200C_206C_202A_206F_200D_200F_206D_206D_202B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static bool _202D_200E_202D_202E_200E_202B_200E_206E_200F_202C_202B_202E_202B_202E_206C_200C_206F_200E_206D_200E_200E_206A_206D_200C_206B_200C_202B_202A_202E_206A_202B_206D_200E_200F_206E_200C_202E_202C_206C_206D_202E(IGameGui P_0)
{
return RepairActions.TryCloseRepairWindow(P_0);
}
static bool _202A_202E_202D_200D_200C_202E_206C_200C_206C_206F_202B_200D_206E_206A_206D_202C_206D_206F_200C_202B_202A_206B_206E_202C_200C_202D_200C_202D_206D_200C_200B_200D_200D_202C_202C_206A_206E_200F_202D_206E_202E()
{
return RepairActions.TryOpenRepairWindow();
}
static bool _206B_202C_206A_202C_206F_206D_202E_202B_206B_206D_202C_206D_202B_206B_206E_200B_202C_202D_206C_200C_202E_202C_200D_202A_200C_200F_200F_200C_202E_200D_200E_206C_206C_200C_200C_200E_200F_206A_200D_202B_202E(IGameGui P_0)
{
return RepairActions.IsRepairAddonReady(P_0);
}
static bool _200B_202E_200B_206C_202C_202C_206E_206D_202B_200F_200C_200B_202E_206C_202D_202E_206B_200D_200F_200B_206D_202C_200C_206E_206F_202B_200E_206C_206E_200D_200F_200B_206A_200B_202A_200C_202B_200C_200F_200E_202E(IGameGui P_0)
{
return RepairActions.TryRepairAll(P_0);
}
static bool _202E_202D_206A_202E_206D_206F_206E_200B_202A_202E_200C_200F_200D_202C_206E_206C_200F_200C_202A_206C_202C_200C_206D_200E_200E_202B_200F_202D_200B_202B_200C_202E_206E_206C_202C_206C_206D_200E_202B_206E_202E(IGameGui P_0)
{
return RepairActions.TryConfirmDialog(P_0);
}
static void _200E_206D_202E_200B_202B_202E_200E_202E_206F_202D_202B_206D_202B_206F_202D_206E_202B_202B_202C_200E_202B_200D_202A_202C_202B_200B_202D_202C_206F_202D_206E_202B_200E_206D_206E_202D_200E_206E_200F_206F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
}
internal sealed class SelfRepairExecutor : RepairExecutorBase<SelfRepairTask>
{
protected override EState InitialState => EState.OpeningWindow;
public SelfRepairExecutor(IGameGui gameGui, ILogger<SelfRepairExecutor> logger)
: base(gameGui, (ILogger)logger)
{
}
protected override bool UpdateCustomState(EState state)
{
return false;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
}
internal sealed class MenderRepairExecutor : RepairExecutorBase<MenderRepairTask>
{
protected override EState InitialState => EState.Interacting;
public MenderRepairExecutor(IGameGui gameGui, GameFunctions gameFunctions, IDataManager dataManager, ILogger<MenderRepairExecutor> logger)
{
_003CgameFunctions_003EP = gameFunctions;
_003CdataManager_003EP = dataManager;
base._002Ector(gameGui, (ILogger)logger);
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool UpdateCustomState(EState state)
{
int num = ((state == EState.Interacting) ? 293305294 : 293305289);
int? num7 = default(int?);
while (true)
{
int num2 = num;
int num3 = 293305291;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 12:
EnterState(EState.FiringRepair);
return true;
case 11:
return true;
case 2:
num = ((state == EState.SelectingMenu) ? 293305290 : 293305282);
break;
case 5:
num = ((!_003CgameFunctions_003EP.InteractWith(base.Task.Npc.DataId)) ? 293305280 : 293305283);
break;
case 9:
num = 293305281;
break;
case 4:
_202E_200D_202B_202E_202A_200F_206B_206A_200E_206D_206D_206A_206A_202D_202D_200D_200C_200F_202A_206F_202D_202A_200F_206D_202B_200D_206B_206D_206F_200D_202C_200D_206A_202D_202C_202A_206D_200C_200F_200C_202E(base.Logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(2096442858), new object[1] { base.Task.Npc.DataId });
EnterState(EState.Closing);
return true;
case 0:
num = ((!_206D_200B_200C_206A_200B_202E_200B_200F_206D_200C_200D_206D_206E_206D_202C_202B_206A_202D_202C_206B_202D_202D_206A_202B_206E_206F_200D_202D_200C_202B_202D_200E_206B_200B_200B_202B_200B_206C_202E(base.GameGui, num7.Value)) ? 293305292 : 293305288);
break;
case 6:
num7 = _202E_200D_202B_206B_200E_200D_206B_200C_200B_202C_200F_200F_206A_200E_202C_206C_200C_202C_202D_202A_202A_206C_206F_206C_200F_200E_200B_200F_206C_202D_206B_202E_206E_202B_202A_200B_202E_200B_206C_206A_202E(_003CdataManager_003EP, base.Task.Npc.DataId);
num = (num7.HasValue ? 293305291 : 293305295);
break;
case 3:
EnterState(EState.WaitingForAddon);
num = 293305292;
break;
case 10:
return false;
case 13:
num = 293305289;
break;
case 1:
num = ((!_206D_202D_200D_200B_202D_202C_206E_206E_202C_206E_206F_206A_200D_206C_200C_202C_202C_206C_206D_200B_200F_206D_200E_202C_202A_206B_206F_200E_206C_200F_206C_202A_200C_206B_206C_200B_200B_200E_202E_202E(base.GameGui)) ? 293305293 : 293305287);
break;
case 8:
EnterState(EState.SelectingMenu);
num = 293305280;
break;
case 7:
return true;
}
}
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static bool _206D_202D_200D_200B_202D_202C_206E_206E_202C_206E_206F_206A_200D_206C_200C_202C_202C_206C_206D_200B_200F_206D_200E_202C_202A_206B_206F_200E_206C_200F_206C_202A_200C_206B_206C_200B_200B_200E_202E_202E(IGameGui P_0)
{
return RepairActions.IsRepairAddonReady(P_0);
}
static int? _202E_200D_202B_206B_200E_200D_206B_200C_200B_202C_200F_200F_206A_200E_202C_206C_200C_202C_202D_202A_202A_206C_206F_206C_200F_200E_200B_200F_206C_202D_206B_202E_206E_202B_202A_200B_202E_200B_206C_206A_202E(IDataManager P_0, uint P_1)
{
return RepairActions.FindRepairIndex(P_0, P_1);
}
static void _202E_200D_202B_202E_202A_200F_206B_206A_200E_206D_206D_206A_206A_202D_202D_200D_200C_200F_202A_206F_202D_202A_200F_206D_202B_200D_206B_206D_206F_200D_202C_200D_206A_202D_202C_202A_206D_200C_200F_200C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static bool _206D_200B_200C_206A_200B_202E_200B_200F_206D_200C_200D_206D_206E_206D_202C_202B_206A_202D_202C_206B_202D_202D_206A_202B_206E_206F_200D_202D_200C_202B_202D_200E_206B_200B_200B_202B_200B_206C_202E(IGameGui P_0, int P_1)
{
return RepairActions.TrySelectRepairFromMenu(P_0, P_1);
}
}
}

View file

@ -1,3 +1,7 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.Text;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Plugin.Services;
@ -5,144 +9,410 @@ using Questionable.Data;
using Questionable.External;
using Questionable.Model;
using Questionable.Model.Questing;
using Questionable.Notifications;
namespace Questionable.Controller.Steps.Common;
internal static class SendNotification
{
internal sealed class Factory(Configuration configuration, AutoDutyIpc autoDutyIpc, BossModIpc bossModIpc, TerritoryData territoryData) : SimpleTaskFactory()
internal sealed class Factory(Configuration configuration, AutoDutyIpc autoDutyIpc, AutoHookIpc autoHookIpc, BossModIpc bossModIpc, TerritoryData territoryData) : SimpleTaskFactory()
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
switch (step.InteractionType)
EInteractionType eInteractionType = _202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step);
int num = ((eInteractionType > EInteractionType.SinglePlayerDuty) ? (-1478149782) : (-1478149769));
Task result = default(Task);
while (true)
{
case EInteractionType.Snipe:
if (!configuration.General.AutoSnipe)
int num2 = num;
int num3 = -1478149766;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
return new Task(step.InteractionType, step.Comment);
}
break;
case EInteractionType.Duty:
if (!autoDutyIpc.IsConfiguredToRunContent(step.DutyOptions))
case 4:
num = -1478149773;
break;
case 1:
num = (autoHookIpc.IsAvailable() ? (-1478149773) : (-1478149767));
break;
case 11:
num = (bossModIpc.IsConfiguredToRunSoloInstance(quest.Id, _202B_206C_206E_202D_202E_206F_206B_200E_200B_202D_200C_206C_206E_200F_206D_202E_206D_200C_200D_200D_202C_206B_206D_200D_200B_200C_206A_200B_200C_206E_202C_206E_202B_202A_202B_200E_206F_200D_206A_206A_202E(step)) ? (-1478149773) : (-1478149776));
break;
case 15:
return result;
case 13:
num = ((eInteractionType == EInteractionType.Duty) ? (-1478149761) : (-1478149763));
break;
case 0:
{
EInteractionType interactionType = step.InteractionType;
uint? num = step.DutyOptions?.ContentFinderConditionId;
EInteractionType interactionType = _202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step);
DutyOptions dutyOptions = _200F_200C_206E_206F_206B_202E_206B_200E_202D_202D_202C_202D_200D_202E_202E_200E_206A_200E_202A_200C_200B_206F_206C_206F_200C_200B_200F_206A_202D_202D_206F_202D_206A_202E_202D_200D_200F_202A_202D_202E(step);
uint? num5 = ((dutyOptions != null) ? new uint?(_202C_200E_202A_200D_200D_202D_200D_200B_200E_206F_206F_206C_200D_202C_200C_202D_206F_200E_202B_200B_200C_200D_206D_206B_206D_200D_206B_200D_202E_202B_206E_200B_202D_206C_200B_200E_206C_202D_202E_206D_202E(dutyOptions)) : ((uint?)null));
object comment;
if (num.HasValue)
if (num5.HasValue)
{
uint valueOrDefault = num.GetValueOrDefault();
uint valueOrDefault = num5.GetValueOrDefault();
comment = territoryData.GetContentFinderCondition(valueOrDefault)?.Name;
}
else
{
comment = step.Comment;
comment = _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(step);
}
return new Task(interactionType, (string?)comment);
result = new Task(interactionType, (string?)comment);
num = -1478149771;
break;
}
break;
case EInteractionType.SinglePlayerDuty:
if (!bossModIpc.IsConfiguredToRunSoloInstance(quest.Id, step.SinglePlayerDutyOptions))
{
return new Task(step.InteractionType, quest.Info.Name);
case 3:
result = new Task(_202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step), _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(step) ?? global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1221849415));
num = -1478149771;
break;
case 6:
num = -1478149773;
break;
case 2:
num = (configuration.General.AutoSnipe ? (-1478149773) : (-1478149772));
break;
case 12:
num = ((eInteractionType == EInteractionType.Fish) ? (-1478149765) : (-1478149764));
break;
case 14:
result = new Task(_202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step), _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(step));
num = -1478149771;
break;
case 5:
num = (autoDutyIpc.IsConfiguredToRunContent(_200F_200C_206E_206F_206B_202E_206B_200E_202D_202D_202C_202D_200D_202E_202E_200E_206A_200E_202A_200C_200B_206F_206C_206F_200C_200B_200F_206A_202D_202D_206F_202D_206A_202E_202D_200D_200F_202A_202D_202E(step)) ? (-1478149773) : (-1478149766));
break;
case 9:
result = null;
num = -1478149771;
break;
case 10:
result = new Task(_202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(step), quest.Info.Name);
num = -1478149771;
break;
case 16:
num = ((eInteractionType == EInteractionType.Snipe) ? (-1478149768) : (-1478149770));
break;
case 7:
num = ((eInteractionType == EInteractionType.SinglePlayerDuty) ? (-1478149775) : (-1478149762));
break;
case 8:
num = -1478149769;
break;
}
break;
}
return null;
}
static EInteractionType _202E_200B_202D_202D_200C_200E_202D_202E_202B_200C_206A_200D_200C_202D_206E_206A_200F_206B_206B_202C_206C_202B_200B_200B_206F_200E_202B_200B_206A_202A_206E_200E_206E_202A_202A_206B_200C_202C_206A_200F_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static string _206F_206E_206A_202C_202E_200E_206F_202C_206F_206E_206F_206F_206C_202A_200C_202B_202A_206A_200D_202C_202C_206F_202A_202B_206B_200F_200C_206C_200C_206C_200E_202C_202C_202B_202C_206E_202B_206C_206C_206E_202E(QuestStep P_0)
{
return P_0.Comment;
}
static DutyOptions _200F_200C_206E_206F_206B_202E_206B_200E_202D_202D_202C_202D_200D_202E_202E_200E_206A_200E_202A_200C_200B_206F_206C_206F_200C_200B_200F_206A_202D_202D_206F_202D_206A_202E_202D_200D_200F_202A_202D_202E(QuestStep P_0)
{
return P_0.DutyOptions;
}
static uint _202C_200E_202A_200D_200D_202D_200D_200B_200E_206F_206F_206C_200D_202C_200C_202D_206F_200E_202B_200B_200C_200D_206D_206B_206D_200D_206B_200D_202E_202B_206E_200B_202D_206C_200B_200E_206C_202D_202E_206D_202E(DutyOptions P_0)
{
return P_0.ContentFinderConditionId;
}
static SinglePlayerDutyOptions _202B_206C_206E_202D_202E_206F_206B_200E_200B_202D_200C_206C_206E_200F_206D_202E_206D_200C_200D_200D_202C_206B_206D_200D_200B_200C_206A_200B_200C_206E_202C_206E_202B_202A_202B_200E_206F_200D_206A_206A_202E(QuestStep P_0)
{
return P_0.SinglePlayerDutyOptions;
}
}
internal sealed record Task(EInteractionType InteractionType, string? Comment) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202B_206F_206A_202C_200B_202C_206E_202E_206C_206A_200D_202E_206C_200D_200F_202B_206C_200F_202D_206A_206E_202E_202E_202C_200C_206B_202A_202C_200F_206E_200B_206A_206E_206A_206E_200B_206C_206B_202A_200E_202E(typeof(Task).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "SendNotification";
return global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1681305913);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206E_206C_202B_200D_206C_200F_206B_200F_202E_200E_200B_206E_206B_200C_206B_206A_202B_206D_202A_200C_200F_206B_200D_200F_202D_200D_200D_206A_200F_206E_200F_202A_202A_200F_200C_202B_206B_206E_202A_202A_202E();
_200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(702947867));
_200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_202E(builder, InteractionType.ToString());
_200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(430956117));
_202E_202C_200C_206C_202E_206C_206F_206E_202B_200B_200D_206C_200D_202B_206B_202C_200C_206E_206D_206E_206E_200B_206A_202E_200D_206B_200D_202B_202A_202E_200D_206C_206C_206F_206A_200B_200D_200E_202C_202B_202E(builder, (object?)Comment);
return true;
}
[CompilerGenerated]
public bool Equals(Task? other)
{
int num = (((object)this == other) ? (-845795892) : (-845795894));
while (true)
{
int num2 = num;
int num3 = -845795889;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
num = ((!_206C_200B_202D_200D_200D_206B_206C_200D_200F_200C_200F_202B_200F_200C_206A_202E_200F_206E_206C_202C_202B_202D_206F_200C_206A_206A_202D_206D_206B_200E_206E_202D_200F_200C_200D_206A_202A_206D_202C_206F_202E(EqualityContract, other.EqualityContract)) ? (-845795895) : (-845795891));
break;
case 5:
num = (((object)other == null) ? (-845795895) : (-845795893));
break;
case 6:
return false;
case 0:
num = -845795894;
break;
case 2:
num = ((!EqualityComparer<EInteractionType>.Default.Equals(InteractionType, other.InteractionType)) ? (-845795895) : (-845795890));
break;
case 1:
return EqualityComparer<string>.Default.Equals(Comment, other.Comment);
case 3:
return true;
}
}
}
bool IEquatable<Task>.Equals(Task? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type? _202B_206F_206A_202C_200B_202C_206E_202E_206C_206A_200D_202E_206C_200D_200F_202B_206C_200F_202D_206A_206E_202E_202E_202C_200C_206B_202A_202C_200F_206E_200B_206A_206E_206A_206E_200B_206C_206B_202A_200E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206E_206C_202B_200D_206C_200F_206B_200F_202E_200E_200B_206E_206B_200C_206B_206A_202B_206D_202A_200C_200F_206B_200D_200F_202D_200D_200D_206A_200F_206E_200F_202A_202A_200F_200C_202B_206B_206E_202A_202A_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder? _200B_206B_202A_206F_200F_200E_206D_200D_202C_206F_206C_202E_202D_206B_202B_200F_202C_202A_200F_200F_200E_206B_200D_200C_202A_200B_200F_200F_202C_206B_202E_200F_206B_202E_206A_206C_202D_200E_206F_206D_202E(StringBuilder? P_0, string? P_1)
{
return P_0.Append(P_1);
}
static StringBuilder? _202E_202C_200C_206C_202E_206C_206F_206E_202B_200B_200D_206C_200D_202B_206B_202C_200C_206E_206D_206E_206E_200B_206A_202E_200D_206B_200D_202B_202A_202E_200D_206C_206C_206F_206A_200B_200D_200E_202C_202B_202E(StringBuilder? P_0, object? P_1)
{
return P_0.Append(P_1);
}
static bool _206C_200B_202D_200D_200D_206B_206C_200D_200F_200C_200F_202B_200F_200C_206A_202E_200F_206E_206C_202C_202B_202D_206F_200C_206A_206A_202D_206D_206B_200E_206E_202D_200F_200C_200D_206A_202A_206D_202C_206F_202E(Type? P_0, Type? P_1)
{
return P_0 == P_1;
}
}
internal sealed class Executor(IChatGui chatGui, Configuration configuration) : TaskExecutor<Task>()
internal sealed class Executor(NotificationService notificationService, IChatGui chatGui, Configuration configuration) : TaskExecutor<Task>()
{
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
if (!configuration.Notifications.Enabled)
int num = (configuration.Notifications.Enabled ? 1129159902 : 1129159890);
string text = default(string);
string text2 = default(string);
EInteractionType interactionType = default(EInteractionType);
XivChatType chatType = default(XivChatType);
XivChatEntry xivChatEntry2 = default(XivChatEntry);
while (true)
{
return false;
}
string text;
switch (base.Task.InteractionType)
{
case EInteractionType.Duty:
text = "Duty";
break;
case EInteractionType.SinglePlayerDuty:
text = "Single player duty";
break;
case EInteractionType.WaitForManualProgress:
case EInteractionType.Snipe:
case EInteractionType.Instruction:
text = "Manual interaction required";
break;
default:
text = $"{base.Task.InteractionType}";
break;
}
string text2 = text;
if (!string.IsNullOrEmpty(base.Task.Comment))
{
text2 = text2 + " - " + base.Task.Comment;
}
if (configuration.Notifications.ChatType != XivChatType.None)
{
XivChatEntry xivChatEntry;
switch (configuration.Notifications.ChatType)
int num2 = num;
int num3 = 1129159886;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case XivChatType.Say:
case XivChatType.Shout:
case XivChatType.TellOutgoing:
case XivChatType.TellIncoming:
case XivChatType.Party:
case XivChatType.Alliance:
case XivChatType.Ls1:
case XivChatType.Ls2:
case XivChatType.Ls3:
case XivChatType.Ls4:
case XivChatType.Ls5:
case XivChatType.Ls6:
case XivChatType.Ls7:
case XivChatType.Ls8:
case XivChatType.FreeCompany:
case XivChatType.NoviceNetwork:
case XivChatType.Yell:
case XivChatType.CrossParty:
case XivChatType.PvPTeam:
case XivChatType.CrossLinkShell1:
case XivChatType.NPCDialogue:
case XivChatType.NPCDialogueAnnouncements:
case XivChatType.CrossLinkShell2:
case XivChatType.CrossLinkShell3:
case XivChatType.CrossLinkShell4:
case XivChatType.CrossLinkShell5:
case XivChatType.CrossLinkShell6:
case XivChatType.CrossLinkShell7:
case XivChatType.CrossLinkShell8:
xivChatEntry = new XivChatEntry
{
Message = text2,
Type = configuration.Notifications.ChatType,
Name = new SeStringBuilder().AddUiForeground("Questionable", 576).Build()
};
case 18:
text = $"{base.Task.InteractionType}";
num = 1129159877;
break;
default:
xivChatEntry = new XivChatEntry
case 8:
text = global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-279581808);
num = 1129159877;
break;
case 10:
num = 1129159915;
break;
case 6:
num = 1129159900;
break;
case 21:
notificationService.Notify(base.Task.InteractionType, text2);
return true;
case 33:
num = ((interactionType == EInteractionType.Snipe) ? 1129159891 : 1129159880);
break;
case 3:
switch (interactionType)
{
Message = new SeStringBuilder().AddUiForeground("[Questionable] ", 576).Append(text2).Build(),
Type = configuration.Notifications.ChatType
};
case EInteractionType.Duty:
break;
default:
goto IL_019b;
case EInteractionType.WaitForManualProgress:
goto IL_037c;
case EInteractionType.SinglePlayerDuty:
goto IL_0559;
}
goto case 8;
case 30:
text = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1806447196);
num = 1129159877;
break;
case 23:
num = 1129159900;
break;
case 22:
num = 1129159890;
break;
case 28:
return false;
case 11:
text2 = text;
num = (_206E_202D_200F_202A_200F_202D_202D_200C_206F_206D_206B_206A_200D_206F_202C_206D_200C_206A_202E_200D_202C_202C_206F_200E_206D_202A_202B_200F_206A_206E_206D_206E_206F_200F_206B_200E_202C_206B_206E_202E(base.Task.Comment) ? 1129159912 : 1129159898);
break;
case 1:
num = ((chatType - 10 > (XivChatType)5) ? 1129159915 : 1129159883);
break;
case 16:
interactionType = base.Task.InteractionType;
num = ((interactionType > EInteractionType.Snipe) ? 1129159892 : 1129159885);
break;
case 19:
num = 1129159915;
break;
case 17:
{
XivChatEntry xivChatEntry = xivChatEntry2;
_206A_200D_202B_200E_202B_200E_206E_206F_206B_206D_200E_206F_202A_206F_206D_202D_206F_206A_206F_206A_206A_200C_206B_206C_206F_200C_206C_200F_202D_206C_206D_206F_200C_200B_202A_200E_200D_202D_202B_202E_202E(chatGui, xivChatEntry);
num = 1129159899;
break;
}
case 0:
num = (((int)chatType <= 107) ? 1129159883 : 1129159894);
break;
case 7:
num = ((chatType == XivChatType.NPCDialogueAnnouncements) ? 1129159883 : 1129159901);
break;
case 38:
num = ((configuration.Notifications.ChatType == XivChatType.None) ? 1129159899 : 1129159882);
break;
case 13:
num = ((interactionType == EInteractionType.CriticalEncounter) ? 1129159888 : 1129159897);
break;
case 31:
num = ((chatType == XivChatType.NPCDialogue) ? 1129159883 : 1129159881);
break;
case 24:
num = 1129159915;
break;
case 32:
num = ((interactionType == EInteractionType.Fish) ? 1129159891 : 1129159875);
break;
case 9:
num = (((int)chatType < 16) ? 1129159887 : 1129159914);
break;
case 29:
goto IL_037c;
case 37:
{
XivChatEntry xivChatEntry4 = _202A_202B_202E_200F_206A_200E_206B_200E_206E_200F_202B_200F_206B_202B_206F_200F_206D_206E_206E_202E_206F_206F_200D_200D_200B_202C_200D_200D_206F_206A_206E_206B_206D_202C_206F_200D_206C_200D_206E_200E_202E();
_200D_200E_200E_206B_202C_206E_206C_202A_200F_200B_200C_206A_202B_200F_200E_206E_206D_206C_200F_206B_200E_206A_206F_206D_206E_206A_206D_200C_206E_202C_200B_206C_200D_200F_200E_200C_202D_206C_206A_202A_202E(xivChatEntry4, _202E_202E_200C_200D_206C_200C_202B_206B_202B_202A_200C_202E_206C_206A_202A_206F_206B_200F_200D_206E_202B_206A_200D_200B_202B_202B_200D_200B_206E_206C_206A_200F_206A_202B_200C_202A_202A_206D_200F_202E_202E(_200F_202C_202D_200C_206D_200C_206A_200C_202B_206A_200D_200E_200C_206F_206D_202A_206C_200B_206E_200C_200B_206D_202A_202E_202E_202A_202E_200B_200E_200E_202D_206D_202A_202C_200D_206F_200B_200F_206A_202A_202E(_200C_202C_202B_202C_202B_206B_206A_202E_206B_200C_202D_202A_200B_202A_206E_206F_206D_200E_202C_206A_200C_202D_206C_206D_206E_200F_206C_206C_202E_202D_206A_202A_200B_206C_206C_206C_200F_200B_206A_202D_202E(_200C_202B_206A_206A_206C_206B_202B_200F_200F_206B_206D_200F_202D_200D_202C_202B_206C_202B_206C_202A_202E_202A_206E_200C_202B_200F_206B_206A_202C_202A_206A_206F_200F_200E_200F_202C_206F_206C_200E_206D_202E(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-365234196), (ushort)576), text2)));
_200E_200E_200D_202E_200B_206E_200D_206F_200B_206D_206A_200F_202C_200E_206F_202A_200C_202E_206B_206A_200C_206F_200C_202B_200F_206F_202E_202D_206F_206D_202C_200F_206B_200E_200E_202C_206B_202B_206C_200C_202E(xivChatEntry4, (XivChatType?)configuration.Notifications.ChatType);
xivChatEntry2 = xivChatEntry4;
num = 1129159903;
break;
}
case 20:
text2 = _202C_200E_206A_200E_206D_200E_200F_206D_206F_200C_202B_206E_200D_200C_202A_206E_202C_200C_206C_200F_206B_206A_206A_200F_202B_202D_206B_200F_202E_202E_206E_206A_202C_206B_200D_202C_202B_200D_206B_206A_202E(text2, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1186344051), base.Task.Comment);
num = 1129159912;
break;
case 14:
num = ((chatType - 36 <= XivChatType.Debug) ? 1129159883 : 1129159874);
break;
case 5:
{
XivChatEntry xivChatEntry3 = _202A_202B_202E_200F_206A_200E_206B_200E_206E_200F_202B_200F_206B_202B_206F_200F_206D_206E_206E_202E_206F_206F_200D_200D_200B_202C_200D_200D_206F_206A_206E_206B_206D_202C_206F_200D_206C_200D_206E_200E_202E();
_200D_200E_200E_206B_202C_206E_206C_202A_200F_200B_200C_206A_202B_200F_200E_206E_206D_206C_200F_206B_200E_206A_206F_206D_206E_206A_206D_200C_206E_202C_200B_206C_200D_200F_200E_200C_202D_206C_206A_202A_202E(xivChatEntry3, _200C_206A_206D_202A_202C_202B_202B_202D_202D_200F_200E_206C_206B_206B_202A_200B_200C_200F_200D_206C_202E_206B_200F_206C_206D_206F_206D_206E_206A_202C_206E_202E_200B_206A_206F_200E_206D_206D_200E_206B_202E(text2));
_200E_200E_200D_202E_200B_206E_200D_206F_200B_206D_206A_200F_202C_200E_206F_202A_200C_202E_206B_206A_200C_206F_200C_202B_200F_206F_202E_202D_206F_206D_202C_200F_206B_200E_200E_202C_206B_202B_206C_200C_202E(xivChatEntry3, (XivChatType?)configuration.Notifications.ChatType);
_206B_206A_200E_202D_200D_200E_202D_202A_200E_202B_206E_206E_202D_206B_202A_202C_206D_206A_206E_206D_202D_206B_202D_200E_206A_202D_200B_202B_206D_206E_202C_200E_206B_200E_202C_200C_206C_206C_200B_202D_202E(xivChatEntry3, _202E_202E_200C_200D_206C_200C_202B_206B_202B_202A_200C_202E_206C_206A_202A_206F_206B_200F_200D_206E_202B_206A_200D_200B_202B_202B_200D_200B_206E_206C_206A_200F_206A_202B_200C_202A_202A_206D_200F_202E_202E(_200C_202C_202B_202C_202B_206B_206A_202E_206B_200C_202D_202A_200B_202A_206E_206F_206D_200E_202C_206A_200C_202D_206C_206D_206E_200F_206C_206C_202E_202D_206A_202A_200B_206C_206C_206C_200F_200B_206A_202D_202E(_200C_202B_206A_206A_206C_206B_202B_200F_200F_206B_206D_200F_202D_200D_202C_202B_206C_202B_206C_202A_202E_202A_206E_200C_202B_200F_206B_206A_202C_202A_206A_206F_200F_200E_200F_202C_206F_206C_200E_206D_202E(), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1179749275), (ushort)576)));
xivChatEntry2 = xivChatEntry3;
num = 1129159903;
break;
}
case 39:
num = ((chatType == XivChatType.NoviceNetwork) ? 1129159883 : 1129159884);
break;
case 15:
num = ((chatType == XivChatType.FreeCompany) ? 1129159883 : 1129159913);
break;
case 36:
num = (((int)chatType <= 23) ? 1129159883 : 1129159893);
break;
case 27:
num = ((chatType > XivChatType.Yell) ? 1129159895 : 1129159873);
break;
case 26:
num = ((interactionType == EInteractionType.Instruction) ? 1129159891 : 1129159918);
break;
case 25:
num = ((chatType > XivChatType.CrossLinkShell1) ? 1129159889 : 1129159917);
break;
case 34:
goto IL_0559;
case 35:
num = ((chatType == XivChatType.CrossParty) ? 1129159883 : 1129159872);
break;
case 2:
num = ((chatType == XivChatType.Yell) ? 1129159883 : 1129159876);
break;
case 12:
num = 1129159915;
break;
case 4:
{
chatType = configuration.Notifications.ChatType;
num = (((int)chatType < 101) ? 1129159879 : 1129159886);
break;
}
IL_0559:
text = global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-984674976);
num = 1129159877;
break;
IL_037c:
text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-2076274604);
num = 1129159877;
break;
IL_019b:
num = 1129159919;
break;
}
XivChatEntry chat = xivChatEntry;
chatGui.Print(chat);
}
return true;
}
public override ETaskResult Update()
@ -154,5 +424,65 @@ internal static class SendNotification
{
return false;
}
static bool _206E_202D_200F_202A_200F_202D_202D_200C_206F_206D_206B_206A_200D_206F_202C_206D_200C_206A_202E_200D_202C_202C_206F_200E_206D_202A_202B_200F_206A_206E_206D_206E_206F_200F_206B_200E_202C_206B_206E_202E(string P_0)
{
return string.IsNullOrEmpty(P_0);
}
static string _202C_200E_206A_200E_206D_200E_200F_206D_206F_200C_202B_206E_200D_200C_202A_206E_202C_200C_206C_200F_206B_206A_206A_200F_202B_202D_206B_200F_202E_202E_206E_206A_202C_206B_200D_202C_202B_200D_206B_206A_202E(string P_0, string P_1, string P_2)
{
return P_0 + P_1 + P_2;
}
static XivChatEntry _202A_202B_202E_200F_206A_200E_206B_200E_206E_200F_202B_200F_206B_202B_206F_200F_206D_206E_206E_202E_206F_206F_200D_200D_200B_202C_200D_200D_206F_206A_206E_206B_206D_202C_206F_200D_206C_200D_206E_200E_202E()
{
return new XivChatEntry();
}
static SeString _200C_206A_206D_202A_202C_202B_202B_202D_202D_200F_200E_206C_206B_206B_202A_200B_200C_200F_200D_206C_202E_206B_200F_206C_206D_206F_206D_206E_206A_202C_206E_202E_200B_206A_206F_200E_206D_206D_200E_206B_202E(string P_0)
{
return P_0;
}
static void _200D_200E_200E_206B_202C_206E_206C_202A_200F_200B_200C_206A_202B_200F_200E_206E_206D_206C_200F_206B_200E_206A_206F_206D_206E_206A_206D_200C_206E_202C_200B_206C_200D_200F_200E_200C_202D_206C_206A_202A_202E(XivChatEntry P_0, SeString P_1)
{
P_0.Message = P_1;
}
static void _200E_200E_200D_202E_200B_206E_200D_206F_200B_206D_206A_200F_202C_200E_206F_202A_200C_202E_206B_206A_200C_206F_200C_202B_200F_206F_202E_202D_206F_206D_202C_200F_206B_200E_200E_202C_206B_202B_206C_200C_202E(XivChatEntry P_0, XivChatType? P_1)
{
P_0.Type = P_1;
}
static SeStringBuilder _200C_202B_206A_206A_206C_206B_202B_200F_200F_206B_206D_200F_202D_200D_202C_202B_206C_202B_206C_202A_202E_202A_206E_200C_202B_200F_206B_206A_202C_202A_206A_206F_200F_200E_200F_202C_206F_206C_200E_206D_202E()
{
return new SeStringBuilder();
}
static SeStringBuilder _200C_202C_202B_202C_202B_206B_206A_202E_206B_200C_202D_202A_200B_202A_206E_206F_206D_200E_202C_206A_200C_202D_206C_206D_206E_200F_206C_206C_202E_202D_206A_202A_200B_206C_206C_206C_200F_200B_206A_202D_202E(SeStringBuilder P_0, string P_1, ushort P_2)
{
return P_0.AddUiForeground(P_1, P_2);
}
static SeString _202E_202E_200C_200D_206C_200C_202B_206B_202B_202A_200C_202E_206C_206A_202A_206F_206B_200F_200D_206E_202B_206A_200D_200B_202B_202B_200D_200B_206E_206C_206A_200F_206A_202B_200C_202A_202A_206D_200F_202E_202E(SeStringBuilder P_0)
{
return P_0.Build();
}
static void _206B_206A_200E_202D_200D_200E_202D_202A_200E_202B_206E_206E_202D_206B_202A_202C_206D_206A_206E_206D_202D_206B_202D_200E_206A_202D_200B_202B_206D_206E_202C_200E_206B_200E_202C_200C_206C_206C_200B_202D_202E(XivChatEntry P_0, SeString P_1)
{
P_0.Name = P_1;
}
static SeStringBuilder _200F_202C_202D_200C_206D_200C_206A_200C_202B_206A_200D_200E_200C_206F_206D_202A_206C_200B_206E_200C_200B_206D_202A_202E_202E_202A_202E_200B_200E_200E_202D_206D_202A_202C_200D_206F_200B_200F_206A_202A_202E(SeStringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static void _206A_200D_202B_200E_202B_200E_206E_206F_206B_206D_200E_206F_202A_206F_206D_202D_206F_206A_206F_206A_206A_200C_206B_206C_206F_200C_206C_200F_202D_206C_206D_206F_200C_200B_202A_200E_200D_202D_202B_202E_202E(IChatGui P_0, XivChatEntry P_1)
{
P_0.Print(P_1);
}
}
}

View file

@ -1,4 +1,7 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
namespace Questionable.Controller.Steps.Common;
@ -6,15 +9,101 @@ internal static class WaitCondition
{
internal sealed record Task(Func<bool> Predicate, string Description) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200C_200D_206B_202D_200F_206C_206B_206C_200B_206B_202B_202D_200C_200C_202D_202C_202D_200F_202B_202E_202D_206E_202A_200F_200C_202C_206F_206F_206F_206F_206F_202A_202A_206B_200F_200B_206E_206E_206C_202D_202E(typeof(Task).TypeHandle);
}
}
public override string ToString()
{
return Description;
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200F_206C_202E_200F_206D_200B_200B_206E_200B_202D_200F_202B_202E_200E_202B_206A_202A_206E_202E_200F_200E_206C_206B_206F_206A_202C_202A_202E_202A_206B_200C_202B_200D_206D_202D_200C_200C_200D_206F_206D_202E();
_206F_206D_200B_206F_206A_202B_200E_206A_200E_206E_206A_200D_206F_200E_200E_200E_206F_206B_206A_200E_202C_200D_206C_202B_202D_200C_206B_202D_206A_206E_200B_206D_200F_206F_202B_206A_202C_200E_200E_202D_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-466916562));
_206C_206E_206A_200B_206E_206C_206E_200B_200C_200F_202C_200B_206B_206C_202E_202D_202D_206A_206C_206E_206B_206D_206B_200F_206B_202C_206C_206A_202D_202D_200E_200F_200E_206B_202E_200F_202A_202A_206D_206B_202E(builder, (object)Predicate);
_206F_206D_200B_206F_206A_202B_200E_206A_200E_206E_206A_200D_206F_200E_200E_200E_206F_206B_206A_200E_202C_200D_206C_202B_202D_200C_206B_202D_206A_206E_200B_206D_200F_206F_202B_206A_202C_200E_200E_202D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-127749891));
_206C_206E_206A_200B_206E_206C_206E_200B_200C_200F_202C_200B_206B_206C_202E_202D_202D_206A_206C_206E_206B_206D_206B_200F_206B_202C_206C_206A_202D_202D_200E_200F_200E_206B_202E_200F_202A_202A_206D_206B_202E(builder, (object)Description);
return true;
}
[CompilerGenerated]
public bool Equals(Task? other)
{
int num = (((object)this == other) ? 1126109151 : 1126109144);
while (true)
{
int num2 = num;
int num3 = 1126109146;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
return false;
case 3:
num = ((!EqualityComparer<Func<bool>>.Default.Equals(Predicate, other.Predicate)) ? 1126109148 : 1126109147);
break;
case 4:
num = ((!_200D_206C_206C_206C_206B_206D_206C_206A_206F_202B_200F_206B_200B_206B_206C_202B_200B_206D_200E_206F_202C_200E_202C_200B_206E_206C_202A_200C_202A_200F_206B_200B_206E_206C_200E_202B_200F_206D_200B_200F_202E(EqualityContract, other.EqualityContract)) ? 1126109148 : 1126109145);
break;
case 1:
return EqualityComparer<string>.Default.Equals(Description, other.Description);
case 2:
num = (((object)other == null) ? 1126109148 : 1126109150);
break;
case 5:
return true;
case 0:
num = 1126109144;
break;
}
}
}
bool IEquatable<Task>.Equals(Task? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200C_200D_206B_202D_200F_206C_206B_206C_200B_206B_202B_202D_200C_200C_202D_202C_202D_200F_202B_202E_202D_206E_202A_200F_200C_202C_206F_206F_206F_206F_206F_202A_202A_206B_200F_200B_206E_206E_206C_202D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200F_206C_202E_200F_206D_200B_200B_206E_200B_202D_200F_202B_202E_200E_202B_206A_202A_206E_202E_200F_200E_206C_206B_206F_206A_202C_202A_202E_202A_206B_200C_202B_200D_206D_202D_200C_200C_200D_206F_206D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206F_206D_200B_206F_206A_202B_200E_206A_200E_206E_206A_200D_206F_200E_200E_200E_206F_206B_206A_200E_202C_200D_206C_202B_202D_200C_206B_202D_206A_206E_200B_206D_200F_206F_202B_206A_202C_200E_200E_202D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206C_206E_206A_200B_206E_206C_206E_200B_200C_200F_202C_200B_206B_206C_202E_202D_202D_206A_206C_206E_206B_206D_206B_200F_206B_202C_206C_206A_202D_202D_200E_200F_200E_206B_202E_200F_202A_202A_206D_206B_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _200D_206C_206C_206C_206B_206D_206C_206A_206F_202B_200F_206B_200B_206B_206C_202B_200B_206D_200E_206F_202C_200E_202C_200B_206E_206C_202A_200C_202A_200F_206B_200B_206E_206C_200E_202B_200F_206D_200B_200F_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class WaitConditionExecutor : TaskExecutor<Task>
{
private DateTime _continueAt = DateTime.MaxValue;
private long _continueAtMs;
protected override bool Start()
{
@ -23,20 +112,46 @@ internal static class WaitCondition
public override ETaskResult Update()
{
if (_continueAt == DateTime.MaxValue && base.Task.Predicate())
int num = ((_continueAtMs != 0L) ? (-757332820) : (-757332817));
while (true)
{
_continueAt = DateTime.Now.AddSeconds(0.5);
int num2 = num;
int num3 = -757332822;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
_continueAtMs = _200E_206C_200D_200F_206F_202B_200B_206C_206D_206C_202E_202A_206D_200D_206A_200E_202D_200E_200B_200D_206D_200B_200B_202A_202D_200C_200B_206C_200E_202C_206A_202B_200B_206E_200B_200D_200D_200B_200B_206A_202E() + 500;
num = -757332820;
break;
case 4:
return ETaskResult.TaskComplete;
case 2:
num = -757332817;
break;
case 6:
num = ((_continueAtMs <= 0) ? (-757332821) : (-757332823));
break;
case 1:
return ETaskResult.StillRunning;
case 5:
num = ((!base.Task.Predicate()) ? (-757332820) : (-757332822));
break;
case 3:
num = ((_200E_206C_200D_200F_206F_202B_200B_206C_206D_206C_202E_202A_206D_200D_206A_200E_202D_200E_200B_200D_206D_200B_200B_202A_202D_200C_200B_206C_200E_202C_206A_202B_200B_206E_200B_200D_200D_200B_200B_206A_202E() >= _continueAtMs) ? (-757332818) : (-757332821));
break;
}
}
if (!(DateTime.Now >= _continueAt))
{
return ETaskResult.StillRunning;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static long _200E_206C_200D_200F_206F_202B_200B_206C_206D_206C_202E_202A_206D_200D_206A_200E_202D_200E_200B_200D_206D_200B_200B_202A_202D_200C_200B_206C_200E_202C_206A_202B_200B_206E_200B_200D_200D_200B_200B_206A_202E()
{
return Environment.TickCount64;
}
}
}

View file

@ -1,12 +1,71 @@
using System;
using System.Runtime.CompilerServices;
namespace Questionable.Controller.Steps.Common;
internal sealed class WaitNavmesh
{
internal sealed record Task : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206B_200E_202D_206D_200E_206C_202E_206C_202E_202C_202C_200C_200B_202D_202C_202C_202C_206B_202C_206A_206F_202C_202C_202D_200B_200E_206A_202B_200D_206B_202C_206F_206A_206F_202A_200F_200C_202A_202D_206D_202E(typeof(Task).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "Wait(navmesh)";
return global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(93055531);
}
[CompilerGenerated]
public bool Equals(Task? other)
{
int num = (((object)this == other) ? 772746660 : 772746657);
while (true)
{
int num2 = num;
int num3 = 772746656;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
return true;
case 3:
return _202E_202C_206A_202B_206A_202B_200C_206D_200F_200E_206C_200E_200B_200C_200D_206F_200B_206A_202E_200E_206D_206C_202D_202C_200F_200B_200C_202D_206B_206F_206E_200D_206E_206D_206E_206A_206E_206F_202B_202E_202E(EqualityContract, other.EqualityContract);
case 1:
num = (((object)other == null) ? 772746656 : 772746659);
break;
case 0:
return false;
case 2:
num = 772746657;
break;
}
}
}
bool IEquatable<Task>.Equals(Task? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206B_200E_202D_206D_200E_206C_202E_206C_202E_202C_202C_200C_200B_202D_202C_202C_202C_206B_202C_206A_206F_202C_202C_202D_200B_200E_206A_202B_200D_206B_202C_206F_206A_206F_202A_200F_200C_202A_202D_206D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static bool _202E_202C_206A_202B_206A_202B_200C_206D_200F_200E_206C_200E_200B_200C_200D_206F_200B_206A_202E_200E_206D_206C_202D_202C_200F_200B_200C_202D_206B_206F_206E_200D_206E_206D_206E_206A_206E_206F_202B_202E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
@ -19,11 +78,27 @@ internal sealed class WaitNavmesh
public override ETaskResult Update()
{
if (!movementController.IsNavmeshReady)
int num = (movementController.IsNavmeshReady ? 1367983807 : 1367983806);
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = 1367983807;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_004d;
case 0:
return ETaskResult.TaskComplete;
case 1:
return ETaskResult.StillRunning;
}
continue;
IL_004d:
num = 1367983806;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
@ -31,13 +106,40 @@ internal sealed class WaitNavmesh
return false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public string? GetDebugState()
{
if (!movementController.IsNavmeshReady)
int num = (movementController.IsNavmeshReady ? (-446165234) : (-446165233));
while (true)
{
return $"Navmesh: {movementController.BuiltNavmeshPercent}%";
int num2 = num;
int num3 = -446165234;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_004b;
case 0:
return null;
case 1:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(10, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1778800167));
defaultInterpolatedStringHandler.AppendFormatted(movementController.BuiltNavmeshPercent);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1720204560));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
}
continue;
IL_004b:
num = -446165233;
}
return null;
}
string? IDebugStateProvider.GetDebugState()
{
//ILSpy generated this explicit interface implementation from .override directive in GetDebugState
return this.GetDebugState();
}
}
}

View file

@ -1,9 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Game.Text;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Component.GUI;
using LLib.GameData;
using LLib.GameUI;
using Lumina.Excel;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
using Questionable.Model.Gathering;
@ -15,6 +24,16 @@ internal static class DoGatherCollectable
{
internal sealed record Task(GatheringController.GatheringRequest Request, GatheringNode Node, bool RevisitRequired) : ITask, IRevisitAware
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200F_200D_202D_206C_206C_206E_202C_200E_200C_206B_200D_200B_206F_202C_206B_206C_206B_202B_202D_200F_206C_200C_202B_206B_206F_206C_206B_200B_206A_202A_200D_202A_206F_200E_202C_200D_206C_202E_200C_206E_202E(typeof(Task).TypeHandle);
}
}
public bool RevisitTriggered { get; private set; }
public void OnRevisit()
@ -22,179 +41,793 @@ internal static class DoGatherCollectable
RevisitTriggered = true;
}
void IRevisitAware.OnRevisit()
{
//ILSpy generated this explicit interface implementation from .override directive in OnRevisit
this.OnRevisit();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"DoGatherCollectable({SeIconChar.Collectible.ToIconString()}/{Request.Collectability}){(RevisitRequired ? " if revist" : "")}";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 3);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1601908547));
defaultInterpolatedStringHandler.AppendFormatted(_202D_202B_206C_202D_206D_202C_202A_200E_206E_200B_202E_202D_200C_200B_202A_200F_200C_200D_206F_206E_206B_206A_206B_200F_200E_206E_200B_206B_200C_200E_206A_202D_200E_206F_206C_200E_202E_200E_200C_206A_202E(SeIconChar.Collectible));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(503298330));
defaultInterpolatedStringHandler.AppendFormatted(Request.Collectability);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(555647321));
defaultInterpolatedStringHandler.AppendFormatted(RevisitRequired ? global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1240368665) : global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1200342830));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200B_200E_200D_200F_202A_202D_200D_206B_206E_202A_202A_206A_202B_200F_206B_200C_202D_206B_202B_206F_206F_200D_206A_206C_202A_202A_200F_206F_200D_202D_200B_202A_200E_202C_200C_206D_206F_206A_200E_202B_202E();
_202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1124844995));
_202D_202B_200C_200F_200D_200F_200E_200C_200D_202A_206C_206E_206A_200D_202B_206C_200D_202B_206A_206C_200F_202D_202A_200C_206B_202A_206C_206F_202A_200E_206A_206A_202D_200C_202E_202C_200E_202A_202D_206E_202E(builder, (object)Request);
_202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-722402907));
_202D_202B_200C_200F_200D_200F_200E_200C_200D_202A_206C_206E_206A_200D_202B_206C_200D_202B_206A_206C_200F_202D_202A_200C_206B_202A_206C_206F_202A_200E_206A_206A_202D_200C_202E_202C_200E_202A_202D_206E_202E(builder, (object)Node);
_202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(849152591));
_202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, RevisitRequired.ToString());
_202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-145983723));
_202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(builder, RevisitTriggered.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Task? other)
{
int num = (((object)this == other) ? 1037561831 : 1037561826);
while (true)
{
int num2 = num;
int num3 = 1037561830;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 6:
num = ((!EqualityComparer<GatheringNode>.Default.Equals(Node, other.Node)) ? 1037561825 : 1037561829);
break;
case 8:
return EqualityComparer<bool>.Default.Equals(RevisitTriggered, other.RevisitTriggered);
case 2:
num = ((!EqualityComparer<GatheringController.GatheringRequest>.Default.Equals(Request, other.Request)) ? 1037561825 : 1037561824);
break;
case 5:
num = ((!_206A_202E_202E_206D_206E_206B_200F_200D_200E_206A_200B_202D_202C_206C_202A_200D_202B_200F_206C_202B_206F_206D_202A_206F_202E_206B_206B_202A_202A_202C_202E_200D_202B_206B_206B_206C_206F_202D_200C_202D_202E(EqualityContract, other.EqualityContract)) ? 1037561825 : 1037561828);
break;
case 3:
num = ((!EqualityComparer<bool>.Default.Equals(RevisitRequired, other.RevisitRequired)) ? 1037561825 : 1037561838);
break;
case 0:
num = 1037561826;
break;
case 4:
num = (((object)other == null) ? 1037561825 : 1037561827);
break;
case 7:
return false;
case 1:
return true;
}
}
}
bool IEquatable<Task>.Equals(Task? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200F_200D_202D_206C_206C_206E_202C_200E_200C_206B_200D_200B_206F_202C_206B_206C_206B_202B_202D_200F_206C_200C_202B_206B_206F_206C_206B_200B_206A_202A_200D_202A_206F_200E_202C_200D_206C_202E_200C_206E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static string _202D_202B_206C_202D_206D_202C_202A_200E_206E_200B_202E_202D_200C_200B_202A_200F_200C_200D_206F_206E_206B_206A_206B_200F_200E_206E_200B_206B_200C_200E_206A_202D_200E_206F_206C_200E_202E_200E_200C_206A_202E(SeIconChar P_0)
{
return P_0.ToIconString();
}
static void _200B_200E_200D_200F_202A_202D_200D_206B_206E_202A_202A_206A_202B_200F_206B_200C_202D_206B_202B_206F_206F_200D_206A_206C_202A_202A_200F_206F_200D_202D_200B_202A_200E_202C_200C_206D_206F_206A_200E_202B_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202A_202E_206C_206D_206B_206C_206A_206D_202B_200E_206A_202C_206F_200B_200B_202B_200C_200B_206D_206A_206C_200D_206F_200B_202E_206B_206D_206B_206B_202A_200C_206C_200D_202A_202D_206D_206C_202D_202E_206A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202D_202B_200C_200F_200D_200F_200E_200C_200D_202A_206C_206E_206A_200D_202B_206C_200D_202B_206A_206C_200F_202D_202A_200C_206B_202A_206C_206F_202A_200E_206A_206A_202D_200C_202E_202C_200E_202A_202D_206E_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206A_202E_202E_206D_206E_206B_200F_200D_200E_206A_200B_202D_202C_206C_202A_200D_202B_200F_206C_202B_206F_206D_202A_206F_202E_206B_206B_202A_202A_202C_202E_200D_202B_206B_206B_206C_206F_202D_200C_202D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class GatherCollectableExecutor(GatheringController gatheringController, GameFunctions gameFunctions, IObjectTable objectTable, IGameGui gameGui, ILogger<GatherCollectableExecutor> logger) : TaskExecutor<Task>()
internal sealed class GatherCollectableExecutor(GatheringController gatheringController, GameFunctions gameFunctions, IObjectTable objectTable, IGameGui gameGui, ICondition condition, ILogger<GatherCollectableExecutor> logger) : TaskExecutor<Task>()
{
private Queue<EAction>? _actionQueue;
private bool? _expectedScrutiny;
private bool _wasGathering;
private long _nextRevisitInteractionAt;
protected override bool Start()
{
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
if (base.Task.RevisitRequired && !base.Task.RevisitTriggered)
int num = ((!base.Task.RevisitRequired) ? (-1306248143) : (-1306248180));
NodeCondition nodeCondition = default(NodeCondition);
AtkUnitBase* addonPtr = default(AtkUnitBase*);
bool? flag = default(bool?);
EAction result = default(EAction);
IGameObject gameObject = default(IGameObject);
Task task = default(Task);
while (true)
{
logger.LogInformation("No revisit");
return ETaskResult.TaskComplete;
}
if (gatheringController.HasNodeDisappeared(base.Task.Node))
{
logger.LogInformation("Node disappeared");
return ETaskResult.TaskComplete;
}
if (gatheringController.HasRequestedItems())
{
if (gameGui.TryGetAddonByName<AtkUnitBase>("GatheringMasterpiece", out var addonPtr))
int num2 = num;
int num3 = -1306248192;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
addonPtr->FireCallbackInt(1);
default:
continue;
case 50:
_actionQueue = GetNextActions(nodeCondition);
if (_actionQueue != null)
{
num = -1306248176;
continue;
}
break;
case 36:
return ETaskResult.StillRunning;
}
if (gameGui.TryGetAddonByName<AtkUnitBase>("Gathering", out addonPtr))
case 18:
{
addonPtr->FireCallbackInt(-1);
uint uInt3 = addonPtr->AtkValues[62].UInt;
uint uInt4 = addonPtr->AtkValues[63].UInt;
_206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1155490632), new object[2] { uInt3, uInt4 });
num = ((uInt3 == 0) ? (-1306248152) : (-1306248189));
continue;
}
case 7:
_expectedScrutiny = flag;
_206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1760938028), new object[1] { result });
_actionQueue.Dequeue();
num = -1306248164;
continue;
case 51:
_206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(509991167), Array.Empty<object>());
return ETaskResult.TaskComplete;
}
}
if (gameFunctions.GetFreeInventorySlots() == 0)
{
throw new TaskException("Inventory full");
}
NodeCondition nodeCondition = GetNodeCondition();
if (nodeCondition == null)
{
return ETaskResult.TaskComplete;
}
if (_expectedScrutiny.HasValue)
{
if (nodeCondition.ScrutinyActive != _expectedScrutiny)
{
case 30:
num = ((!gameFunctions.InteractWith(gameObject)) ? (-1306248136) : (-1306248191));
continue;
case 17:
num = ((!task.RevisitRequired) ? (-1306248182) : (-1306248173));
continue;
case 4:
num = -1306248180;
continue;
case 33:
return ETaskResult.StillRunning;
}
_expectedScrutiny = null;
return ETaskResult.StillRunning;
}
if (_actionQueue != null && _actionQueue.TryPeek(out var result))
{
if (gameFunctions.UseAction(result))
case 45:
num = ((_actionQueue == null) ? (-1306248172) : (-1306248169));
continue;
case 9:
num = ((!_206E_206B_202D_202E_202B_200F_200B_206F_200C_206A_206D_206E_202A_202E_200B_200C_202A_200B_200E_202E_200B_206B_206F_200F_206D_202A_206E_206F_206C_202C_206D_206E_206E_206D_206D_200D_206C_202D_202E_202A_202E(condition, ConditionFlag.Gathering)) ? (-1306248177) : (-1306248148));
continue;
case 0:
num = ((!gameFunctions.UseAction(result)) ? (-1306248164) : (-1306248163));
continue;
case 35:
num = ((!_wasGathering) ? (-1306248154) : (-1306248160));
continue;
case 28:
return ETaskResult.StillRunning;
case 42:
throw new TaskException(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1562567850));
case 49:
task = base.Task;
num = (((object)task == null) ? (-1306248161) : (-1306248165));
continue;
case 14:
num = ((!_expectedScrutiny.HasValue) ? (-1306248147) : (-1306248170));
continue;
case 56:
_nextRevisitInteractionAt = _206E_200B_200B_200B_206A_202E_200E_206A_202D_206E_206F_206B_206B_200C_206B_202E_206B_206D_206A_206D_206C_200F_206A_206E_206F_202C_206F_206F_202B_200C_200E_200E_202C_206B_200C_202A_202D_200F_202D_202C_202E() + 1000;
num = -1306248144;
continue;
case 26:
num = ((!gatheringController.HasNodeDisappeared(base.Task.Node)) ? (-1306248183) : (-1306248187));
continue;
case 37:
task = base.Task;
num = (((object)task == null) ? (-1306248182) : (-1306248175));
continue;
case 40:
return ETaskResult.StillRunning;
case 23:
num = ((!_actionQueue.TryPeek(out result)) ? (-1306248172) : (-1306248192));
continue;
case 27:
num = ((!task.RevisitRequired) ? (-1306248161) : (-1306248168));
continue;
case 55:
flag = true;
num = -1306248185;
continue;
case 6:
num = (_206E_206B_202D_202E_202B_200F_200B_206F_200C_206A_206D_206E_202A_202E_200B_200C_202A_200B_200E_202E_200B_206B_206F_200F_206D_202A_206E_206F_206C_202C_206D_206E_206E_206D_206D_200D_206C_202D_202E_202A_202E(condition, ConditionFlag.Gathering) ? (-1306248156) : (-1306248145));
continue;
case 15:
num = ((!gatheringController.HasRequestedItems()) ? (-1306248138) : (-1306248153));
continue;
case 22:
{
bool? expectedScrutiny;
bool scrutinyActive = nodeCondition.ScrutinyActive;
flag = _expectedScrutiny;
num = ((scrutinyActive == flag) ? (-1306248190) : (-1306248158));
continue;
}
case 20:
if (nodeCondition.CollectabilityToGoal(base.Task.Request.Collectability) != 0)
{
num = -1306248142;
continue;
}
break;
case 29:
switch (result)
{
case EAction.ScrutinyMiner:
case EAction.ScrutinyBotanist:
expectedScrutiny = true;
break;
default:
goto IL_0540;
case EAction.ScourMiner:
case EAction.MeticulousMiner:
case EAction.ScourBotanist:
case EAction.MeticulousBotanist:
expectedScrutiny = false;
break;
default:
expectedScrutiny = null;
break;
}
_expectedScrutiny = expectedScrutiny;
logger.LogInformation("Used action {Action} on node", result);
_actionQueue.Dequeue();
}
return ETaskResult.StillRunning;
}
if (nodeCondition.CollectabilityToGoal(base.Task.Request.Collectability) != 0)
{
_actionQueue = GetNextActions(nodeCondition);
if (_actionQueue != null)
{
foreach (EAction item in _actionQueue)
{
logger.LogInformation("Next Actions {Action}", item);
goto IL_0627;
case (EAction)22183:
case (EAction)22187:
goto IL_075a;
}
goto case 55;
case 5:
_206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(670927983), Array.Empty<object>());
return ETaskResult.TaskComplete;
case 48:
return ETaskResult.StillRunning;
case 32:
return ETaskResult.TaskComplete;
case 8:
gameObject = objectTable.FirstOrDefault(delegate(IGameObject x)
{
int num8 = ((_202E_200C_202C_202B_200F_202C_206B_202A_200B_200F_202C_200B_206E_202A_202B_202E_206B_206C_202C_202A_202C_202E_206E_200B_202C_202C_200F_202A_206C_206B_206B_202C_206E_206C_202B_206C_202C_200E_202C_202D_202E(x) != _202C_202A_202D_200E_206B_200D_206B_200B_206E_202C_200F_206C_206E_202D_202B_206A_206A_202A_200D_206B_206F_202D_200D_200C_206A_202E_206C_200C_200C_202D_202C_202E_202A_200F_206A_200D_206B_200D_200B_206A_202E(base.Task.Node)) ? 101007406 : 101007405);
while (true)
{
int num9 = num8;
int num10 = 101007407;
int num11 = num9;
int num12 = num11 + num10;
int num13 = num11 & num10;
switch (num12 - (num13 + num13))
{
case 0:
goto IL_0058;
case 1:
return false;
case 2:
return _202A_206A_202A_200C_206B_202E_200E_206E_206E_200D_206C_202B_206B_206C_206D_202C_202B_200B_200C_200F_200B_202B_202D_206C_200B_200F_206F_202D_200B_200E_206E_202E_202B_200E_202C_202B_202C_206B_200D_202E_202E(x);
}
continue;
IL_0058:
num8 = 101007405;
}
});
num = ((gameObject == null) ? (-1306248136) : (-1306248162));
continue;
case 19:
num = (task.RevisitTriggered ? (-1306248139) : (-1306248182));
continue;
case 3:
addonPtr->FireCallbackInt(1);
num = -1306248152;
continue;
case 47:
return ETaskResult.TaskComplete;
case 24:
num = ((!task.RevisitTriggered) ? (-1306248161) : (-1306248179));
continue;
case 31:
num = (base.Task.RevisitTriggered ? (-1306248183) : (-1306248166));
continue;
case 21:
goto IL_0627;
case 1:
_206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(866221755), new object[1] { _202C_202A_202D_200E_206B_200D_206B_200B_206E_202C_200F_206C_206E_202D_202B_206A_206A_202A_200D_206B_206F_202D_200D_200C_206A_202E_206C_200C_200C_202D_202C_202E_202A_200F_206A_200D_206B_200D_200B_206A_202E(base.Task.Node) });
num = -1306248136;
continue;
case 52:
{
uint uInt = addonPtr->AtkValues[109].UInt;
uint uInt2 = addonPtr->AtkValues[110].UInt;
_206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-749226007), new object[2] { uInt, uInt2 });
num = ((uInt == 0) ? (-1306248159) : (-1306248151));
continue;
}
case 11:
nodeCondition = GetNodeCondition();
num = ((!(nodeCondition == null)) ? (-1306248178) : (-1306248155));
continue;
case 39:
num = ((!gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(396218849), out addonPtr)) ? (-1306248149) : (-1306248174));
continue;
case 25:
goto IL_075a;
case 46:
num = -1306248167;
continue;
case 44:
_wasGathering = true;
num = -1306248177;
continue;
case 54:
num = ((gameFunctions.GetFreeInventorySlots() != 0) ? (-1306248181) : (-1306248150));
continue;
case 2:
_expectedScrutiny = null;
return ETaskResult.StillRunning;
case 38:
num = ((_206E_200B_200B_200B_206A_202E_200E_206A_202D_206E_206F_206B_206B_200C_206B_202E_206B_206D_206A_206D_206C_200F_206A_206E_206F_202C_206F_206F_202B_200C_200E_200E_202C_206B_200C_202A_202D_200F_202D_202C_202E() < _nextRevisitInteractionAt) ? (-1306248144) : (-1306248184));
continue;
case 12:
num = (base.Task.RevisitTriggered ? (-1306248143) : (-1306248141));
continue;
case 53:
return ETaskResult.StillRunning;
case 13:
num = (_206E_206B_202D_202E_202B_200F_200B_206F_200C_206A_206D_206E_202A_202E_200B_200C_202A_200B_200E_202E_200B_206B_206F_200F_206D_202A_206E_206F_206C_202C_206D_206E_206E_206D_206D_200D_206C_202D_202E_202A_202E(condition, ConditionFlag.Gathering) ? (-1306248161) : (-1306248157));
continue;
case 10:
return ETaskResult.TaskComplete;
case 41:
addonPtr->FireCallbackInt(-1);
num = -1306248159;
continue;
case 43:
num = ((!gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2134680438), out addonPtr)) ? (-1306248186) : (-1306248140));
continue;
case 34:
return ETaskResult.StillRunning;
case 16:
{
using (Queue<EAction>.Enumerator enumerator = _actionQueue.GetEnumerator())
{
num = -1901885352;
while (true)
{
int num7 = num;
num3 = -1901885351;
num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -1901885352;
break;
case 1:
num = (enumerator.MoveNext() ? (-1901885349) : (-1901885350));
break;
case 2:
{
EAction current = enumerator.Current;
_206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1559757228), new object[1] { current });
num = -1901885352;
break;
}
case 3:
goto end_IL_08a8;
}
continue;
end_IL_08a8:
break;
}
}
return ETaskResult.StillRunning;
}
IL_075a:
flag = null;
num = -1306248185;
continue;
IL_0627:
flag = false;
num = -1306248185;
continue;
IL_0540:
num = -1306248146;
continue;
}
break;
}
_actionQueue = new Queue<EAction>();
_actionQueue.Enqueue(PickAction(EAction.CollectMiner, EAction.CollectBotanist));
return ETaskResult.StillRunning;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe NodeCondition? GetNodeCondition()
{
if (gameGui.TryGetAddonByName<AtkUnitBase>("GatheringMasterpiece", out var addonPtr))
AtkUnitBase* addonPtr;
int num = ((!gameGui.TryGetAddonByName<AtkUnitBase>(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(206776723), out addonPtr)) ? 460399678 : 460399677);
while (true)
{
AtkValue* atkValues = addonPtr->AtkValues;
return new NodeCondition(atkValues[13].UInt, atkValues[14].UInt, atkValues[62].UInt, atkValues[63].UInt, atkValues[54].Bool, atkValues[48].UInt, atkValues[51].UInt);
int num2 = num;
int num3 = 460399676;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return null;
case 1:
{
AtkValue* atkValues = addonPtr->AtkValues;
return new NodeCondition(atkValues[13].UInt, atkValues[14].UInt, atkValues[62].UInt, atkValues[63].UInt, atkValues[54].Bool, atkValues[48].UInt, atkValues[51].UInt);
}
case 0:
goto IL_00e2;
}
continue;
IL_00e2:
num = 460399677;
}
return null;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private Queue<EAction> GetNextActions(NodeCondition nodeCondition)
{
uint num = (objectTable[0] as ICharacter)?.CurrentGp ?? 0;
logger.LogTrace("Getting next actions (with {GP} GP, {MeticulousCollectability}~ meticulous, {ScourCollectability}~ scour)", num, nodeCondition.CollectabilityFromMeticulous, nodeCondition.CollectabilityFromScour);
IPlayerCharacter playerCharacter = _202C_202B_206D_200C_206C_202C_206A_202A_202C_206D_200C_206E_202E_206A_200D_200C_202C_200C_200B_206C_200E_202E_200E_202D_202E_206E_202D_200E_202D_202D_200F_206A_202A_206A_206B_202B_206B_202B_200B_206A_202E(objectTable);
uint num = ((playerCharacter != null) ? _202C_200B_202B_202B_206A_202E_200F_200B_206E_200C_206B_200F_206D_200D_200D_206F_206A_202E_202B_206A_200F_202C_202A_200B_206F_200F_202C_206F_206F_202D_206C_200D_206C_206E_206D_200D_200F_202A_200D_202A_202E((ICharacter)playerCharacter) : 0u);
_206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-600944510), new object[3] { num, nodeCondition.CollectabilityFromMeticulous, nodeCondition.CollectabilityFromScour });
Queue<EAction> queue = new Queue<EAction>();
uint num2 = nodeCondition.CollectabilityToGoal(base.Task.Request.Collectability);
if (num2 <= nodeCondition.CollectabilityFromMeticulous)
int num3 = ((num2 > nodeCondition.CollectabilityFromMeticulous) ? 1622338187 : 1622338185);
while (true)
{
logger.LogTrace("Can get all needed {NeededCollectability} from {Collectability}~ meticulous", num2, nodeCondition.CollectabilityFromMeticulous);
queue.Enqueue(PickAction(EAction.MeticulousMiner, EAction.MeticulousBotanist));
return queue;
int num4 = num3;
int num5 = 1622338188;
int num6 = num4;
int num7 = num6 + num5;
int num8 = num6 & num5;
switch (num7 - (num8 + num8))
{
case 1:
_206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1982406925), new object[2] { num2, nodeCondition.CollectabilityFromMeticulous });
queue.Enqueue(PickAction(EAction.MeticulousMiner, EAction.MeticulousBotanist));
return queue;
case 7:
num3 = ((num2 > nodeCondition.CollectabilityFromScour) ? 1622338191 : 1622338184);
break;
case 5:
_206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1892669606), new object[2] { num2, nodeCondition.CollectabilityFromMeticulous });
queue.Enqueue(PickAction(EAction.MeticulousMiner, EAction.MeticulousBotanist));
return queue;
case 8:
num3 = ((!nodeCondition.ScrutinyActive) ? 1622338181 : 1622338189);
break;
case 4:
_206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(2113421034), new object[2] { num2, nodeCondition.CollectabilityFromScour });
queue.Enqueue(PickAction(EAction.ScourMiner, EAction.ScourBotanist));
return queue;
case 3:
num3 = (nodeCondition.ScrutinyActive ? 1622338180 : 1622338190);
break;
case 2:
num3 = ((num < 200) ? 1622338180 : 1622338186);
break;
case 6:
_206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-837817091), new object[1] { num2 });
queue.Enqueue(PickAction(EAction.ScrutinyMiner, EAction.ScrutinyBotanist));
return queue;
case 9:
_206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1121451143), new object[2] { num2, nodeCondition.CollectabilityFromScour });
queue.Enqueue(PickAction(EAction.ScourMiner, EAction.ScourBotanist));
return queue;
case 0:
num3 = 1622338185;
break;
}
}
if (num2 <= nodeCondition.CollectabilityFromScour)
{
logger.LogTrace("Can get all needed {NeededCollectability} from {Collectability}~ scour", num2, nodeCondition.CollectabilityFromScour);
queue.Enqueue(PickAction(EAction.ScourMiner, EAction.ScourBotanist));
return queue;
}
if (!nodeCondition.ScrutinyActive && num >= 200)
{
logger.LogTrace("Still missing {NeededCollectability} collectability, scrutiny inactive", num2);
queue.Enqueue(PickAction(EAction.ScrutinyMiner, EAction.ScrutinyBotanist));
return queue;
}
if (nodeCondition.ScrutinyActive)
{
logger.LogTrace("Scrutiny active, need {NeededCollectability} and we expect {Collectability}~ meticulous", num2, nodeCondition.CollectabilityFromMeticulous);
queue.Enqueue(PickAction(EAction.MeticulousMiner, EAction.MeticulousBotanist));
return queue;
}
logger.LogTrace("Scrutiny active, need {NeededCollectability} and we expect {Collectability}~ scour", num2, nodeCondition.CollectabilityFromScour);
queue.Enqueue(PickAction(EAction.ScourMiner, EAction.ScourBotanist));
return queue;
}
private EAction PickAction(EAction minerAction, EAction botanistAction)
{
if ((objectTable[0] as ICharacter)?.ClassJob.RowId == 16)
IPlayerCharacter playerCharacter = _202C_202B_206D_200C_206C_202C_206A_202A_202C_206D_200C_206E_202E_206A_200D_200C_202C_200C_200B_206C_200E_202E_200E_202D_202E_206E_202D_200E_202D_202D_200F_206A_202A_206A_206B_202B_206B_202B_200B_206A_202E(objectTable);
uint? num = ((playerCharacter != null) ? new uint?(_202C_202B_200F_202A_206B_200E_206D_200D_206D_202C_202E_202C_200B_206D_200E_200D_200E_202A_202B_200D_206D_202B_200B_206C_200E_202E_200E_206B_206A_200B_200E_206B_200E_200E_200C_202B_200F_202C_202C_202A_202E((ICharacter)playerCharacter).RowId) : ((uint?)null));
int num2 = (num.HasValue ? (-2144175217) : (-2144175223));
while (true)
{
return minerAction;
int num3 = num2;
int num4 = -2144175221;
int num5 = num3;
EClassJob? obj;
switch ((num5 | num4) - (num5 & num4))
{
case 4:
obj = (EClassJob)num.GetValueOrDefault();
goto IL_0097;
case 1:
return minerAction;
case 0:
num2 = -2144175223;
break;
case 3:
return botanistAction;
case 2:
{
obj = null;
goto IL_0097;
}
IL_0097:
num2 = ((obj != EClassJob.Miner) ? (-2144175224) : (-2144175222));
break;
}
}
return botanistAction;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static void _206B_200E_200D_206F_206B_206F_200C_200B_202D_206A_206E_206F_200F_206A_200B_202B_202D_200B_206E_200C_206D_206F_206E_202A_200E_206A_200F_206F_200B_200F_202B_200F_200B_202E_200B_200E_200C_200B_202C_200C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _206E_206B_202D_202E_202B_200F_200B_206F_200C_206A_206D_206E_202A_202E_200B_200C_202A_200B_200E_202E_200B_206B_206F_200F_206D_202A_206E_206F_206C_202C_206D_206E_206E_206D_206D_200D_206C_202D_202E_202A_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static long _206E_200B_200B_200B_206A_202E_200E_206A_202D_206E_206F_206B_206B_200C_206B_202E_206B_206D_206A_206D_206C_200F_206A_206E_206F_202C_206F_206F_202B_200C_200E_200E_202C_206B_200C_202A_202D_200F_202D_202C_202E()
{
return Environment.TickCount64;
}
static uint _202C_202A_202D_200E_206B_200D_206B_200B_206E_202C_200F_206C_206E_202D_202B_206A_206A_202A_200D_206B_206F_202D_200D_200C_206A_202E_206C_200C_200C_202D_202C_202E_202A_200F_206A_200D_206B_200D_200B_206A_202E(GatheringNode P_0)
{
return P_0.DataId;
}
static IPlayerCharacter _202C_202B_206D_200C_206C_202C_206A_202A_202C_206D_200C_206E_202E_206A_200D_200C_202C_200C_200B_206C_200E_202E_200E_202D_202E_206E_202D_200E_202D_202D_200F_206A_202A_206A_206B_202B_206B_202B_200B_206A_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static uint _202C_200B_202B_202B_206A_202E_200F_200B_206E_200C_206B_200F_206D_200D_200D_206F_206A_202E_202B_206A_200F_202C_202A_200B_206F_200F_202C_206F_206F_202D_206C_200D_206C_206E_206D_200D_200F_202A_200D_202A_202E(ICharacter P_0)
{
return P_0.CurrentGp;
}
static void _206B_206B_202A_200F_202A_200F_206E_202A_206C_206F_200E_202B_206D_206F_202D_202A_200C_200C_200F_206D_206A_202B_202C_202D_206D_200B_206A_202A_200B_202C_202E_206F_206B_206A_206D_202E_200B_200B_200B_206F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogTrace(P_1, P_2);
}
static RowRef<ClassJob> _202C_202B_200F_202A_206B_200E_206D_200D_206D_202C_202E_202C_200B_206D_200E_200D_200E_202A_202B_200D_206D_202B_200B_206C_200E_202E_200E_206B_206A_200B_200E_206B_200E_200E_200C_202B_200F_202C_202C_202A_202E(ICharacter P_0)
{
return P_0.ClassJob;
}
static uint _202E_200C_202C_202B_200F_202C_206B_202A_200B_200F_202C_200B_206E_202A_202B_202E_206B_206C_202C_202A_202C_202E_206E_200B_202C_202C_200F_202A_206C_206B_206B_202C_206E_206C_202B_206C_202C_200E_202C_202D_202E(IGameObject P_0)
{
return P_0.BaseId;
}
static bool _202A_206A_202A_200C_206B_202E_200E_206E_206E_200D_206C_202B_206B_206C_206D_202C_202B_200B_200C_200F_200B_202B_202D_206C_200B_200F_206F_202D_200B_200E_206E_202E_202B_200E_202C_202B_202C_206B_200D_202E_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
}
private sealed record NodeCondition(uint CurrentCollectability, uint MaxCollectability, uint CurrentIntegrity, uint MaxIntegrity, bool ScrutinyActive, uint CollectabilityFromScour, uint CollectabilityFromMeticulous)
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206A_206E_206D_206E_206E_202E_206C_206A_206D_202C_206D_206A_202D_202C_200F_202A_202A_202D_200F_206E_206C_206A_206E_200D_202C_200D_206B_206D_202C_206D_202B_200E_206E_200C_202E_200B_206F_202E_202D_200D_202E(typeof(NodeCondition).TypeHandle);
}
}
public uint CollectabilityToGoal(uint goal)
{
if (goal >= CurrentCollectability)
int num = ((goal < CurrentCollectability) ? (-1343525975) : (-1343525974));
while (true)
{
return goal - CurrentCollectability;
int num2 = num;
int num3 = -1343525973;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return (CurrentCollectability == 0) ? 1u : 0u;
case 1:
return goal - CurrentCollectability;
case 0:
goto IL_005c;
}
continue;
IL_005c:
num = -1343525974;
}
return (CurrentCollectability == 0) ? 1u : 0u;
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = _206E_202C_200C_206D_200D_202C_202E_206A_206D_206F_202A_202C_206D_202A_200C_206F_206C_202A_206D_202B_202A_202B_200B_206D_202D_202C_206B_206C_200B_206C_202A_200C_202E_202D_206E_206D_202E_206E_200B_206F_202E();
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(stringBuilder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1102678348));
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(stringBuilder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(698284764));
int num = ((!PrintMembers(stringBuilder)) ? 376930465 : 376930466);
while (true)
{
int num2 = num;
int num3 = 376930464;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
_202C_206D_206A_202D_206B_202E_202C_206C_200D_200D_202B_206D_200C_202D_202C_202D_202C_200E_202D_202E_206A_200D_206A_202E_200D_200C_200C_206A_200C_206A_202E_200F_206A_202B_206D_202C_206D_202D_200C_206C_202E(stringBuilder, '}');
return _200B_202B_202A_200E_200E_200D_200E_200E_202A_200B_202E_202A_206B_202A_200D_206C_206C_206F_202D_202A_200C_202D_200D_206F_206A_202D_200E_206F_206E_200B_202A_200C_206A_206F_206A_206B_202A_202D_202C_202E_202E((object)stringBuilder);
case 2:
_202C_206D_206A_202D_206B_202E_202C_206C_200D_200D_202B_206D_200C_202D_202C_202D_202C_200E_202D_202E_206A_200D_206A_202E_200D_200C_200C_206A_200C_206A_202E_200F_206A_202B_206D_202C_206D_202D_200C_206C_202E(stringBuilder, ' ');
num = 376930465;
break;
case 0:
num = 376930466;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202D_200D_206D_200E_202C_200F_202D_206A_202A_206A_202E_206D_206C_200C_202B_200B_200B_206F_206E_200F_202D_200D_206E_206D_202D_206A_206B_206A_202D_206D_202E_206B_202A_202D_202C_200F_206D_200C_206F_200D_202E();
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-608021837));
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, CurrentCollectability.ToString());
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(2066958103));
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, MaxCollectability.ToString());
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-706377363));
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, CurrentIntegrity.ToString());
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-634525791));
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, MaxIntegrity.ToString());
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(742968729));
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, ScrutinyActive.ToString());
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(506728788));
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, CollectabilityFromScour.ToString());
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1577334643));
_202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(builder, CollectabilityFromMeticulous.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(NodeCondition? other)
{
int num = (((object)this == other) ? (-1448578084) : (-1448578095));
while (true)
{
int num2 = num;
int num3 = -1448578086;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
num = ((!EqualityComparer<uint>.Default.Equals(MaxIntegrity, other.MaxIntegrity)) ? (-1448578093) : (-1448578083));
break;
case 11:
num = (((object)other == null) ? (-1448578093) : (-1448578088));
break;
case 9:
return false;
case 4:
return EqualityComparer<uint>.Default.Equals(CollectabilityFromMeticulous, other.CollectabilityFromMeticulous);
case 0:
num = ((!EqualityComparer<uint>.Default.Equals(CollectabilityFromScour, other.CollectabilityFromScour)) ? (-1448578093) : (-1448578082));
break;
case 3:
num = ((!EqualityComparer<uint>.Default.Equals(CurrentIntegrity, other.CurrentIntegrity)) ? (-1448578093) : (-1448578085));
break;
case 8:
num = ((!EqualityComparer<uint>.Default.Equals(MaxCollectability, other.MaxCollectability)) ? (-1448578093) : (-1448578087));
break;
case 5:
num = -1448578095;
break;
case 6:
return true;
case 10:
num = ((!EqualityComparer<uint>.Default.Equals(CurrentCollectability, other.CurrentCollectability)) ? (-1448578093) : (-1448578094));
break;
case 2:
num = ((!_202D_206C_206A_206B_200B_200C_206F_200D_206B_206D_200B_206C_202A_206A_202E_206B_202E_206D_200E_206D_202A_200D_202A_200B_206F_202C_200C_206E_206F_206B_206A_200E_206B_200E_206D_206F_200B_202C_200D_200D_202E(EqualityContract, other.EqualityContract)) ? (-1448578093) : (-1448578096));
break;
case 7:
num = ((!EqualityComparer<bool>.Default.Equals(ScrutinyActive, other.ScrutinyActive)) ? (-1448578093) : (-1448578086));
break;
}
}
}
bool IEquatable<NodeCondition>.Equals(NodeCondition? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206A_206E_206D_206E_206E_202E_206C_206A_206D_202C_206D_206A_202D_202C_200F_202A_202A_202D_200F_206E_206C_206A_206E_200D_202C_200D_206B_206D_202C_206D_202B_200E_206E_200C_202E_200B_206F_202E_202D_200D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static StringBuilder _206E_202C_200C_206D_200D_202C_202E_206A_206D_206F_202A_202C_206D_202A_200C_206F_206C_202A_206D_202B_202A_202B_200B_206D_202D_202C_206B_206C_200B_206C_202A_200C_202E_202D_206E_206D_202E_206E_200B_206F_202E()
{
return new StringBuilder();
}
static StringBuilder _202C_200C_202D_200F_200B_200F_206B_202B_202B_202C_200E_200E_202C_200D_206F_206D_200C_200D_200F_200D_206C_206D_200E_200E_200E_200F_202A_206C_202E_200B_200B_200B_202C_202B_202C_206E_200F_200F_202C_200F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202C_206D_206A_202D_206B_202E_202C_206C_200D_200D_202B_206D_200C_202D_202C_202D_202C_200E_202D_202E_206A_200D_206A_202E_200D_200C_200C_206A_200C_206A_202E_200F_206A_202B_206D_202C_206D_202D_200C_206C_202E(StringBuilder P_0, char P_1)
{
return P_0.Append(P_1);
}
static string _200B_202B_202A_200E_200E_200D_200E_200E_202A_200B_202E_202A_206B_202A_200D_206C_206C_206F_202D_202A_200C_202D_200D_206F_206A_202D_200E_206F_206E_200B_202A_200C_206A_206F_206A_206B_202A_202D_202C_202E_202E(object P_0)
{
return P_0.ToString();
}
static void _202D_200D_206D_200E_202C_200F_202D_206A_202A_206A_202E_206D_206C_200C_202B_200B_200B_206F_206E_200F_202D_200D_206E_206D_202D_206A_206B_206A_202D_206D_202E_206B_202A_202D_202C_200F_206D_200C_206F_200D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static bool _202D_206C_206A_206B_200B_200C_206F_200D_206B_206D_200B_206C_202A_206A_202E_206B_202E_206D_200E_206D_202A_200D_202A_200B_206F_202C_200C_206E_206F_206B_206A_200E_206B_200E_206D_206F_200B_202C_200D_200D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
}

View file

@ -1,6 +1,10 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Enums;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Game.Text.SeStringHandling;
@ -18,38 +22,224 @@ internal static class MoveToLandingLocation
{
internal sealed record Task(ushort TerritoryId, bool FlyBetweenNodes, GatheringNode GatheringNode) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206D_206E_202C_202B_206A_200C_200C_200B_200B_206B_206F_206D_206C_202B_206D_200C_202B_206D_200C_206D_206E_202A_206B_200C_202A_206D_202E_202C_200F_206C_202E_202C_200E_202B_202D_202D_202B_206F_202B_200C_202E(typeof(Task).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Land/{FlyBetweenNodes}";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(5, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1985466382));
defaultInterpolatedStringHandler.AppendFormatted(FlyBetweenNodes);
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206B_206E_202E_202A_206D_200D_202D_200C_202C_202C_206D_206C_202A_206E_206B_202A_202A_206A_202E_206F_202A_200E_202E_202A_202D_206E_202E_202D_206A_202B_200B_206C_202B_200B_206B_206D_200F_206E_206F_206A_202E();
_206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1030915870));
_206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(builder, TerritoryId.ToString());
_206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1326412835));
_206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(builder, FlyBetweenNodes.ToString());
_206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-41827092));
_202C_200F_206A_206A_202C_200C_206F_206E_202E_202C_200C_206C_202B_202A_206B_206E_200D_206D_202A_200E_202E_200E_200C_202D_202C_202A_200F_206D_202A_202E_206C_202C_206F_202A_206F_200B_202B_202A_202A_206A_202E(builder, (object)GatheringNode);
return true;
}
[CompilerGenerated]
public bool Equals(Task? other)
{
int num = (((object)this == other) ? (-1523296508) : (-1523296507));
while (true)
{
int num2 = num;
int num3 = -1523296508;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 7:
num = -1523296507;
break;
case 6:
num = ((!EqualityComparer<ushort>.Default.Equals(TerritoryId, other.TerritoryId)) ? (-1523296505) : (-1523296512));
break;
case 3:
return false;
case 1:
num = (((object)other == null) ? (-1523296505) : (-1523296506));
break;
case 4:
num = ((!EqualityComparer<bool>.Default.Equals(FlyBetweenNodes, other.FlyBetweenNodes)) ? (-1523296505) : (-1523296511));
break;
case 0:
return true;
case 5:
return EqualityComparer<Questionable.Model.Gathering.GatheringNode>.Default.Equals(GatheringNode, other.GatheringNode);
case 2:
num = ((!_200C_206D_202D_200F_206A_202B_206C_202A_206D_206E_202C_200F_202D_200D_206A_200D_202A_202E_206F_202B_206A_202A_206E_202A_206C_202C_202A_202B_206A_200E_206D_206D_202E_206E_202C_200C_200E_206D_202A_202C_202E(EqualityContract, other.EqualityContract)) ? (-1523296505) : (-1523296510));
break;
}
}
}
bool IEquatable<Task>.Equals(Task? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206D_206E_202C_202B_206A_200C_200C_200B_200B_206B_206F_206D_206C_202B_206D_200C_202B_206D_200C_206D_206E_202A_206B_200C_202A_206D_202E_202C_200F_206C_202E_202C_200E_202B_202D_202D_202B_206F_202B_200C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206B_206E_202E_202A_206D_200D_202D_200C_202C_202C_206D_206C_202A_206E_206B_202A_202A_206A_202E_206F_202A_200E_202E_202A_202D_206E_202E_202D_206A_202B_200B_206C_202B_200B_206B_206D_200F_206E_206F_206A_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206A_206F_206A_200E_206A_206E_202D_206A_202A_200B_206B_202B_200C_206A_206C_202B_200F_206B_202E_202D_202B_206C_202A_200B_202A_206D_202D_206F_200E_200F_206F_202E_202C_202D_206E_200C_202C_202A_202D_202D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202C_200F_206A_206A_202C_200C_206F_206E_202E_202C_200C_206C_202B_202A_206B_206E_200D_206D_202A_200E_202E_200E_200C_202D_202C_202A_200F_206D_202A_202E_206C_202C_206F_202A_206F_200B_202B_202A_202A_206A_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _200C_206D_202D_200F_206A_202B_206C_202A_206D_206E_202C_200F_202D_200D_206A_200D_202A_202E_206F_202B_206A_202A_206E_202A_206C_202C_202A_202B_206A_200E_206D_206D_202E_206E_202C_200C_200E_206D_202A_202C_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class MoveToLandingLocationExecutor(MoveExecutor moveExecutor, GameFunctions gameFunctions, IObjectTable objectTable, ILogger<MoveToLandingLocationExecutor> logger) : TaskExecutor<Task>(), IToastAware, ITaskExecutor
{
[CompilerGenerated]
private sealed class _003C_003Ec__DisplayClass6_0
{
public IGameObject gameObject;
internal bool _003CStart_003Eb__1(GatheringLocation x)
{
return Vector3.Distance(_206C_200F_206C_200E_202B_200C_202C_200E_206E_202D_202B_206C_202D_202B_202D_206E_200F_202E_206B_206E_200C_200D_202E_206E_200E_200C_202A_206C_206F_206B_206B_202D_200C_202D_200B_206F_200C_202A_206E_200F_202E(x), _206F_206F_200C_206F_206B_202A_200F_200D_206C_202D_206B_206B_202D_202C_200B_206F_206D_206D_206D_200C_200F_206F_206A_200D_202D_206D_206C_206D_202C_202D_202B_200D_200D_200E_200B_206E_202C_206E_202C_200D_202E(gameObject)) < 0.1f;
}
static Vector3 _206C_200F_206C_200E_202B_200C_202C_200E_206E_202D_202B_206C_202D_202B_202D_206E_200F_202E_206B_206E_200C_200D_202E_206E_200E_200C_202A_206C_206F_206B_206B_202D_200C_202D_200B_206F_200C_202A_206E_200F_202E(GatheringLocation P_0)
{
return P_0.Position;
}
static Vector3 _206F_206F_200C_206F_206B_202A_200F_200D_206C_202D_206B_206B_202D_202C_200B_206F_206D_206D_206D_200C_200F_206F_206A_200D_202D_206D_206C_206D_202C_202D_202B_200D_200D_200E_200B_206E_202C_206E_202C_200D_202E(IGameObject P_0)
{
return P_0.Position;
}
}
private ITask _moveTask;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
GatheringLocation location = base.Task.GatheringNode.Locations.First();
if (base.Task.GatheringNode.Locations.Count > 1)
GatheringLocation gatheringLocation = _202B_202D_206F_206B_202D_200B_200E_200F_200D_200F_202D_206E_200E_202C_200C_206C_206C_200F_202B_202C_200B_200E_202C_206F_206D_206A_200F_200D_206D_202D_200E_200B_206F_202D_206C_206C_206C_200D_206B_206C_202E(base.Task.GatheringNode).First();
int num = ((_202B_202D_206F_206B_202D_200B_200E_200F_200D_200F_202D_206E_200E_202C_200C_206C_206C_200F_202B_202C_200B_200E_202C_206F_206D_206A_200F_200D_206D_202D_200E_200B_206F_202D_206C_206C_206C_200D_206B_206C_202E(base.Task.GatheringNode).Count <= 1) ? (-148025039) : (-148025036));
_003C_003Ec__DisplayClass6_0 _003C_003Ec__DisplayClass6_ = default(_003C_003Ec__DisplayClass6_0);
Vector3 vector = default(Vector3);
while (true)
{
IGameObject gameObject = objectTable.SingleOrDefault((IGameObject x) => x.ObjectKind == ObjectKind.GatheringPoint && x.BaseId == base.Task.GatheringNode.DataId && x.IsTargetable);
if (gameObject == null)
int num2 = num;
int num3 = -148025039;
int num4 = num2;
int num5;
bool flag;
ushort territoryId;
Vector3 destination;
float? stopDistance;
uint? dataId;
bool fly;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
num5 = 0;
goto IL_0086;
case 4:
return false;
case 5:
_003C_003Ec__DisplayClass6_ = new _003C_003Ec__DisplayClass6_0();
_003C_003Ec__DisplayClass6_.gameObject = objectTable.SingleOrDefault(delegate(IGameObject x)
{
int num8 = ((_202D_202A_206A_206A_206A_202C_200E_206E_200D_202C_206A_206A_200E_206E_200E_200D_200C_202E_200E_200D_202B_206E_202A_200E_200C_202D_202A_200F_206A_206A_206D_200F_200C_202B_202D_206E_206D_206F_206B_202A_202E(x) != ObjectKind.GatheringPoint) ? 412306684 : 412306686);
while (true)
{
int num9 = num8;
int num10 = 412306687;
int num11 = num9;
int num12 = num11 + num10;
int num13 = num11 & num10;
switch (num12 - (num13 + num13))
{
case 0:
num8 = 412306686;
break;
case 2:
return _206E_202D_206F_200D_206C_206F_206E_206F_200E_200B_206F_200D_206D_202B_206A_200F_206E_202A_202E_202E_206B_202C_200B_202D_202A_202A_200F_202D_206F_200B_202D_200C_202B_202E_200D_206E_200D_206A_206F_206D_202E(x);
case 3:
return false;
case 1:
num8 = ((_202D_202A_206D_202C_206F_206C_202A_206D_202B_202A_206F_206D_206C_202B_202E_200B_202A_206D_200F_200B_200F_202A_202E_200E_202A_200B_202A_200E_206F_202C_200D_206B_206D_202D_206C_206A_206A_206B_202D_202B_202E(x) != _202A_202B_206B_202E_200F_206B_202C_206D_206F_202C_202A_200F_202E_202E_206F_200D_206D_206E_206D_202D_200F_200E_202B_206B_206E_206E_206B_202C_200B_200D_206B_200D_206A_200E_206C_202D_200D_206D_200F_200C_202E(base.Task.GatheringNode)) ? 412306684 : 412306685);
break;
}
}
});
num = ((_003C_003Ec__DisplayClass6_.gameObject != null) ? (-148025037) : (-148025035));
break;
case 0:
{
int num6;
float num7;
(vector, num6, num7) = _206D_202A_202C_202B_200E_200B_206F_202C_202B_200F_200D_202C_200D_202E_206C_202C_202B_206C_206A_206A_202D_206B_200D_206C_200B_206C_206E_200E_200F_200C_200C_202A_202E_206B_200F_206E_200F_206B_206E_202D_202E(gatheringLocation);
_202C_200B_200F_206D_200B_202B_202B_206C_200F_206D_202C_200B_202C_206A_206D_202E_200F_200E_202E_206C_206B_202C_206F_206D_206D_202B_200D_202D_200C_206F_202C_200F_202A_200F_200D_200F_202E_200E_206A_206B_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1690558388), new object[3]
{
vector.ToString(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1318690943), _200D_202B_202B_206A_206B_206D_206A_202B_200B_206E_206E_200E_202B_200C_206C_206E_200C_206C_202E_202A_200C_200B_206C_206A_206C_206F_206B_200E_202A_202B_202A_206B_200D_202A_202A_206D_202A_202B_206C_202A_202E()),
num6,
num7
});
num = ((!base.Task.FlyBetweenNodes) ? (-148025038) : (-148025040));
break;
}
case 6:
num = -148025036;
break;
case 1:
num5 = (gameFunctions.IsFlyingUnlocked(base.Task.TerritoryId) ? 1 : 0);
goto IL_0086;
case 2:
{
gatheringLocation = _202B_202D_206F_206B_202D_200B_200E_200F_200D_200F_202D_206E_200E_202C_200C_206C_206C_200F_202B_202C_200B_200E_202C_206F_206D_206A_200F_200D_206D_202D_200E_200B_206F_202D_206C_206C_206C_200D_206B_206C_202E(base.Task.GatheringNode).Single(_003C_003Ec__DisplayClass6_._003CStart_003Eb__1);
num = -148025039;
break;
}
IL_0086:
flag = (byte)num5 != 0;
territoryId = base.Task.TerritoryId;
destination = vector;
stopDistance = 0.25f;
dataId = _202A_202B_206B_202E_200F_206B_202C_206D_206F_202C_202A_200F_202E_202E_206F_200D_206D_206E_206D_202D_200F_200E_202B_206B_206E_206E_206B_202C_200B_200D_206B_200D_206A_200E_206C_202D_200D_206D_200F_200C_202E(base.Task.GatheringNode);
fly = flag;
_moveTask = new MoveTask(territoryId, destination, null, MountRequired: false, DismountRequired: false, stopDistance, dataId, DisableNavmesh: false, null, fly, Land: false, IgnoreDistanceToObject: true, RestartNavigation: true, EInteractionType.Gather);
return moveExecutor.Start(_moveTask);
}
location = base.Task.GatheringNode.Locations.Single((GatheringLocation x) => Vector3.Distance(x.Position, gameObject.Position) < 0.1f);
}
var (vector, num, num2) = GatheringMath.CalculateLandingLocation(location);
logger.LogInformation("Preliminary landing location: {Location}, with degrees = {Degrees}, range = {Range}", vector.ToString("G", CultureInfo.InvariantCulture), num, num2);
bool flag = base.Task.FlyBetweenNodes && gameFunctions.IsFlyingUnlocked(base.Task.TerritoryId);
ushort territoryId = base.Task.TerritoryId;
Vector3 destination = vector;
float? stopDistance = 0.25f;
uint? dataId = base.Task.GatheringNode.DataId;
bool fly = flag;
_moveTask = new MoveTask(territoryId, destination, null, stopDistance, dataId, DisableNavmesh: false, null, fly, Land: false, IgnoreDistanceToObject: true, RestartNavigation: true, EInteractionType.Gather);
return moveExecutor.Start(_moveTask);
}
public override ETaskResult Update()
@ -62,9 +252,55 @@ internal static class MoveToLandingLocation
return moveExecutor.OnErrorToast(message);
}
bool IToastAware.OnErrorToast(SeString message)
{
//ILSpy generated this explicit interface implementation from .override directive in OnErrorToast
return this.OnErrorToast(message);
}
public override bool ShouldInterruptOnDamage()
{
return moveExecutor.ShouldInterruptOnDamage();
}
static List<GatheringLocation> _202B_202D_206F_206B_202D_200B_200E_200F_200D_200F_202D_206E_200E_202C_200C_206C_206C_200F_202B_202C_200B_200E_202C_206F_206D_206A_200F_200D_206D_202D_200E_200B_206F_202D_206C_206C_206C_200D_206B_206C_202E(GatheringNode P_0)
{
return P_0.Locations;
}
static (Vector3, int, float) _206D_202A_202C_202B_200E_200B_206F_202C_202B_200F_200D_202C_200D_202E_206C_202C_202B_206C_206A_206A_202D_206B_200D_206C_200B_206C_206E_200E_200F_200C_200C_202A_202E_206B_200F_206E_200F_206B_206E_202D_202E(GatheringLocation P_0)
{
return GatheringMath.CalculateLandingLocation(P_0);
}
static CultureInfo _200D_202B_202B_206A_206B_206D_206A_202B_200B_206E_206E_200E_202B_200C_206C_206E_200C_206C_202E_202A_200C_200B_206C_206A_206C_206F_206B_200E_202A_202B_202A_206B_200D_202A_202A_206D_202A_202B_206C_202A_202E()
{
return CultureInfo.InvariantCulture;
}
static void _202C_200B_200F_206D_200B_202B_202B_206C_200F_206D_202C_200B_202C_206A_206D_202E_200F_200E_202E_206C_206B_202C_206F_206D_206D_202B_200D_202D_200C_206F_202C_200F_202A_200F_200D_200F_202E_200E_206A_206B_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static uint _202A_202B_206B_202E_200F_206B_202C_206D_206F_202C_202A_200F_202E_202E_206F_200D_206D_206E_206D_202D_200F_200E_202B_206B_206E_206E_206B_202C_200B_200D_206B_200D_206A_200E_206C_202D_200D_206D_200F_200C_202E(GatheringNode P_0)
{
return P_0.DataId;
}
static ObjectKind _202D_202A_206A_206A_206A_202C_200E_206E_200D_202C_206A_206A_200E_206E_200E_200D_200C_202E_200E_200D_202B_206E_202A_200E_200C_202D_202A_200F_206A_206A_206D_200F_200C_202B_202D_206E_206D_206F_206B_202A_202E(IGameObject P_0)
{
return P_0.ObjectKind;
}
static uint _202D_202A_206D_202C_206F_206C_202A_206D_202B_202A_206F_206D_206C_202B_202E_200B_202A_206D_200F_200B_200F_202A_202E_200E_202A_200B_202A_200E_206F_202C_200D_206B_206D_202D_206C_206A_206A_206B_202D_202B_202E(IGameObject P_0)
{
return P_0.BaseId;
}
static bool _206E_202D_206F_200D_206C_206F_206E_206F_200E_200B_206F_200D_206D_202B_206A_200F_206E_202A_202E_202E_206B_202C_200B_202D_202A_202A_200F_202D_206F_200B_202D_200C_202B_202E_200D_206E_200D_206A_206F_206D_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
}
}

View file

@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Types;
using FFXIVClientStructs.FFXIV.Client.Game;
using Microsoft.Extensions.Logging;
@ -16,149 +18,534 @@ internal static class Action
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.Action)
int num = ((_202A_206F_206D_202A_200C_200D_206A_200C_200F_202A_206E_200D_200E_200B_202C_200D_206E_202C_202E_200D_206A_200D_206E_206B_206A_206D_200E_206F_206E_200F_202E_200F_202A_206E_206A_202E_202D_206E_202A_206E_202E(step) == EInteractionType.Action) ? (-1373347802) : (-1373347807));
ITask task = default(ITask);
while (true)
{
return Array.Empty<ITask>();
int num2 = num;
int num3 = -1373347808;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2]
{
new Mount.UnmountTask(),
task
});
case 5:
_206D_202D_200B_200B_206D_202B_202D_200E_206C_206C_200B_200C_200F_206B_202B_202B_202B_206A_202E_202E_202A_200B_206F_206B_202C_202C_200C_206F_200E_202A_202C_206F_200B_200F_200B_206C_200E_202C_202E((object)_202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(step), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-47284709));
task = OnObject(_202E_206B_206B_200F_200F_202E_202C_206A_200C_206C_200F_202C_200C_206D_202D_200B_206D_202A_200F_200D_202D_206E_202A_206B_206B_200C_200B_200B_200E_202C_202A_202B_200B_206B_206C_206D_206E_202E_200C_202A_202E(step), quest, _202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(step).Value, _206A_206D_206B_202A_200E_200F_200D_202B_202A_202E_200F_206C_206A_202C_206F_206B_202C_200E_206C_206B_202D_202A_202A_202A_206B_200D_200E_206A_202D_202B_202A_206B_202B_206C_200E_200D_200C_200D_206E_200E_202E(step));
num = ((!_206C_206C_200B_202C_202D_206F_200E_206E_200C_206B_202D_200F_206B_206C_202B_206D_200E_200B_202C_206F_202B_200F_200F_202B_200C_202A_206A_206D_206E_200B_206D_202D_206C_206E_200B_202A_200B_206F_202C_202E_202E(_202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(step).Value)) ? (-1373347804) : (-1373347808));
break;
case 1:
return Array.Empty<ITask>();
case 6:
num = ((_206F_206E_206C_206B_200D_202C_202D_206A_200F_202A_200B_206C_200E_206C_200B_202D_200B_206D_206B_206F_202B_200C_202A_202C_200B_202E_202B_200B_202B_200B_200B_206F_202C_202D_206C_206A_202B_202D_206B_202E_202E(step).Count <= 0) ? (-1373347803) : (-1373347806));
break;
case 0:
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(task);
case 2:
return Array.Empty<ITask>();
case 3:
num = -1373347807;
break;
}
}
if (step.DataIds.Count > 0)
{
return Array.Empty<ITask>();
}
ArgumentNullException.ThrowIfNull(step.Action, "step.Action");
ITask task = OnObject(step.DataId, quest, step.Action.Value, step.CompletionQuestVariablesFlags);
if (step.Action.Value.RequiresMount())
{
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(task);
}
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2]
{
new Mount.UnmountTask(),
task
});
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static ITask OnObject(uint? dataId, Quest quest, EAction action, List<QuestWorkValue?>? completionQuestVariablesFlags)
{
if ((uint)(action - 2265) <= 2u)
int num = (((uint)(action - 2265) > 2u) ? (-1095430213) : (-1095430209));
bool flag = default(bool);
while (true)
{
ArgumentNullException.ThrowIfNull(dataId, "dataId");
return new UseMudraOnObject(dataId.Value, action);
int num2 = num;
int num3 = -1095430210;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
_206D_202D_200B_200B_206D_202B_202D_200E_206C_206C_200B_200C_200F_206B_202B_202B_202B_206A_202E_202E_202A_200B_206F_206B_202C_202C_200C_206F_200E_202A_202C_206F_200B_200F_200B_206C_200E_202C_202E((object)dataId, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-435733247));
return new UseMudraOnObject(dataId.Value, action);
case 2:
return new UseOnObject(dataId, quest, action, completionQuestVariablesFlags);
case 5:
flag = false;
num = -1095430210;
break;
case 0:
num = ((!flag) ? (-1095430212) : (-1095430214));
break;
case 3:
num = -1095430209;
break;
case 1:
flag = true;
num = -1095430210;
break;
}
}
return new UseOnObject(dataId, quest, action, completionQuestVariablesFlags);
}
static EInteractionType _202A_206F_206D_202A_200C_200D_206A_200C_200F_202A_206E_200D_200E_200B_202C_200D_206E_202C_202E_200D_206A_200D_206E_206B_206A_206D_200E_206F_206E_200F_202E_200F_202A_206E_206A_202E_202D_206E_202A_206E_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static List<uint> _206F_206E_206C_206B_200D_202C_202D_206A_200F_202A_200B_206C_200E_206C_200B_202D_200B_206D_206B_206F_202B_200C_202A_202C_200B_202E_202B_200B_202B_200B_200B_206F_202C_202D_206C_206A_202B_202D_206B_202E_202E(QuestStep P_0)
{
return P_0.DataIds;
}
static EAction? _202E_202E_206A_200F_206B_202B_200B_202D_202D_200D_200D_200F_200C_200B_200D_206C_202E_202B_202E_202D_200C_200D_202A_206F_202A_202E_200C_206C_206C_200E_200E_206A_206A_202B_206B_202D_200C_206D_200E_206F_202E(QuestStep P_0)
{
return P_0.Action;
}
static void _206D_202D_200B_200B_206D_202B_202D_200E_206C_206C_200B_200C_200F_206B_202B_202B_202B_206A_202E_202E_202A_200B_206F_206B_202C_202C_200C_206F_200E_202A_202C_206F_200B_200F_200B_206C_200E_202C_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static uint? _202E_206B_206B_200F_200F_202E_202C_206A_200C_206C_200F_202C_200C_206D_202D_200B_206D_202A_200F_200D_202D_206E_202A_206B_206B_200C_200B_200B_200E_202C_202A_202B_200B_206B_206C_206D_206E_202E_200C_202A_202E(QuestStep P_0)
{
return P_0.DataId;
}
static List<QuestWorkValue> _206A_206D_206B_202A_200E_200F_200D_202B_202A_202E_200F_206C_206A_202C_206F_206B_202C_200E_206C_206B_202D_202A_202A_202A_206B_200D_200E_206A_202D_202B_202A_206B_202B_206C_200E_200D_200C_200D_206E_200E_202E(QuestStep P_0)
{
return P_0.CompletionQuestVariablesFlags;
}
static bool _206C_206C_200B_202C_202D_206F_200E_206E_200C_206B_202D_200F_206B_206C_202B_206D_200E_200B_202C_206F_202B_200F_200F_202B_200C_202A_206A_206D_206E_200B_206D_202D_206C_206E_200B_202A_200B_206F_202C_202E_202E(EAction P_0)
{
return P_0.RequiresMount();
}
}
internal sealed record UseOnObject(uint? DataId, Quest? Quest, EAction Action, List<QuestWorkValue?>? CompletionQuestVariablesFlags) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200D_202A_200F_200E_206F_206B_202D_206D_200F_200B_206B_202D_202A_202E_202D_202D_200C_200E_200D_206E_200B_200E_206A_202D_202B_200C_202C_202B_202A_206E_206B_200C_206A_202E_200B_202E_206A_200B_206F_206B_202E(typeof(UseOnObject).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Action({Action})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(8, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1657599072));
defaultInterpolatedStringHandler.AppendFormatted(Action);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(424561659));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200F_202B_200C_200C_200F_200E_202D_200B_202C_206F_200B_202E_202E_206E_200C_206F_202E_206C_200F_206A_206D_202E_200D_206F_206A_202E_200B_206D_202E_202E_206A_206C_200C_202A_202B_200F_200B_206F_202A_202E_202E();
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(931106117));
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, DataId.ToString());
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-862307262));
_200E_202D_202A_202C_202A_202A_200E_206B_206C_200E_206A_200C_202C_202E_206D_206E_200F_206A_202D_200C_206E_200C_200D_200D_206F_200B_202E_206D_202B_200E_200D_200C_206A_206D_202A_200D_202C_200E_200F_200F_202E(builder, (object?)Quest);
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(353413506));
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, Action.ToString());
_202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1930370304));
_200E_202D_202A_202C_202A_202A_200E_206B_206C_200E_206A_200C_202C_202E_206D_206E_200F_206A_202D_200C_206E_200C_200D_200D_206F_200B_202E_206D_202B_200E_200D_200C_206A_206D_202A_200D_202C_200E_200F_200F_202E(builder, (object?)CompletionQuestVariablesFlags);
return true;
}
[CompilerGenerated]
public bool Equals(UseOnObject? other)
{
int num = (((object)this == other) ? (-1034888155) : (-1034888156));
while (true)
{
int num2 = num;
int num3 = -1034888158;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = ((!EqualityComparer<Questionable.Model.Quest>.Default.Equals(Quest, other.Quest)) ? (-1034888154) : (-1034888157));
break;
case 4:
return false;
case 7:
return true;
case 1:
num = ((!EqualityComparer<EAction>.Default.Equals(Action, other.Action)) ? (-1034888154) : (-1034888153));
break;
case 0:
num = ((!EqualityComparer<uint?>.Default.Equals(DataId, other.DataId)) ? (-1034888154) : (-1034888160));
break;
case 3:
num = -1034888156;
break;
case 5:
return EqualityComparer<List<QuestWorkValue>>.Default.Equals(CompletionQuestVariablesFlags, other.CompletionQuestVariablesFlags);
case 6:
num = (((object)other == null) ? (-1034888154) : (-1034888150));
break;
case 8:
num = ((!_200E_200D_200C_206C_206E_206B_200E_206E_202B_200F_206A_200F_202A_200F_206B_202D_206E_206C_200C_202E_200B_206F_206D_202E_202D_202C_200E_206D_202A_206F_200E_206C_206A_206D_200D_202E_202A_206C_202E_206A_202E(EqualityContract, other.EqualityContract)) ? (-1034888154) : (-1034888158));
break;
}
}
}
bool IEquatable<UseOnObject>.Equals(UseOnObject? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type? _200D_202A_200F_200E_206F_206B_202D_206D_200F_200B_206B_202D_202A_202E_202D_202D_200C_200E_200D_206E_200B_200E_206A_202D_202B_200C_202C_202B_202A_206E_206B_200C_206A_202E_200B_202E_206A_200B_206F_206B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200F_202B_200C_200C_200F_200E_202D_200B_202C_206F_200B_202E_202E_206E_200C_206F_202E_206C_200F_206A_206D_202E_200D_206F_206A_202E_200B_206D_202E_202E_206A_206C_200C_202A_202B_200F_200B_206F_202A_202E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder? _202E_206C_206D_206D_202C_202D_200C_202D_206C_206C_206C_206C_200C_200D_206F_202D_202C_200C_202B_206A_202D_200C_200D_202C_206A_206B_202C_202A_202E_200D_206C_206C_200D_206F_200D_200E_200F_200D_202D_200C_202E(StringBuilder? P_0, string? P_1)
{
return P_0.Append(P_1);
}
static StringBuilder? _200E_202D_202A_202C_202A_202A_200E_206B_206C_200E_206A_200C_202C_202E_206D_206E_200F_206A_202D_200C_206E_200C_200D_200D_206F_200B_202E_206D_202B_200E_200D_200C_206A_206D_202A_200D_202C_200E_200F_200F_202E(StringBuilder? P_0, object? P_1)
{
return P_0.Append(P_1);
}
static bool _200E_200D_200C_206C_206E_206B_200E_206E_202B_200F_206A_200F_202A_200F_206B_202D_206E_206C_200C_202E_200B_206F_206D_202E_202D_202C_200E_206D_202A_206F_200E_206C_206A_206D_200D_202E_202A_206C_202E_206A_202E(Type? P_0, Type? P_1)
{
return P_0 == P_1;
}
}
internal sealed class UseOnObjectExecutor(GameFunctions gameFunctions, QuestFunctions questFunctions, ILogger<UseOnObject> logger) : TaskExecutor<UseOnObject>()
internal sealed class UseOnObjectExecutor(GameFunctions gameFunctions, QuestFunctions questFunctions, ILogger<UseOnObjectExecutor> logger) : TaskExecutor<UseOnObject>()
{
private bool _usedAction;
private DateTime _continueAt = DateTime.MinValue;
private long _continueAt;
private bool _waitingForQuestFlags;
private long _questFlagWaitStarted;
public override bool HasTimedOut(float timeoutSeconds)
{
int num = (_waitingForQuestFlags ? (-369880556) : (-369880555));
while (true)
{
int num2 = num;
int num3 = -369880553;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
num = ((base.ProgressContext == null) ? (-369880553) : (-369880554));
break;
case 2:
return false;
case 4:
num = -369880555;
break;
case 0:
return _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() - _questFlagWaitStarted > (long)(timeoutSeconds * 1000f);
case 1:
return base.HasTimedOut(timeoutSeconds);
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
if (base.Task.DataId.HasValue)
int num = ((!base.Task.DataId.HasValue) ? (-1131442756) : (-1131442765));
IGameObject gameObject = default(IGameObject);
while (true)
{
IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value);
if (gameObject == null)
int num2 = num;
int num3 = -1131442757;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
logger.LogWarning("No game object with dataId {DataId}", base.Task.DataId);
return false;
}
if (gameObject.IsTargetable)
{
if (base.Task.Action == EAction.Diagnosis && gameFunctions.HasStatus(EStatus.Eukrasia) && GameFunctions.RemoveStatus(EStatus.Eukrasia))
{
_continueAt = DateTime.Now.AddSeconds(2.0);
return true;
}
_usedAction = gameFunctions.UseAction(gameObject, base.Task.Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
case 3:
num = -1131442765;
break;
case 0:
_continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 2000;
return true;
case 5:
num = ((!gameFunctions.HasStatus(EStatus.Eukrasia)) ? (-1131442759) : (-1131442758));
break;
case 7:
_usedAction = gameFunctions.UseAction(base.Task.Action);
_continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 500;
return true;
case 10:
num = ((base.Task.Action != EAction.Diagnosis) ? (-1131442759) : (-1131442754));
break;
case 6:
_202D_202C_202C_206B_202A_202E_200F_200F_206A_206B_206E_200E_200F_202D_202E_200F_202A_200C_202C_202D_206B_202C_206E_206D_202A_206E_206A_206D_206C_206A_200F_200C_202D_206F_202C_200B_206C_200B_202A_200D_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(600105394), new object[1] { base.Task.DataId });
return true;
case 2:
_usedAction = gameFunctions.UseAction(gameObject, base.Task.Action);
_continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 500;
return true;
case 1:
num = ((!GameFunctions.RemoveStatus(EStatus.Eukrasia)) ? (-1131442759) : (-1131442757));
break;
case 8:
gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value);
num = ((gameObject != null) ? (-1131442766) : (-1131442755));
break;
case 4:
_202D_202C_202C_206B_202A_202E_200F_200F_206A_206B_206E_200E_200F_202D_202E_200F_202A_200C_202C_202D_206B_202C_206E_206D_202A_206E_206A_206D_206C_206A_200F_200C_202D_206F_202C_200B_206C_200B_202A_200D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-2073702986), new object[2]
{
base.Task.DataId,
base.Task.Action
});
num = -1131442756;
break;
case 9:
num = ((!_200C_202B_200E_202A_206A_202C_200D_206C_202E_202D_206B_200E_200C_202C_200F_202E_206B_200B_200E_206F_200F_202A_206E_206F_200F_200B_202D_206F_206C_206E_206E_206F_206E_206C_206F_206E_206A_202D_200C_200C_202E(gameObject)) ? (-1131442753) : (-1131442767));
break;
}
logger.LogInformation("Object {DataId} is untargetable, using action {Action} without target", base.Task.DataId, base.Task.Action);
_usedAction = gameFunctions.UseAction(base.Task.Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
return true;
}
_usedAction = gameFunctions.UseAction(base.Task.Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
return true;
}
public override ETaskResult Update()
{
if (DateTime.Now <= _continueAt)
int num = ((_200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() > _continueAt) ? 1542849482 : 1542849479);
QuestProgressInfo questProgressInfo = default(QuestProgressInfo);
IGameObject gameObject = default(IGameObject);
while (true)
{
return ETaskResult.StillRunning;
}
if (!_usedAction)
{
if (base.Task.DataId.HasValue)
{
IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value);
if (gameObject == null)
{
return ETaskResult.StillRunning;
}
if (gameObject.IsTargetable)
{
_usedAction = gameFunctions.UseAction(gameObject, base.Task.Action);
}
else
{
_usedAction = gameFunctions.UseAction(base.Task.Action);
}
_continueAt = DateTime.Now.AddSeconds(0.5);
}
else
{
_usedAction = gameFunctions.UseAction(base.Task.Action);
_continueAt = DateTime.Now.AddSeconds(0.5);
}
return ETaskResult.StillRunning;
}
if (base.Task.Quest != null && base.Task.CompletionQuestVariablesFlags != null && QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariablesFlags))
{
QuestProgressInfo questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.Quest.Id);
if (questProgressInfo == null || !QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo))
int num2 = num;
int num3 = 1542849472;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 18:
ResetProgressTimer();
return ETaskResult.TaskComplete;
case 0:
questProgressInfo = questFunctions.GetQuestProgressInfo(base.Task.Quest.Id);
num = ((questProgressInfo == null) ? 1542849476 : 1542849478);
break;
case 16:
_continueAt = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E() + 500;
return ETaskResult.StillRunning;
case 10:
num = (_usedAction ? 1542849484 : 1542849474);
break;
case 11:
num = (_waitingForQuestFlags ? 1542849472 : 1542849489);
break;
case 14:
num = 1542849479;
break;
case 12:
num = ((base.Task.Quest == null) ? 1542849473 : 1542849481);
break;
case 7:
return ETaskResult.StillRunning;
case 6:
num = ((!QuestWorkUtils.MatchesQuestWork(base.Task.CompletionQuestVariablesFlags, questProgressInfo)) ? 1542849476 : 1542849490);
break;
case 17:
_waitingForQuestFlags = true;
_questFlagWaitStarted = _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E();
num = 1542849472;
break;
case 5:
_usedAction = (_200C_202B_200E_202A_206A_202C_200D_206C_202E_202D_206B_200E_200C_202C_200F_202E_206B_200B_200E_206F_200F_202A_206E_206F_200F_200B_202D_206F_206C_206E_206E_206F_206E_206C_206F_206E_206A_202D_200C_200C_202E(gameObject) ? gameFunctions.UseAction(gameObject, base.Task.Action) : gameFunctions.UseAction(base.Task.Action));
num = 1542849488;
break;
case 1:
return ETaskResult.TaskComplete;
case 4:
return ETaskResult.StillRunning;
case 2:
num = ((!base.Task.DataId.HasValue) ? 1542849487 : 1542849480);
break;
case 15:
_usedAction = gameFunctions.UseAction(base.Task.Action);
num = 1542849488;
break;
case 9:
num = ((base.Task.CompletionQuestVariablesFlags == null) ? 1542849473 : 1542849485);
break;
case 3:
return ETaskResult.StillRunning;
case 13:
num = ((!QuestWorkUtils.HasCompletionFlags(base.Task.CompletionQuestVariablesFlags)) ? 1542849473 : 1542849483);
break;
case 8:
gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId.Value);
num = ((gameObject != null) ? 1542849477 : 1542849475);
break;
}
return ETaskResult.TaskComplete;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static long _200C_206A_206B_202E_202B_200E_202A_206A_200F_202B_202D_200E_200F_206B_206E_200B_206E_200F_200C_206C_206A_200D_200C_202A_206A_206D_200E_200B_206F_202B_202D_202B_206C_206F_200D_206B_206F_206F_206B_202A_202E()
{
return Environment.TickCount64;
}
static void _202D_202C_202C_206B_202A_202E_200F_200F_206A_206B_206E_200E_200F_202D_202E_200F_202A_200C_202C_202D_206B_202C_206E_206D_202A_206E_206A_206D_206C_206A_200F_200C_202D_206F_202C_200B_206C_200B_202A_200D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _200C_202B_200E_202A_206A_202C_200D_206C_202E_202D_206B_200E_200C_202C_200F_202E_206B_200B_200E_206F_200F_202A_206E_206F_200F_200B_202D_206F_206C_206E_206E_206F_206E_206C_206F_206E_206A_202D_200C_200C_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
}
internal sealed record UseMudraOnObject(uint DataId, EAction Action) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206A_206F_202E_206E_206E_202E_206E_200B_206E_202D_200C_206C_200D_206C_206B_206B_202D_206E_200F_206B_206A_200F_202C_206B_206A_202B_206D_206B_206B_200B_206B_206D_206A_202C_200B_206C_200D_206F_200F_202E_202E(typeof(UseMudraOnObject).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Mudra({Action})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-604906008));
defaultInterpolatedStringHandler.AppendFormatted(Action);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206B_202C_206F_202D_202B_200B_206F_202E_202C_206B_200F_206B_200C_206C_206B_200E_200C_202E_202D_202E_202C_206C_202E_206B_200D_206F_206B_202B_200B_202A_202E_202D_206B_206F_200E_206D_206C_202B_206D_200F_202E();
_200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-813337770));
_200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, DataId.ToString());
_200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(353413506));
_200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(builder, Action.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(UseMudraOnObject? other)
{
int num = (((object)this == other) ? 1487709451 : 1487709452);
while (true)
{
int num2 = num;
int num3 = 1487709453;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return EqualityComparer<EAction>.Default.Equals(Action, other.Action);
case 1:
num = (((object)other == null) ? 1487709455 : 1487709449);
break;
case 4:
num = ((!_200D_206A_202B_206F_202C_206A_206E_206E_206E_200E_202D_202A_202E_200C_202A_200F_202D_200C_202B_200E_206F_206E_206F_200B_202A_202D_200E_200C_202C_206D_200E_206C_202A_202D_206E_206F_206C_202E_200D_202D_202E(EqualityContract, other.EqualityContract)) ? 1487709455 : 1487709448);
break;
case 0:
num = 1487709452;
break;
case 5:
num = ((!EqualityComparer<uint>.Default.Equals(DataId, other.DataId)) ? 1487709455 : 1487709454);
break;
case 2:
return false;
case 6:
return true;
}
}
}
bool IEquatable<UseMudraOnObject>.Equals(UseMudraOnObject? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206A_206F_202E_206E_206E_202E_206E_200B_206E_202D_200C_206C_200D_206C_206B_206B_202D_206E_200F_206B_206A_200F_202C_206B_206A_202B_206D_206B_206B_200B_206B_206D_206A_202C_200B_206C_200D_206F_200F_202E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206B_202C_206F_202D_202B_200B_206F_202E_202C_206B_200F_206B_200C_206C_206B_200E_200C_202E_202D_202E_202C_206C_202E_206B_200D_206F_206B_202B_200B_202A_202E_202D_206B_206F_200E_206D_206C_202B_206D_200F_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200C_200C_206F_200D_206E_200B_200E_202A_200B_202D_200F_206E_206C_206E_206E_202E_206F_202D_200E_202A_206D_200D_206B_206E_206A_206F_200B_200F_200B_200F_206C_206A_202B_202A_206B_202B_200B_200F_200D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _200D_206A_202B_206F_202C_206A_206E_206E_206E_200E_202D_202A_202E_200C_202A_200F_202D_200C_202B_200E_206F_206E_206F_200B_202A_202D_200E_200C_202C_206D_200E_206C_202A_202D_206E_206F_206C_202E_200D_202D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class UseMudraOnObjectExecutor(GameFunctions gameFunctions, ILogger<UseMudraOnObject> logger) : TaskExecutor<UseMudraOnObject>()
internal sealed class UseMudraOnObjectExecutor(GameFunctions gameFunctions, ILogger<UseMudraOnObjectExecutor> logger) : TaskExecutor<UseMudraOnObject>()
{
private static readonly ReadOnlyDictionary<EAction, Dictionary<EAction, EAction>> Combos = new Dictionary<EAction, Dictionary<EAction, EAction>>
{
@ -200,92 +587,264 @@ internal static class Action
}
}.AsReadOnly();
private DateTime _continueAt = DateTime.MinValue;
private long _continueAt;
protected override bool Start()
{
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
if (DateTime.Now < _continueAt)
int num = ((_202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() >= _continueAt) ? 1138571284 : 1138571280);
IGameObject gameObject = default(IGameObject);
EAction adjustedActionId = default(EAction);
Dictionary<EAction, EAction> value = default(Dictionary<EAction, EAction>);
EAction value2 = default(EAction);
while (true)
{
return ETaskResult.StillRunning;
}
EAction adjustedActionId = (EAction)ActionManager.Instance()->GetAdjustedActionId(2260u);
if (adjustedActionId == EAction.RabbitMedium)
{
_continueAt = DateTime.Now.AddSeconds(1.0);
return ETaskResult.StillRunning;
}
IGameObject gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId);
if (gameObject == null || !gameObject.IsTargetable)
{
return ETaskResult.StillRunning;
}
if (adjustedActionId == base.Task.Action)
{
_continueAt = DateTime.Now.AddSeconds(0.25);
if (!gameFunctions.UseAction(gameObject, base.Task.Action))
int num2 = num;
int num3 = 1138571289;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
gameObject = gameFunctions.FindObjectByDataId(base.Task.DataId);
num = ((gameObject == null) ? 1138571290 : 1138571285);
break;
case 7:
num = ((adjustedActionId != base.Task.Action) ? 1138571287 : 1138571293);
break;
case 11:
_continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 250;
return ETaskResult.StillRunning;
}
return ETaskResult.TaskComplete;
}
if (Combos.TryGetValue(base.Task.Action, out Dictionary<EAction, EAction> value))
{
if (value.TryGetValue(adjustedActionId, out var value2))
{
_continueAt = DateTime.Now.AddSeconds(0.25);
case 9:
return ETaskResult.StillRunning;
case 10:
num = ((!value.TryGetValue(adjustedActionId, out value2)) ? 1138571282 : 1138571292);
break;
case 6:
_206D_206F_202E_206B_200D_200D_200E_202B_206B_202E_202C_200E_200B_200C_202A_202D_206E_200F_202B_206C_202E_200D_206D_200C_206C_200C_206A_200C_202B_206A_200E_206D_206B_206F_202D_206B_200D_200D_206A_206E_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(412191854), new object[1] { base.Task.Action });
return ETaskResult.TaskComplete;
case 13:
adjustedActionId = (EAction)ActionManager.Instance()->GetAdjustedActionId(2260u);
num = ((adjustedActionId != EAction.RabbitMedium) ? 1138571288 : 1138571289);
break;
case 8:
return ETaskResult.StillRunning;
case 5:
_continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 250;
gameFunctions.UseAction(value2);
return ETaskResult.StillRunning;
case 14:
num = ((!Combos.TryGetValue(base.Task.Action, out value)) ? 1138571295 : 1138571283);
break;
case 4:
_continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 250;
num = (gameFunctions.UseAction(gameObject, base.Task.Action) ? 1138571291 : 1138571281);
break;
case 12:
num = (_206A_200C_206A_202D_200C_200D_202C_206C_202A_200F_206E_200F_200B_200E_200E_200F_206C_202D_200B_200B_206C_206D_202A_206B_202C_200F_202A_200D_200D_206D_200F_200F_206D_202A_206E_200D_200D_206B_206C_206E_202E(gameObject) ? 1138571294 : 1138571290);
break;
case 15:
num = 1138571280;
break;
case 3:
return ETaskResult.StillRunning;
case 2:
return ETaskResult.TaskComplete;
case 0:
_continueAt = _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E() + 1000;
return ETaskResult.StillRunning;
}
_continueAt = DateTime.Now.AddSeconds(0.25);
return ETaskResult.StillRunning;
}
logger.LogError("Unable to find relevant combo for {Action}", base.Task.Action);
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static long _202E_200B_202A_200B_200D_202D_200B_200D_202D_202C_200C_202D_206B_200F_202E_202C_202B_200D_206D_200E_200D_202C_206C_202D_206C_206D_206A_206A_202C_206C_202B_200F_202A_200E_202B_206A_202D_202C_202B_200E_202E()
{
return Environment.TickCount64;
}
static bool _206A_200C_206A_202D_200C_200D_202C_206C_202A_200F_206E_200F_200B_200E_200E_200F_206C_202D_200B_200B_206C_206D_202A_206B_202C_200F_202A_200D_200D_206D_200F_200F_206D_202A_206E_200D_200D_206B_206C_206E_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
static void _206D_206F_202E_206B_200D_200D_200E_202B_206B_202E_202C_200E_200B_200C_202A_202D_206E_200F_202B_206C_202E_200D_206D_200C_206C_200C_206A_200C_202B_206A_200E_206D_206B_206F_202D_206B_200D_200D_206A_206E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogError(P_1, P_2);
}
}
internal sealed record TriggerStatusIfMissing(EStatus Status, EAction Action) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200D_206C_202B_202A_202B_200F_202E_206D_206C_200E_206D_206B_206A_200C_202D_200C_200D_202A_206B_200F_200B_200C_206F_200D_206E_200F_206A_206F_202B_200D_200E_200B_202D_200C_206A_202A_206A_200F_206C_206F_202E(typeof(TriggerStatusIfMissing).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"TriggerStatus({Status})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(15, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1306109477));
defaultInterpolatedStringHandler.AppendFormatted(Status);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(444206578));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200F_206A_202D_206B_200B_200C_202B_206C_200C_206A_200B_202D_200D_200B_206B_200D_200E_202B_202B_200E_206B_206B_202A_206D_206F_206A_200F_202C_200D_202C_206A_202D_206F_200C_206B_200B_206C_200B_206C_202E();
_200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1195039164));
_200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, Status.ToString());
_200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1765108266));
_200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(builder, Action.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(TriggerStatusIfMissing? other)
{
int num = (((object)this == other) ? (-1239545030) : (-1239545028));
while (true)
{
int num2 = num;
int num3 = -1239545026;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
return EqualityComparer<EAction>.Default.Equals(Action, other.Action);
case 2:
num = (((object)other == null) ? (-1239545029) : (-1239545025));
break;
case 1:
num = ((!_206F_206A_200C_206E_202A_200C_200E_202A_200C_200F_206D_206C_206B_202A_200C_206A_206A_200E_206B_202E_202D_200F_206E_206D_206E_200F_202A_202B_206C_206A_200E_200C_206F_200C_202D_200B_206B_202A_206B_206D_202E(EqualityContract, other.EqualityContract)) ? (-1239545029) : (-1239545032));
break;
case 0:
num = -1239545028;
break;
case 5:
return false;
case 4:
return true;
case 6:
num = ((!EqualityComparer<EStatus>.Default.Equals(Status, other.Status)) ? (-1239545029) : (-1239545027));
break;
}
}
}
bool IEquatable<TriggerStatusIfMissing>.Equals(TriggerStatusIfMissing? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200D_206C_202B_202A_202B_200F_202E_206D_206C_200E_206D_206B_206A_200C_202D_200C_200D_202A_206B_200F_200B_200C_206F_200D_206E_200F_206A_206F_202B_200D_200E_200B_202D_200C_206A_202A_206A_200F_206C_206F_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200F_206A_202D_206B_200B_200C_202B_206C_200C_206A_200B_202D_200D_200B_206B_200D_200E_202B_202B_200E_206B_206B_202A_206D_206F_206A_200F_202C_200D_202C_206A_202D_206F_200C_206B_200B_206C_200B_206C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200D_202D_206F_202E_206A_200C_202A_206E_200D_206C_200C_200C_202C_200B_206D_200C_202B_200D_200D_200C_202C_200B_202A_206D_200C_206E_202E_206F_206C_206F_200C_202C_202B_200B_206D_202B_206F_200C_200D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206F_206A_200C_206E_202A_200C_200E_202A_200C_200F_206D_206C_206B_202A_200C_206A_206A_200E_206B_202E_202D_200F_206E_206D_206E_200F_202A_202B_206C_206A_200E_200C_206F_200C_202D_200B_206B_202A_206B_206D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class TriggerStatusIfMissingExecutor(GameFunctions gameFunctions) : TaskExecutor<TriggerStatusIfMissing>()
{
private long _startedAt;
public override bool HasTimedOut(float timeoutSeconds)
{
return _202B_206F_202D_200E_206E_200D_202D_202D_200C_200C_206F_202E_200F_206B_206B_200B_202A_200F_206F_200B_200E_200C_206C_200C_206F_206A_200D_200F_206B_200C_206A_200F_202A_200E_206D_202A_200E_202B_200B_202D_202E() - _startedAt > (long)(timeoutSeconds * 1000f);
}
protected override bool Start()
{
if (gameFunctions.HasStatus(base.Task.Status))
int num = ((!gameFunctions.HasStatus(base.Task.Status)) ? (-1632132812) : (-1632132809));
while (true)
{
return false;
int num2 = num;
int num3 = -1632132811;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0056;
case 2:
return false;
case 1:
gameFunctions.UseAction(base.Task.Action);
_startedAt = _202B_206F_202D_200E_206E_200D_202D_202D_200C_200C_206F_202E_200F_206B_206B_200B_202A_200F_206F_200B_200E_200C_206C_200C_206F_206A_200D_200F_206B_200C_206A_200F_202A_200E_206D_202A_200E_202B_200B_202D_202E();
return true;
}
continue;
IL_0056:
num = -1632132809;
}
gameFunctions.UseAction(base.Task.Action);
return true;
}
public override ETaskResult Update()
{
if (!gameFunctions.HasStatus(base.Task.Status))
int num = (gameFunctions.HasStatus(base.Task.Status) ? 81781723 : 81781720);
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = 81781722;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0058;
case 2:
return ETaskResult.StillRunning;
case 1:
return ETaskResult.TaskComplete;
}
continue;
IL_0058:
num = 81781720;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static long _202B_206F_202D_200E_206E_200D_202D_202D_200C_200C_206F_202E_200F_206B_206B_200B_202A_200F_206F_200B_200E_200C_206C_200C_206F_206A_200D_200F_206B_200C_206A_200F_202A_200E_206D_202A_200E_202B_200B_202D_202E()
{
return Environment.TickCount64;
}
}
}

View file

@ -1,4 +1,7 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Enums;
using Dalamud.Plugin.Services;
using Microsoft.Extensions.Logging;
@ -13,62 +16,272 @@ internal static class AetherCurrent
{
internal sealed class Factory(AetherCurrentData aetherCurrentData, IChatGui chatGui) : SimpleTaskFactory()
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.AttuneAetherCurrent)
int num = ((_206B_200B_202B_200C_206F_202E_200C_206D_206F_206F_202A_206D_200C_200C_206C_200D_202B_202E_200F_202C_202A_206B_202E_206E_206B_202B_202D_206C_200B_200B_200B_206C_202A_200F_202E_202D_202C_200F_200D_202B_202E(step) == EInteractionType.AttuneAetherCurrent) ? 1616096496 : 1616096497);
while (true)
{
return null;
int num2 = num;
int num3 = 1616096499;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
return new Attune(_202E_206C_200B_202C_200D_200C_206A_200B_206F_206D_206F_202E_202D_200F_200D_200B_202A_200D_200C_200D_202B_202D_206F_202B_202E_200F_206D_202B_202E_202A_200E_202D_200E_200E_206D_202B_206B_206C_200B_202D_202E(step).Value, _200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step).Value);
case 2:
return null;
case 4:
num = 1616096497;
break;
case 1:
{
IChatGui chatGui = chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(86, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-494490534));
defaultInterpolatedStringHandler.AppendFormatted(_200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(214778039));
_202C_206F_206A_206F_202D_206B_200B_206E_206D_206E_202E_202B_200B_206E_200D_206A_206D_200B_206A_206D_200D_206E_206F_200E_206A_202B_206D_200C_202B_200E_206E_200D_202E_200C_202B_200B_200E_206E_200B_206D_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1231541163), (ushort?)(ushort)576);
return null;
}
case 3:
_200E_206F_206A_200C_202A_202A_202C_202D_206D_202C_202C_202B_202A_202D_206A_202D_202C_202C_206A_200D_206F_200E_206A_206C_200C_202A_200B_206D_200B_206D_200B_206A_202C_206F_202A_200E_206C_206C_206E_200E_202E((object)_202E_206C_200B_202C_200D_200C_206A_200B_206F_206D_206F_202E_202D_200F_200D_200B_202A_200D_200C_200D_202B_202D_206F_202B_202E_200F_206D_202B_202E_202A_200E_202D_200E_200E_206D_202B_206B_206C_200B_202D_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1549410118));
_200E_206F_206A_200C_202A_202A_202C_202D_206D_202C_202C_202B_202A_202D_206A_202D_202C_202C_206A_200D_206F_200E_206A_206C_200C_202A_200B_206D_200B_206D_200B_206A_202C_206F_202A_200E_206C_206C_206E_200E_202E((object)_200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step), global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-672605828));
num = (aetherCurrentData.IsValidAetherCurrent(_200C_202A_206F_202E_206B_200B_200B_200B_202C_206F_202C_206F_206A_200D_202C_206F_200D_200F_202E_200B_206F_202B_206D_200D_200C_206E_202B_200B_202C_202E_200F_202D_200F_202C_206C_200E_200D_202B_202C_202A_202E(step), _200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(step).Value) ? 1616096499 : 1616096498);
break;
}
}
ArgumentNullException.ThrowIfNull(step.DataId, "step.DataId");
ArgumentNullException.ThrowIfNull(step.AetherCurrentId, "step.AetherCurrentId");
if (!aetherCurrentData.IsValidAetherCurrent(step.TerritoryId, step.AetherCurrentId.Value))
{
chatGui.PrintError($"Aether current with id {step.AetherCurrentId} is referencing an invalid aether current, will skip attunement", "Questionable", 576);
return null;
}
return new Attune(step.DataId.Value, step.AetherCurrentId.Value);
}
static EInteractionType _206B_200B_202B_200C_206F_202E_200C_206D_206F_206F_202A_206D_200C_200C_206C_200D_202B_202E_200F_202C_202A_206B_202E_206E_206B_202B_202D_206C_200B_200B_200B_206C_202A_200F_202E_202D_202C_200F_200D_202B_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static uint? _202E_206C_200B_202C_200D_200C_206A_200B_206F_206D_206F_202E_202D_200F_200D_200B_202A_200D_200C_200D_202B_202D_206F_202B_202E_200F_206D_202B_202E_202A_200E_202D_200E_200E_206D_202B_206B_206C_200B_202D_202E(QuestStep P_0)
{
return P_0.DataId;
}
static void _200E_206F_206A_200C_202A_202A_202C_202D_206D_202C_202C_202B_202A_202D_206A_202D_202C_202C_206A_200D_206F_200E_206A_206C_200C_202A_200B_206D_200B_206D_200B_206A_202C_206F_202A_200E_206C_206C_206E_200E_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static uint? _200B_200C_202D_206B_200F_202B_202A_200B_202B_202E_200D_206C_202A_206C_202A_202D_202D_200B_200D_202C_200C_206B_202A_206F_200B_206A_200C_206C_206A_206E_202E_202B_206F_202D_202E_200C_202C_206E_206B_206F_202E(QuestStep P_0)
{
return P_0.AetherCurrentId;
}
static ushort _200C_202A_206F_202E_206B_200B_200B_200B_202C_206F_202C_206F_206A_200D_202C_206F_200D_200F_202E_200B_206F_202B_206D_200D_200C_206E_202B_200B_202C_202E_200F_202D_200F_202C_206C_200E_200D_202B_202C_202A_202E(QuestStep P_0)
{
return P_0.TerritoryId;
}
static void _202C_206F_206A_206F_202D_206B_200B_206E_206D_206E_202E_202B_200B_206E_200D_206A_206D_200B_206A_206D_200D_206E_206F_200E_206A_202B_206D_200C_202B_200E_206E_200D_202E_200C_202B_200B_200E_206E_200B_206D_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.PrintError(P_1, P_2, P_3);
}
}
internal sealed record Attune(uint DataId, uint AetherCurrentId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206E_200D_202C_202A_206C_200E_206F_200D_202B_206C_206C_202D_202C_200B_206A_200E_206E_206A_206C_202E_202A_200C_206E_202C_202A_206A_206D_202E_202B_202C_202A_202E_200E_200E_206F_202C_202E_206F_202D_200D_202E(typeof(Attune).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"AttuneAetherCurrent({AetherCurrentId})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(21, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(361982327));
defaultInterpolatedStringHandler.AppendFormatted(AetherCurrentId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(424561659));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206E_202E_200E_200F_206D_206E_206D_202C_202A_202A_200D_202C_200D_206B_202A_202D_200D_202A_200C_202C_202B_200D_200D_202E_200E_206A_202E_202A_202D_202A_200C_202E_206B_202C_200D_202E_200D_206B_200D_200E_202E();
_202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-813337770));
_202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, DataId.ToString());
_202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1099263671));
_202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(builder, AetherCurrentId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Attune? other)
{
int num = (((object)this == other) ? (-814902453) : (-814902454));
while (true)
{
int num2 = num;
int num3 = -814902455;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
return true;
case 3:
num = (((object)other == null) ? (-814902456) : (-814902455));
break;
case 1:
return false;
case 4:
return EqualityComparer<uint>.Default.Equals(AetherCurrentId, other.AetherCurrentId);
case 6:
num = -814902454;
break;
case 5:
num = ((!EqualityComparer<uint>.Default.Equals(DataId, other.DataId)) ? (-814902456) : (-814902451));
break;
case 0:
num = ((!_206B_200B_200B_206C_206B_200F_200F_206E_200D_206D_200C_206F_206D_206A_206F_206B_202E_206C_200B_202E_206E_202B_206C_206F_206E_200E_206E_202E_202B_200E_202C_206A_202D_200B_206F_200B_202C_200C_202E_206C_202E(EqualityContract, other.EqualityContract)) ? (-814902456) : (-814902452));
break;
}
}
}
bool IEquatable<Attune>.Equals(Attune? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206E_200D_202C_202A_206C_200E_206F_200D_202B_206C_206C_202D_202C_200B_206A_200E_206E_206A_206C_202E_202A_200C_206E_202C_202A_206A_206D_202E_202B_202C_202A_202E_200E_200E_206F_202C_202E_206F_202D_200D_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206E_202E_200E_200F_206D_206E_206D_202C_202A_202A_200D_202C_200D_206B_202A_202D_200D_202A_200C_202C_202B_200D_200D_202E_200E_206A_202E_202A_202D_202A_200C_202E_206B_202C_200D_202E_200D_206B_200D_200E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202D_200C_206E_202D_202E_202E_200F_202D_200D_200C_200F_200C_200E_206E_206C_202E_202C_202A_202B_206F_202D_200F_200C_206C_202E_202C_200C_200F_206C_200D_206D_202C_206B_202D_206C_200C_200E_206F_206D_202B_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206B_200B_200B_206C_206B_200F_200F_206E_200D_206D_200C_206F_206D_206A_206F_206B_202E_206C_200B_202E_206E_202B_206C_206F_206E_200E_206E_202E_202B_200E_202C_206A_202D_200B_206F_200B_202C_200C_202E_206C_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoAttune(GameFunctions gameFunctions, ILogger<DoAttune> logger) : TaskExecutor<Attune>()
{
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
if (!gameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId))
int num = (GameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId) ? 1079740231 : 1079740228);
while (true)
{
logger.LogInformation("Attuning to aether current {AetherCurrentId} / {DataId}", base.Task.AetherCurrentId, base.Task.DataId);
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith(base.Task.DataId, ObjectKind.EventObj));
return true;
int num2 = num;
int num3 = 1079740230;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
_200E_200C_202B_200D_206C_206B_206B_206F_200E_206D_200E_200E_202C_200E_200C_200D_202D_206C_206D_206E_206A_206A_200F_200E_202C_206E_206E_202C_206F_200C_200B_206E_206F_202C_200E_200E_200F_202A_206B_202D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(693559237), new object[2]
{
base.Task.AetherCurrentId,
base.Task.DataId
});
return false;
case 2:
_206B_202B_202B_202B_200D_206B_202E_202A_206B_202A_202B_202B_202A_200D_202C_200F_202C_200F_200B_200F_206E_206C_206E_200B_200B_202A_206F_206B_200E_200F_200F_200E_206A_200E_202C_206A_200D_202A_206A_200D_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-2064140489), new object[2]
{
base.Task.AetherCurrentId,
base.Task.DataId
});
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith(base.Task.DataId, ObjectKind.EventObj));
return true;
case 0:
goto IL_00ef;
}
continue;
IL_00ef:
num = 1079740228;
}
logger.LogInformation("Already attuned to aether current {AetherCurrentId} / {DataId}", base.Task.AetherCurrentId, base.Task.DataId);
return false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (!gameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId))
int num = ((!GameFunctions.IsAetherCurrentUnlocked(base.Task.AetherCurrentId)) ? (-272165629) : (-272165626));
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = -272165632;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
ResetProgressTimer();
num = -272165630;
break;
case 3:
num = ((base.ProgressContext == null) ? (-272165630) : (-272165632));
break;
case 6:
ResetProgressTimer();
return ETaskResult.TaskComplete;
case 7:
num = -272165626;
break;
case 1:
_200E_200C_202B_200D_206C_206B_206B_206F_200E_206D_200E_200E_202C_200E_200C_200D_202D_206C_206D_206E_206A_206A_200F_200E_202C_206E_206E_202C_206F_200C_200B_206E_206F_202C_200E_200E_200F_202A_206B_202D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-119711603), new object[1] { base.Task.AetherCurrentId });
return ETaskResult.StillRunning;
case 2:
return ETaskResult.StillRunning;
case 0:
num = ((!base.ProgressContext.WasInterrupted()) ? (-272165627) : (-272165631));
break;
case 5:
num = ((!base.ProgressContext.WasSuccessful()) ? (-272165630) : (-272165628));
break;
}
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static void _206B_202B_202B_202B_200D_206B_202E_202A_206B_202A_202B_202B_202A_200D_202C_200F_202C_200F_200B_200F_206E_206C_206E_200B_200B_202A_206F_206B_200E_200F_200F_200E_206A_200E_202C_206A_200D_202A_206A_200D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _200E_200C_202B_200D_206C_206B_206B_206F_200E_206D_200E_200E_202C_200E_200C_200D_202D_206C_206D_206E_206A_206A_200F_200E_202C_206E_206E_202C_206F_200C_200B_206E_206F_202C_200E_200E_200F_202A_206B_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
}

View file

@ -1,10 +1,12 @@
using System;
using Dalamud.Game.ClientState.Objects.Enums;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Common;
using Questionable.Model.Questing;
using SmartNav.Model;
namespace Questionable.Controller.Steps.Interactions;
@ -12,56 +14,162 @@ internal static class AethernetShard
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.AttuneAethernetShard)
int num = ((_200F_206C_200B_206A_206A_206A_206D_202C_200D_206A_202D_206C_200E_202E_200D_200D_200F_200F_200B_200C_200D_200E_200C_206B_202D_200D_206B_200F_206F_206A_206D_206A_202A_200B_200E_200C_202B_206B_206A_206B_202E(step) == EInteractionType.AttuneAethernetShard) ? (-1186743855) : (-1186743856));
while (true)
{
return null;
int num2 = num;
int num3 = -1186743855;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
goto IL_0049;
case 0:
_202E_200E_202A_202A_202D_206E_202A_206E_200B_202A_206A_206A_206C_206C_202A_206E_202A_200E_206F_206F_206F_200C_202A_202C_206E_206B_206D_206B_202A_206E_202B_200F_206D_202D_200C_200C_206E_206A_200D_206C_202E((object)_206B_202B_202C_200E_206F_202A_206F_206E_200F_206A_200F_206E_200B_200C_206B_200D_206D_202E_200E_206A_200E_200D_206B_200B_206D_206E_202D_206B_202E_206F_202D_200E_202C_200D_206C_200B_200B_200B_200D_200D_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-520107683));
return new Attune(_206B_202B_202C_200E_206F_202A_206F_206E_200F_206A_200F_206E_200B_200C_206B_200D_206D_202E_200E_206A_200E_200D_206B_200B_206D_206E_202D_206B_202E_206F_202D_200E_202C_200D_206C_200B_200B_200B_200D_200D_202E(step).Value);
case 1:
return null;
}
continue;
IL_0049:
num = -1186743856;
}
ArgumentNullException.ThrowIfNull(step.AethernetShard, "step.AethernetShard");
return new Attune(step.AethernetShard.Value);
}
static EInteractionType _200F_206C_200B_206A_206A_206A_206D_202C_200D_206A_202D_206C_200E_202E_200D_200D_200F_200F_200B_200C_200D_200E_200C_206B_202D_200D_206B_200F_206F_206A_206D_206A_202A_200B_200E_200C_202B_206B_206A_206B_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static EAetheryteLocation? _206B_202B_202C_200E_206F_202A_206F_206E_200F_206A_200F_206E_200B_200C_206B_200D_206D_202E_200E_206A_200E_200D_206B_200B_206D_206E_202D_206B_202E_206F_202D_200E_202C_200D_206C_200B_200B_200B_200D_200D_202E(QuestStep P_0)
{
return P_0.AethernetShard;
}
static void _202E_200E_202A_202A_202D_206E_202A_206E_200B_202A_206A_206A_206C_206C_202A_206E_202A_200E_206F_206F_206F_200C_202A_202C_206E_206B_206D_206B_202A_206E_202B_200F_206D_202D_200C_200C_206E_206A_200D_206C_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
}
internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206D_206A_206D_200E_206E_202B_202A_202B_206E_206D_200F_202C_200F_202C_200E_206E_202E_206E_206D_202B_200D_202B_206D_206E_202D_202D_200C_200C_202E_206B_200F_206A_200F_206D_202C_206B_202C_206C_200C_202E(typeof(Attune).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"AttuneAethernetShard({AetheryteLocation})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(2083697024));
defaultInterpolatedStringHandler.AppendFormatted(AetheryteLocation);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(555647321));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206A_202E_200E_206F_200C_202E_206E_206F_206B_200B_206F_206B_202C_200E_206A_202A_206E_200C_200F_200B_200B_202B_202D_200F_202B_206A_206B_202D_202E_206E_206A_202C_200F_200C_202A_206C_206D_206A_202A_200E_202E();
_202A_206F_202A_202B_206D_202A_202A_200D_200F_200B_202C_206F_202D_206E_206F_202E_206D_200B_202B_206C_200F_206B_200D_200D_202E_206D_200E_202A_206F_206E_202E_206B_200D_200C_202B_206A_206E_206C_206B_200C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1285909237));
_202A_206F_202A_202B_206D_202A_202A_200D_200F_200B_202C_206F_202D_206E_206F_202E_206D_200B_202B_206C_200F_206B_200D_200D_202E_206D_200E_202A_206F_206E_202E_206B_200D_200C_202B_206A_206E_206C_206B_200C_202E(builder, AetheryteLocation.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Attune? other)
{
int num = (((object)this == other) ? 513184139 : 513184143);
while (true)
{
int num2 = num;
int num3 = 513184142;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 513184143;
break;
case 3:
num = ((!_202D_206E_202C_200D_206A_202B_202E_206C_200E_202E_202A_206E_206B_206B_206B_200F_206F_202D_202A_202A_202B_202B_206F_202D_206D_206A_200C_202B_206D_200E_202C_206D_200C_202A_206F_206C_206C_200C_200F_206E_202E(EqualityContract, other.EqualityContract)) ? 513184140 : 513184138);
break;
case 5:
return true;
case 1:
num = (((object)other == null) ? 513184140 : 513184141);
break;
case 4:
return EqualityComparer<EAetheryteLocation>.Default.Equals(AetheryteLocation, other.AetheryteLocation);
case 2:
return false;
}
}
}
bool IEquatable<Attune>.Equals(Attune? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206D_206A_206D_200E_206E_202B_202A_202B_206E_206D_200F_202C_200F_202C_200E_206E_202E_206E_206D_202B_200D_202B_206D_206E_202D_202D_200C_200C_202E_206B_200F_206A_200F_206D_202C_206B_202C_206C_200C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206A_202E_200E_206F_200C_202E_206E_206F_206B_200B_206F_206B_202C_200E_206A_202A_206E_200C_200F_200B_200B_202B_202D_200F_202B_206A_206B_202D_202E_206E_206A_202C_200F_200C_202A_206C_206D_206A_202A_200E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202A_206F_202A_202B_206D_202A_202A_200D_200F_200B_202C_206F_202D_206E_206F_202E_206D_200B_202B_206C_200F_206B_200D_200D_202E_206D_200E_202A_206F_206E_202E_206B_200D_200C_202B_206A_206E_206C_206B_200C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _202D_206E_202C_200D_206A_202B_202E_206C_200E_202E_202A_206E_206B_206B_206B_200F_206F_202D_202A_202A_202B_202B_206F_202D_206D_206A_200C_202B_206D_200E_202C_206D_200C_202A_206F_206C_206C_200C_200F_206E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoAttune(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger<DoAttune> logger) : TaskExecutor<Attune>()
internal sealed class DoAttune : Aetheryte.DoAttuneBase<Attune>
{
protected override bool Start()
[MethodImpl(MethodImplOptions.NoInlining)]
public DoAttune(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger<DoAttune> logger)
: base(aetheryteFunctions, gameFunctions, (ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-577134927))
{
if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation))
{
logger.LogInformation("Attuning to aethernet shard {AethernetShard}", base.Task.AetheryteLocation);
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith((uint)base.Task.AetheryteLocation, ObjectKind.Aetheryte));
return true;
}
logger.LogInformation("Already attuned to aethernet shard {AethernetShard}", base.Task.AetheryteLocation);
return false;
}
public override ETaskResult Update()
protected override EAetheryteLocation GetLocation()
{
if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation))
{
return ETaskResult.StillRunning;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
return base.Task.AetheryteLocation;
}
}
}

View file

@ -1,10 +1,13 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Enums;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Common;
using Questionable.Model.Questing;
using SmartNav.Model;
namespace Questionable.Controller.Steps.Interactions;
@ -12,56 +15,253 @@ internal static class Aetheryte
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.AttuneAetheryte)
int num = ((_200F_206D_200C_206B_200C_206E_202B_202A_206E_200D_200E_206D_202E_202D_200C_202B_200B_206C_202B_206B_200B_206D_200F_206F_206B_200F_200B_200C_202D_202A_206C_202C_200C_202E_202E_200F_206C_202A_206A_202A_202E(step) == EInteractionType.AttuneAetheryte) ? (-343069115) : (-343069116));
while (true)
{
return null;
int num2 = num;
int num3 = -343069115;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
goto IL_0047;
case 1:
return null;
case 0:
_200B_206D_206E_200D_206F_202E_202D_206C_206A_206B_202B_200E_206C_200D_206A_206B_206D_202C_200D_202C_200B_202B_206A_202B_202A_200C_200D_206D_206F_206A_200D_206F_206A_206D_200D_206E_206F_200F_206B_200D_202E((object)_206F_206F_206B_200B_202A_200D_200D_200F_202C_202B_202A_202E_200D_200B_202B_200F_200D_206C_202E_200F_200B_202E_200F_200C_202C_206B_202B_200F_206B_202A_202A_206A_202C_202A_202E_202A_206D_200F_200D_206A_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1584480667));
return new Attune(_206F_206F_206B_200B_202A_200D_200D_200F_202C_202B_202A_202E_200D_200B_202B_200F_200D_206C_202E_200F_200B_202E_200F_200C_202C_206B_202B_200F_206B_202A_202A_206A_202C_202A_202E_202A_206D_200F_200D_206A_202E(step).Value);
}
continue;
IL_0047:
num = -343069116;
}
ArgumentNullException.ThrowIfNull(step.Aetheryte, "step.Aetheryte");
return new Attune(step.Aetheryte.Value);
}
static EInteractionType _200F_206D_200C_206B_200C_206E_202B_202A_206E_200D_200E_206D_202E_202D_200C_202B_200B_206C_202B_206B_200B_206D_200F_206F_206B_200F_200B_200C_202D_202A_206C_202C_200C_202E_202E_200F_206C_202A_206A_202A_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static EAetheryteLocation? _206F_206F_206B_200B_202A_200D_200D_200F_202C_202B_202A_202E_200D_200B_202B_200F_200D_206C_202E_200F_200B_202E_200F_200C_202C_206B_202B_200F_206B_202A_202A_206A_202C_202A_202E_202A_206D_200F_200D_206A_202E(QuestStep P_0)
{
return P_0.Aetheryte;
}
static void _200B_206D_206E_200D_206F_202E_202D_206C_206A_206B_202B_200E_206C_200D_206A_206B_206D_202C_200D_202C_200B_202B_206A_202B_202A_200C_200D_206D_206F_206A_200D_206F_206A_206D_200D_206E_206F_200F_206B_200D_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
}
internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206F_206F_202A_200F_206F_202C_202B_206C_202A_200F_206E_200E_206F_206B_206A_200C_206D_200E_200F_206D_202E_206A_200C_206E_202B_200B_206E_206C_200D_206D_206D_206D_206E_200C_200D_202A_200D_206F_200B_202E_202E(typeof(Attune).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"AttuneAetheryte({AetheryteLocation})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(17, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1240918148));
defaultInterpolatedStringHandler.AppendFormatted(AetheryteLocation);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(555647321));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202E_206B_202C_200E_202A_200E_200D_200B_200B_206F_206E_206B_200B_200E_202C_200F_206A_200D_206A_200D_202E_200C_206D_206C_200D_206D_206A_206B_200E_206B_202A_202E_202E_206C_200C_206D_202E_206C_206C_202C_202E();
_202B_202B_206C_202C_202E_200C_200B_206D_200F_202D_200D_202E_202C_206C_206B_206C_206E_200B_206D_202A_200C_202E_206B_202D_202D_206E_202D_202C_200E_200C_202A_202C_200D_200F_206C_200C_200F_202A_206B_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1285909237));
_202B_202B_206C_202C_202E_200C_200B_206D_200F_202D_200D_202E_202C_206C_206B_206C_206E_200B_206D_202A_200C_202E_206B_202D_202D_206E_202D_202C_200E_200C_202A_202C_200D_200F_206C_200C_200F_202A_206B_202A_202E(builder, AetheryteLocation.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Attune? other)
{
int num = (((object)this == other) ? (-82451630) : (-82451626));
while (true)
{
int num2 = num;
int num3 = -82451625;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = -82451626;
break;
case 1:
num = (((object)other == null) ? (-82451628) : (-82451625));
break;
case 3:
return false;
case 4:
return EqualityComparer<EAetheryteLocation>.Default.Equals(AetheryteLocation, other.AetheryteLocation);
case 5:
return true;
case 0:
num = ((!_200C_206A_202D_206A_200D_206E_202A_200F_206A_202A_202D_206E_202E_202C_200E_200D_202D_206F_206F_200F_206C_200E_206C_206B_206E_202D_202B_206E_206D_206D_200C_206D_202E_202C_206C_202B_202D_200C_206D_202A_202E(EqualityContract, other.EqualityContract)) ? (-82451628) : (-82451629));
break;
}
}
}
bool IEquatable<Attune>.Equals(Attune? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206F_206F_202A_200F_206F_202C_202B_206C_202A_200F_206E_200E_206F_206B_206A_200C_206D_200E_200F_206D_202E_206A_200C_206E_202B_200B_206E_206C_200D_206D_206D_206D_206E_200C_200D_202A_200D_206F_200B_202E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _202E_206B_202C_200E_202A_200E_200D_200B_200B_206F_206E_206B_200B_200E_202C_200F_206A_200D_206A_200D_202E_200C_206D_206C_200D_206D_206A_206B_200E_206B_202A_202E_202E_206C_200C_206D_202E_206C_206C_202C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202B_202B_206C_202C_202E_200C_200B_206D_200F_202D_200D_202E_202C_206C_206B_206C_206E_200B_206D_202A_200C_202E_206B_202D_202D_206E_202D_202C_200E_200C_202A_202C_200D_200F_206C_200C_200F_202A_206B_202A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _200C_206A_202D_206A_200D_206E_202A_200F_206A_202A_202D_206E_202E_202C_200E_200D_202D_206F_206F_200F_206C_200E_206C_206B_206E_202D_202B_206E_206D_206D_200C_206D_202E_202C_206C_202B_202D_200C_206D_202A_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoAttune(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger<DoAttune> logger) : TaskExecutor<Attune>()
internal abstract class DoAttuneBase<T>(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger logger, string label) : TaskExecutor<T>() where T : class, ITask
{
protected abstract EAetheryteLocation GetLocation();
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation))
EAetheryteLocation location = GetLocation();
int num = (_003CaetheryteFunctions_003EP.IsAetheryteUnlocked(location) ? 1186609547 : 1186609544);
while (true)
{
logger.LogInformation("Attuning to aetheryte {Aetheryte}", base.Task.AetheryteLocation);
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith((uint)base.Task.AetheryteLocation, ObjectKind.Aetheryte));
return true;
int num2 = num;
int num3 = 1186609545;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
_202E_206B_200D_206D_206C_202B_202E_200B_200E_206D_202A_200D_206F_200C_202C_206C_206A_206F_202B_200D_200C_202E_200E_202A_206E_206D_200C_206B_200C_202A_202E_200D_202D_202D_202C_206E_202D_202A_202A_206E_202E(_003Clogger_003EP, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1529861734), new object[2] { _003Clabel_003EP, location });
return false;
case 1:
_206A_200C_200D_202B_200B_202E_206A_206A_200D_200E_200B_200D_200D_200E_206F_202D_206E_200B_206E_202D_206F_206E_202A_200F_202A_206D_202C_200D_200E_202A_200C_200E_200E_200C_206B_200F_206C_200D_200D_206D_202E(_003Clogger_003EP, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1889927611), new object[2] { _003Clabel_003EP, location });
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => _003CgameFunctions_003EP.InteractWith((uint)location, ObjectKind.Aetheryte));
return true;
case 0:
goto IL_00e9;
}
continue;
IL_00e9:
num = 1186609544;
}
logger.LogInformation("Already attuned to aetheryte {Aetheryte}", base.Task.AetheryteLocation);
return false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation))
int num = ((!_003CaetheryteFunctions_003EP.IsAetheryteUnlocked(GetLocation())) ? 1810240359 : 1810240355);
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = 1810240354;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
num = ((!base.ProgressContext.WasSuccessful()) ? 1810240357 : 1810240356);
break;
case 5:
num = ((base.ProgressContext == null) ? 1810240357 : 1810240352);
break;
case 7:
return ETaskResult.StillRunning;
case 2:
num = ((!base.ProgressContext.WasInterrupted()) ? 1810240358 : 1810240354);
break;
case 0:
_202E_206B_200D_206D_206C_202B_202E_200B_200E_206D_202A_200D_206F_200C_202C_206C_206A_206F_202B_200D_200C_202E_200E_202A_206E_206D_200C_206B_200C_202A_202E_200D_202D_202D_202C_206E_202D_202A_202A_206E_202E(_003Clogger_003EP, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-854407988), new object[2]
{
_003Clabel_003EP,
GetLocation()
});
return ETaskResult.StillRunning;
case 3:
num = 1810240355;
break;
case 1:
ResetProgressTimer();
return ETaskResult.TaskComplete;
case 6:
ResetProgressTimer();
num = 1810240357;
break;
}
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static void _206A_200C_200D_202B_200B_202E_206A_206A_200D_200E_200B_200D_200D_200E_206F_202D_206E_200B_206E_202D_206F_206E_202A_200F_202A_206D_202C_200D_200E_202A_200C_200E_200E_200C_206B_200F_206C_200D_200D_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _202E_206B_200D_206D_206C_202B_202E_200B_200E_206D_202A_200D_206F_200C_202C_206C_206A_206F_202B_200D_200C_202E_200E_202A_206E_206D_200C_206B_200C_202A_202E_200D_202D_202D_202C_206E_202D_202A_202A_206E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
internal sealed class DoAttune : DoAttuneBase<Attune>
{
[MethodImpl(MethodImplOptions.NoInlining)]
public DoAttune(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger<DoAttune> logger)
: base(aetheryteFunctions, gameFunctions, (ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1427720199))
{
}
protected override EAetheryteLocation GetLocation()
{
return base.Task.AetheryteLocation;
}
}
}

View file

@ -1,10 +1,13 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Enums;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Common;
using Questionable.Model.Questing;
using SmartNav.Model;
namespace Questionable.Controller.Steps.Interactions;
@ -12,59 +15,233 @@ internal static class AetheryteFreeOrFavored
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.RegisterFreeOrFavoredAetheryte)
int num = ((_206C_200C_200E_202C_200E_202A_206A_202C_206D_202A_206F_206D_206A_200D_200B_200E_206B_202B_202E_202B_202A_202D_206B_206D_200B_200E_202E_206A_206A_202D_200B_206C_206D_200C_202A_200C_200D_206E_200D_200E_202E(step) == EInteractionType.RegisterFreeOrFavoredAetheryte) ? 499713839 : 499713836);
while (true)
{
return null;
int num2 = num;
int num3 = 499713838;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
_202D_206F_202E_200B_200B_206F_206D_202C_206A_202B_200F_202E_200C_206A_206A_202B_206A_200D_206F_202A_200E_206D_206F_202D_206D_202A_200F_202B_206B_202B_202A_200C_206F_200F_206F_202C_200D_206E_202E_206A_202E((object)_202B_202C_202E_202A_206D_202A_200E_200E_206B_200D_206F_206A_206E_206E_202D_202D_206D_206C_202B_202E_202B_206E_200F_202C_206F_200B_202C_206C_206A_202B_200D_200E_200B_206C_200C_206B_200B_200D_202B_202A_202E(step), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1584480667));
return new Register(_202B_202C_202E_202A_206D_202A_200E_200E_206B_200D_206F_206A_206E_206E_202D_202D_206D_206C_202B_202E_202B_206E_200F_202C_206F_200B_202C_206C_206A_202B_200D_200E_200B_206C_200C_206B_200B_200D_202B_202A_202E(step).Value);
case 2:
return null;
case 0:
goto IL_0077;
}
continue;
IL_0077:
num = 499713836;
}
ArgumentNullException.ThrowIfNull(step.Aetheryte, "step.Aetheryte");
return new Register(step.Aetheryte.Value);
}
static EInteractionType _206C_200C_200E_202C_200E_202A_206A_202C_206D_202A_206F_206D_206A_200D_200B_200E_206B_202B_202E_202B_202A_202D_206B_206D_200B_200E_202E_206A_206A_202D_200B_206C_206D_200C_202A_200C_200D_206E_200D_200E_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static EAetheryteLocation? _202B_202C_202E_202A_206D_202A_200E_200E_206B_200D_206F_206A_206E_206E_202D_202D_206D_206C_202B_202E_202B_206E_200F_202C_206F_200B_202C_206C_206A_202B_200D_200E_200B_206C_200C_206B_200B_200D_202B_202A_202E(QuestStep P_0)
{
return P_0.Aetheryte;
}
static void _202D_206F_202E_200B_200B_206F_206D_202C_206A_202B_200F_202E_200C_206A_206A_202B_206A_200D_206F_202A_200E_206D_206F_202D_206D_202A_200F_202B_206B_202B_202A_200C_206F_200F_206F_202C_200D_206E_202E_206A_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
}
internal sealed record Register(EAetheryteLocation AetheryteLocation) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202B_202A_202B_200E_202B_206A_206D_206D_206E_202B_200E_200C_206B_200D_206B_200F_200C_200B_202D_200F_206D_206E_202D_206A_202C_200B_200B_200F_202C_206E_200B_200C_206A_202D_206D_206F_200B_202B_206E_200F_202E(typeof(Register).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"RegisterFreeOrFavoredAetheryte({AetheryteLocation})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(32, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(837587043));
defaultInterpolatedStringHandler.AppendFormatted(AetheryteLocation);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1618480346));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202B_206C_200B_200F_206A_202B_206B_206E_202D_202C_202B_206F_206F_202D_206A_206C_202E_200C_202B_200F_202A_200B_200E_200E_200F_200E_206B_200E_206F_200B_200E_200C_200F_206C_200D_206D_200C_200D_202B_202A_202E();
_206C_202E_202B_200F_206A_206D_202B_202C_200D_206B_206C_206B_200D_200D_200D_202A_200E_202B_200B_200E_206D_206B_202B_202B_206B_206A_206A_202A_200E_206B_200D_206A_200D_202B_202E_202B_200B_206B_206E_202D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(719371282));
_206C_202E_202B_200F_206A_206D_202B_202C_200D_206B_206C_206B_200D_200D_200D_202A_200E_202B_200B_200E_206D_206B_202B_202B_206B_206A_206A_202A_200E_206B_200D_206A_200D_202B_202E_202B_200B_206B_206E_202D_202E(builder, AetheryteLocation.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Register? other)
{
int num = (((object)this == other) ? 602559884 : 602559880);
while (true)
{
int num2 = num;
int num3 = 602559881;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 5:
return true;
case 2:
return false;
case 4:
num = 602559880;
break;
case 0:
return EqualityComparer<EAetheryteLocation>.Default.Equals(AetheryteLocation, other.AetheryteLocation);
case 1:
num = (((object)other == null) ? 602559883 : 602559882);
break;
case 3:
num = ((!_202E_206F_200D_200E_206F_200C_202D_202E_206D_200B_202B_200B_200D_200D_202B_202B_202C_200D_206A_202B_200C_206E_202C_200C_202C_200B_202A_206D_200C_202D_206E_206A_206C_202C_206E_200F_200B_200C_200E_206F_202E(EqualityContract, other.EqualityContract)) ? 602559883 : 602559881);
break;
}
}
}
bool IEquatable<Register>.Equals(Register? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202B_202A_202B_200E_202B_206A_206D_206D_206E_202B_200E_200C_206B_200D_206B_200F_200C_200B_202D_200F_206D_206E_202D_206A_202C_200B_200B_200F_202C_206E_200B_200C_206A_202D_206D_206F_200B_202B_206E_200F_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _202B_206C_200B_200F_206A_202B_206B_206E_202D_202C_202B_206F_206F_202D_206A_206C_202E_200C_202B_200F_202A_200B_200E_200E_200F_200E_206B_200E_206F_200B_200E_200C_200F_206C_200D_206D_200C_200D_202B_202A_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206C_202E_202B_200F_206A_206D_202B_202C_200D_206B_206C_206B_200D_200D_200D_202A_200E_202B_200B_200E_206D_206B_202B_202B_206B_206A_206A_202A_200E_206B_200D_206A_200D_202B_202E_202B_200B_206B_206E_202D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _202E_206F_200D_200E_206F_200C_202D_202E_206D_200B_202B_200B_200D_200D_202B_202B_202C_200D_206A_202B_200C_206E_202C_200C_202C_200B_202A_206D_200C_202D_206E_206A_206C_202C_206E_200F_200B_200C_200E_206F_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoRegister(AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions, ILogger<DoRegister> logger) : TaskExecutor<Register>()
{
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
if (!aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation))
int num = (aetheryteFunctions.IsAetheryteUnlocked(base.Task.AetheryteLocation) ? 1191746400 : 1191746407);
while (true)
{
throw new TaskException($"Aetheryte {base.Task.AetheryteLocation} is not attuned");
int num2 = num;
int num3 = 1191746404;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
_200C_202B_206D_200B_202A_202C_200B_206A_200D_202E_206C_202B_200B_206B_206F_206C_200F_200D_200B_206C_200D_202C_202C_206E_206F_206C_202E_206A_200D_206D_206F_202A_202A_206C_206F_206E_200E_200C_202D_202E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(560864212), new object[1] { base.Task.AetheryteLocation });
return false;
case 3:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1957444372));
defaultInterpolatedStringHandler.AppendFormatted(base.Task.AetheryteLocation);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1174023517));
throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear());
}
case 4:
num = ((aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) != AetheryteRegistrationResult.NotPossible) ? 1191746404 : 1191746405);
break;
case 2:
num = 1191746407;
break;
case 0:
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith((uint)base.Task.AetheryteLocation, ObjectKind.Aetheryte));
return true;
}
}
if (aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) == AetheryteRegistrationResult.NotPossible)
{
logger.LogInformation("Could not register aetheryte {AetheryteLocation} as free or favored", base.Task.AetheryteLocation);
return false;
}
base.ProgressContext = InteractionProgressContext.FromActionUseOrDefault(() => gameFunctions.InteractWith((uint)base.Task.AetheryteLocation, ObjectKind.Aetheryte));
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) != AetheryteRegistrationResult.NotPossible)
int num = ((aetheryteFunctions.CanRegisterFreeOrFavoriteAetheryte(base.Task.AetheryteLocation) != AetheryteRegistrationResult.NotPossible) ? 473627761 : 473627764);
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = 473627760;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = 473627764;
break;
case 7:
num = ((!base.ProgressContext.WasSuccessful()) ? 473627762 : 473627766);
break;
case 2:
return ETaskResult.StillRunning;
case 5:
_200C_202B_206D_200B_202A_202C_200B_206A_200D_202E_206C_202B_200B_206B_206F_206C_200F_200D_200B_206C_200D_202C_202C_206E_206F_206C_202E_206A_200D_206D_206F_202A_202A_206C_206F_206E_200E_200C_202D_202E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-180503859), new object[1] { base.Task.AetheryteLocation });
return ETaskResult.StillRunning;
case 4:
ResetProgressTimer();
return ETaskResult.TaskComplete;
case 6:
ResetProgressTimer();
num = 473627762;
break;
case 3:
num = ((!base.ProgressContext.WasInterrupted()) ? 473627767 : 473627765);
break;
case 1:
num = ((base.ProgressContext == null) ? 473627762 : 473627763);
break;
}
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static void _200C_202B_206D_200B_202A_202C_200B_206A_200D_202E_206C_202B_200B_206B_206F_206C_200F_200D_200B_206C_200D_202C_202C_206E_206F_206C_202E_206A_200D_206D_206F_202A_202A_206C_206F_206E_200E_200C_202D_202E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
}

View file

@ -0,0 +1,369 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using Microsoft.Extensions.Logging;
using Questionable.Controller.CustomDelivery;
using Questionable.Controller.Steps.Common;
using Questionable.Model;
using Questionable.Model.Questing;
using Questionable.Navigation;
namespace Questionable.Controller.Steps.Interactions;
internal static class AutoVendorPurchase
{
internal sealed class Factory(VendorResolverService vendorResolver, SmartNavRouteEnqueuer routeEnqueuer, ILogger<Factory> logger) : ITaskFactory
{
[CompilerGenerated]
private sealed class _003CCreateAllTasks_003Ed__4 : IEnumerable<ITask>, IEnumerable, IEnumerator<ITask>, IEnumerator, IDisposable
{
private int _003C_003E1__state;
private ITask _003C_003E2__current;
private int _003C_003El__initialThreadId;
private QuestStep step;
public QuestStep _003C_003E3__step;
public Factory _003C_003E4__this;
private VendorResolverService.VendorInfo? _003Cvendor_003E5__2;
private int _003Cquantity_003E5__3;
private IEnumerator<ITask> _003C_003E7__wrap3;
ITask IEnumerator<ITask>.Current
{
[DebuggerHidden]
get
{
return _003C_003E2__current;
}
}
object IEnumerator.Current
{
[DebuggerHidden]
get
{
return _003C_003E2__current;
}
}
[DebuggerHidden]
public _003CCreateAllTasks_003Ed__4(int _003C_003E1__state)
{
this._003C_003E1__state = _003C_003E1__state;
_003C_003El__initialThreadId = _202E_200D_206C_200F_206B_202D_200B_206D_202A_206E_200F_202E_206D_202E_206A_206E_200B_206B_206D_206A_202E_202D_202D_200C_206D_206F_206C_206A_202B_206E_202E_200C_200F_206C_200B_200B_200E_202E_206F_200C_202E();
}
[DebuggerHidden]
void IDisposable.Dispose()
{
int num = _003C_003E1__state;
int num2 = ((num == -3) ? 1416042762 : 1416042763);
while (true)
{
int num3 = num2;
int num4 = 1416042762;
int num5 = num3;
switch ((num5 | num4) - (num5 & num4))
{
default:
continue;
case 2:
num2 = 1416042763;
continue;
case 1:
if (num == 1)
{
num2 = 1416042762;
continue;
}
break;
case 0:
try
{
}
finally
{
_003C_003Em__Finally1();
}
break;
}
break;
}
_003C_003E7__wrap3 = null;
_003C_003E1__state = -2;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private bool MoveNext()
{
try
{
int num = _003C_003E1__state;
Factory factory = _003C_003E4__this;
int num2;
switch (num)
{
default:
num2 = 94833750;
goto IL_0030;
case 2:
_003C_003E1__state = -1;
_003C_003E2__current = new VendorPurchaseTask(_003Cvendor_003E5__2.Value.VendorNpcId, new global::_003C_003Ez__ReadOnlySingleElementList<VendorPurchaseTask.PurchaseItem>(new VendorPurchaseTask.PurchaseItem(_206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step).Value, _003Cquantity_003E5__3)), _003Cvendor_003E5__2.Value.DialogOptionIndex);
_003C_003E1__state = 3;
return true;
case 0:
goto IL_025b;
case 1:
goto IL_02d8;
case 3:
break;
IL_0030:
while (true)
{
int num3 = num2;
int num4 = 94833758;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
case 7:
_003C_003Em__Finally1();
_003C_003E7__wrap3 = null;
_003C_003E2__current = new Mount.UnmountTask();
_003C_003E1__state = 2;
return true;
case 0:
goto IL_00c0;
case 12:
_206A_202E_202C_206A_206F_206B_206F_206E_200B_200B_200B_200B_200E_206B_202A_202A_206E_206C_200B_206B_200F_206E_206D_202B_200E_200E_202B_202C_202B_206A_206A_206C_200B_206E_206E_200D_206D_200E_206B_206A_202E((ILogger)factory.logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(237865038), new object[1] { _206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step) });
return false;
case 8:
return false;
case 11:
{
ITask current = _003C_003E7__wrap3.Current;
_003C_003E2__current = current;
_003C_003E1__state = 1;
return true;
}
case 14:
_003Cquantity_003E5__3 = _206E_206C_206F_202E_200B_202B_200B_202C_200E_206A_202B_200D_202D_202D_206C_206E_206A_206E_202D_206A_202D_200D_200F_200C_202A_206F_206A_200F_202E_200C_202A_206E_202D_206F_200C_200C_206D_206D_200C_202A_202E(step) ?? 1;
_003C_003E7__wrap3 = factory.routeEnqueuer.BuildRoutedTasks(_003Cvendor_003E5__2.Value.TerritoryId, _003Cvendor_003E5__2.Value.Position).GetEnumerator();
_003C_003E1__state = -3;
num2 = 94833758;
break;
case 2:
num2 = 94833750;
break;
case 6:
goto end_IL_0030;
case 10:
goto IL_025b;
case 1:
goto IL_028c;
case 5:
goto IL_02d8;
case 9:
goto IL_02ec;
case 3:
return false;
case 4:
goto IL_032f;
case 13:
goto end_IL_000f;
}
continue;
IL_032f:
num2 = (_206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step).HasValue ? 94833759 : 94833757);
continue;
IL_028c:
_003Cvendor_003E5__2 = factory.vendorResolver.ResolveVendor(_206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(step).Value);
num2 = (_003Cvendor_003E5__2.HasValue ? 94833744 : 94833746);
continue;
IL_00c0:
num2 = (_202A_206B_200F_200F_200E_200D_206F_202A_206C_200C_206D_200E_206A_200E_202E_206D_206F_202B_202E_206C_202E_202D_202C_206E_202B_202D_206C_200B_200F_206F_206A_202B_206E_206C_206C_202E_206E_206B_206B_202A_202E((IEnumerator)_003C_003E7__wrap3) ? 94833749 : 94833753);
continue;
IL_02ec:
num2 = (_200C_200F_200C_202A_202D_202D_202A_200C_200D_206C_206C_200C_206E_202E_206A_206A_200D_202C_200E_202C_206B_200F_206A_202A_202A_200C_206E_200D_202D_200C_200E_202B_206F_202C_202C_200C_206E_206A_200E_206D_202E(step).HasValue ? 94833757 : 94833754);
continue;
end_IL_0030:
break;
}
goto case 2;
IL_02d8:
_003C_003E1__state = -3;
num2 = 94833758;
goto IL_0030;
IL_025b:
_003C_003E1__state = -1;
num2 = ((_200B_206A_200B_206E_200B_206D_202C_202D_206F_202E_200D_202E_202A_206F_202C_206B_202B_206D_200D_202E_206A_206D_200C_202A_206F_206B_200C_202D_202B_202A_200E_206B_206C_200D_200E_200D_202D_202B_206D_200C_202E(step) != EInteractionType.PurchaseItem) ? 94833757 : 94833751);
goto IL_0030;
end_IL_000f:
break;
}
_003C_003E1__state = -1;
return false;
}
catch
{
//try-fault
((IDisposable)this).Dispose();
throw;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
private void _003C_003Em__Finally1()
{
_003C_003E1__state = -1;
int num = ((_003C_003E7__wrap3 == null) ? 2030073587 : 2030073584);
while (true)
{
int num2 = num;
int num3 = 2030073586;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 1:
return;
case 2:
_206D_202D_206A_200D_202C_206D_206A_206E_200E_206D_202E_206B_206D_206D_206D_200C_202C_200F_206F_200E_202B_202C_202B_202E_206E_200F_202C_202C_202E_200D_200F_202C_200F_202D_206F_200E_206D_202E_202E_202A_202E((IDisposable)_003C_003E7__wrap3);
num = 2030073587;
break;
case 0:
num = 2030073584;
break;
}
}
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw _202E_200F_206F_202B_202B_202D_200C_206A_200B_206F_200D_202B_202C_202E_206F_202A_206E_200D_202A_200D_202D_206E_206F_206E_200E_206F_206E_200C_202A_206D_202E_200D_202C_202A_202D_206F_202E_206A_200E_206B_202E();
}
[DebuggerHidden]
IEnumerator<ITask> IEnumerable<ITask>.GetEnumerator()
{
int num = ((_003C_003E1__state != -2) ? (-566231640) : (-566231639));
_003CCreateAllTasks_003Ed__4 _003CCreateAllTasks_003Ed__ = default(_003CCreateAllTasks_003Ed__4);
while (true)
{
int num2 = num;
int num3 = -566231638;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
_003C_003E1__state = 0;
_003CCreateAllTasks_003Ed__ = this;
num = -566231638;
break;
case 3:
num = ((_003C_003El__initialThreadId != _202E_200D_206C_200F_206B_202D_200B_206D_202A_206E_200F_202E_206D_202E_206A_206E_200B_206B_206D_206A_202E_202D_202D_200C_206D_206F_206C_206A_202B_206E_202E_200C_200F_206C_200B_200B_200E_202E_206F_200C_202E()) ? (-566231640) : (-566231637));
break;
case 2:
_003CCreateAllTasks_003Ed__ = new _003CCreateAllTasks_003Ed__4(0)
{
_003C_003E4__this = _003C_003E4__this
};
num = -566231638;
break;
case 4:
num = -566231639;
break;
case 0:
_003CCreateAllTasks_003Ed__.step = _003C_003E3__step;
return _003CCreateAllTasks_003Ed__;
}
}
}
[DebuggerHidden]
IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable<ITask>)this).GetEnumerator();
}
static int _202E_200D_206C_200F_206B_202D_200B_206D_202A_206E_200F_202E_206D_202E_206A_206E_200B_206B_206D_206A_202E_202D_202D_200C_206D_206F_206C_206A_202B_206E_202E_200C_200F_206C_200B_200B_200E_202E_206F_200C_202E()
{
return Environment.CurrentManagedThreadId;
}
static EInteractionType _200B_206A_200B_206E_200B_206D_202C_202D_206F_202E_200D_202E_202A_206F_202C_206B_202B_206D_200D_202E_206A_206D_200C_202A_206F_206B_200C_202D_202B_202A_200E_206B_206C_200D_200E_200D_202D_202B_206D_200C_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static uint? _200C_200F_200C_202A_202D_202D_202A_200C_200D_206C_206C_200C_206E_202E_206A_206A_200D_202C_200E_202C_206B_200F_206A_202A_202A_200C_206E_200D_202D_200C_200E_202B_206F_202C_202C_200C_206E_206A_200E_206D_202E(QuestStep P_0)
{
return P_0.DataId;
}
static uint? _206B_200E_206E_202C_206E_206C_200D_206D_200C_206B_202A_200D_202C_206C_202E_206B_202E_206D_200F_202D_200B_200E_206E_206A_202A_202A_200C_202D_200D_202A_206A_206D_206A_206C_200F_206F_200C_206D_206A_202C_202E(QuestStep P_0)
{
return P_0.ItemId;
}
static void _206A_202E_202C_206A_206F_206B_206F_206E_200B_200B_200B_200B_200E_206B_202A_202A_206E_206C_200B_206B_200F_206E_206D_202B_200E_200E_202B_202C_202B_206A_206A_206C_200B_206E_206E_200D_206D_200E_206B_206A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static int? _206E_206C_206F_202E_200B_202B_200B_202C_200E_206A_202B_200D_202D_202D_206C_206E_206A_206E_202D_206A_202D_200D_200F_200C_202A_206F_206A_200F_202E_200C_202A_206E_202D_206F_200C_200C_206D_206D_200C_202A_202E(QuestStep P_0)
{
return P_0.ItemCount;
}
static bool _202A_206B_200F_200F_200E_200D_206F_202A_206C_200C_206D_200E_206A_200E_202E_206D_206F_202B_202E_206C_202E_202D_202C_206E_202B_202D_206C_200B_200F_206F_206A_202B_206E_206C_206C_202E_206E_206B_206B_202A_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _206D_202D_206A_200D_202C_206D_206A_206E_200E_206D_202E_206B_206D_206D_206D_200C_202C_200F_206F_200E_202B_202C_202B_202E_206E_200F_202C_202C_202E_200D_200F_202C_200F_202D_206F_200E_206D_202E_202E_202A_202E(IDisposable P_0)
{
P_0.Dispose();
}
static NotSupportedException _202E_200F_206F_202B_202B_202D_200C_206A_200B_206F_200D_202B_202C_202E_206F_202A_206E_200D_202A_200D_202D_206E_206F_206E_200E_206F_206E_200C_202A_206D_202E_200D_202C_202A_202D_206F_202E_206A_200E_206B_202E()
{
return new NotSupportedException();
}
}
[IteratorStateMachine(typeof(_003CCreateAllTasks_003Ed__4))]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new _003CCreateAllTasks_003Ed__4(-2)
{
_003C_003E4__this = this,
_003C_003E3__step = step
};
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
}
}

View file

@ -0,0 +1,323 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using LLib.GameData;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps.Common;
using Questionable.Model;
using Questionable.Model.Questing;
namespace Questionable.Controller.Steps.Interactions;
internal static class CriticalEncounter
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
int num = ((_202B_202A_206E_202D_206C_200F_200D_202A_200D_206C_200B_206A_202B_202D_200F_206F_206C_206E_200E_202E_202B_202E_206C_202C_206D_206A_202B_200F_206C_202A_206B_200B_202E_202D_206E_206C_200F_200D_206A_200E_202E(step) == EInteractionType.CriticalEncounter) ? 388534169 : 388534175);
bool flag = default(bool);
ushort? num5 = default(ushort?);
while (true)
{
int num2 = num;
int num3 = 388534174;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(new WaitForCriticalEncounter(_202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(step).Value, _200E_200B_202E_206D_202C_200C_206F_202A_206F_206D_206E_206C_206B_202C_202C_206D_206B_206C_206C_202E_206D_200C_202B_202C_206A_202A_206E_202A_206B_202B_206A_206B_206A_202E_200E_202C_202D_200C_200F_206C_202E(step)));
case 2:
num = ((!flag) ? 388534173 : 388534170);
break;
case 4:
throw _202D_206F_200D_202A_200C_200B_200C_200F_202A_202E_202C_200B_200F_206A_202D_206B_202D_200E_200F_206D_200D_206E_206D_200C_206B_200C_200E_202E_206A_202A_200F_200F_206D_202B_202E_206A_206A_202A_200E_200F_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(173883296));
case 1:
return Array.Empty<ITask>();
case 8:
num = 388534175;
break;
case 0:
num = ((num5.GetValueOrDefault() != 0) ? 388534171 : 388534168);
break;
case 5:
flag = false;
num = 388534172;
break;
case 6:
flag = true;
num = 388534172;
break;
case 7:
num5 = _202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(step);
num = ((!num5.HasValue) ? 388534168 : 388534174);
break;
}
}
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
static EInteractionType _202B_202A_206E_202D_206C_200F_200D_202A_200D_206C_200B_206A_202B_202D_200F_206F_206C_206E_200E_202E_202B_202E_206C_202C_206D_206A_202B_200F_206C_202A_206B_200B_202E_202D_206E_206C_200F_200D_206A_200E_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static ushort? _202B_202D_206C_206B_206B_206E_200E_206A_206C_206D_200E_202E_206E_202C_206B_206A_200F_202C_202E_202E_200F_206D_202D_206A_206F_206C_200B_206C_202C_200F_206F_206C_200D_206B_200C_202D_206F_202E_200F_202A_202E(QuestStep P_0)
{
return P_0.CriticalEncounterId;
}
static InvalidOperationException _202D_206F_200D_202A_200C_200B_200C_200F_202A_202E_202C_200B_200F_206A_202D_206B_202D_200E_200F_206D_200D_206E_206D_200C_206B_200C_200E_202E_206A_202A_200F_200F_206D_202B_202E_206A_206A_202A_200E_200F_202E(string P_0)
{
return new InvalidOperationException(P_0);
}
static string _200E_200B_202E_206D_202C_200C_206F_202A_206F_206D_206E_206C_206B_202C_202C_206D_206B_206C_206C_202E_206D_200C_202B_202C_206A_202A_206E_202A_206B_202B_206A_206B_206A_202E_200E_202C_202D_200C_200F_206C_202E(QuestStep P_0)
{
return P_0.Comment;
}
}
internal sealed record WaitForCriticalEncounter(ushort CriticalEncounterId, string? Comment) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206C_206C_206A_202A_200B_206A_202D_202E_200C_200D_200B_202A_206D_206A_202E_202A_206D_206A_202D_202C_200C_206D_206A_206A_206C_206D_200C_200D_202D_202C_202E_206D_200D_206B_200B_202E_206E_202E_200F_200E_202E(typeof(WaitForCriticalEncounter).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(26, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1697755405));
defaultInterpolatedStringHandler.AppendFormatted(CriticalEncounterId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200D_206D_202B_206B_206E_206A_200B_206A_206A_200D_202D_206C_202A_202E_206E_202B_200D_206E_206B_200E_202D_202E_202D_206F_206F_206A_206C_200C_206E_200C_202C_206D_206F_200D_200E_200C_202B_206F_202C_206A_202E();
_206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1797121182));
_206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(builder, CriticalEncounterId.ToString());
_206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(161698568));
_206D_206B_202C_200F_206B_202D_200D_206D_206E_202D_200D_200B_200B_202A_206F_202D_200D_200B_200E_202E_206F_206C_206D_200D_206E_200D_200E_206E_202D_206A_206E_200E_206B_206E_200D_202D_200C_206C_200D_202C_202E(builder, (object?)Comment);
return true;
}
[CompilerGenerated]
public bool Equals(WaitForCriticalEncounter? other)
{
int num = (((object)this == other) ? 1889807727 : 1889807725);
while (true)
{
int num2 = num;
int num3 = 1889807724;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
num = 1889807725;
break;
case 6:
num = ((!EqualityComparer<ushort>.Default.Equals(CriticalEncounterId, other.CriticalEncounterId)) ? 1889807720 : 1889807721);
break;
case 3:
return true;
case 1:
num = (((object)other == null) ? 1889807720 : 1889807724);
break;
case 5:
return EqualityComparer<string>.Default.Equals(Comment, other.Comment);
case 4:
return false;
case 0:
num = ((!_200B_202E_206B_202C_202A_200C_202E_200C_202C_200D_202E_200C_200C_200B_200F_200C_202D_202E_206D_202C_202B_202B_206C_200B_200F_206C_202C_200E_206C_206F_202B_206F_200B_202B_200C_200C_200F_206E_202A_202D_202E(EqualityContract, other.EqualityContract)) ? 1889807720 : 1889807722);
break;
}
}
}
bool IEquatable<WaitForCriticalEncounter>.Equals(WaitForCriticalEncounter? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type? _206C_206C_206A_202A_200B_206A_202D_202E_200C_200D_200B_202A_206D_206A_202E_202A_206D_206A_202D_202C_200C_206D_206A_206A_206C_206D_200C_200D_202D_202C_202E_206D_200D_206B_200B_202E_206E_202E_200F_200E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200D_206D_202B_206B_206E_206A_200B_206A_206A_200D_202D_206C_202A_202E_206E_202B_200D_206E_206B_200E_202D_202E_202D_206F_206F_206A_206C_200C_206E_200C_202C_206D_206F_200D_200E_200C_202B_206F_202C_206A_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder? _206D_200B_200D_202E_200F_200E_206D_206B_206A_200C_200F_200C_202B_202A_202B_206F_200F_200D_202D_200B_202C_200E_202C_206B_206D_200C_202B_202D_206A_206D_206F_206E_200C_206C_202D_200E_206E_202E_206E_206C_202E(StringBuilder? P_0, string? P_1)
{
return P_0.Append(P_1);
}
static StringBuilder? _206D_206B_202C_200F_206B_202D_200D_206D_206E_202D_200D_200B_200B_202A_206F_202D_200D_200B_200E_202E_206F_206C_206D_200D_206E_200D_200E_206E_202D_206A_206E_200E_206B_206E_200D_202D_200C_206C_200D_202C_202E(StringBuilder? P_0, object? P_1)
{
return P_0.Append(P_1);
}
static bool _200B_202E_206B_202C_202A_200C_202E_200C_202C_200D_202E_200C_200C_200B_200F_200C_202D_202E_206D_202C_202B_202B_206C_200B_200F_206C_202C_200E_206C_206F_202B_206F_200B_202B_200C_200C_200F_206E_202A_202D_202E(Type? P_0, Type? P_1)
{
return P_0 == P_1;
}
}
internal sealed class WaitForCriticalEncounterExecutor(PublicEventHelper publicEventHelper, MovementController movementController, SendNotification.Executor sendNotificationExecutor, ILogger<WaitForCriticalEncounterExecutor> logger) : TaskExecutor<WaitForCriticalEncounter>()
{
private long _nextPollAt;
private bool _loggedWaiting;
private bool _notified;
private bool _navigating;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(787186705), new object[1] { base.Task.CriticalEncounterId });
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
int num = ((_202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() >= _nextPollAt) ? 547757229 : 547757246);
PublicEvent valueOrDefault = default(PublicEvent);
PublicEvent? publicEvent = default(PublicEvent?);
while (true)
{
int num2 = num;
int num3 = 547757230;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 8:
num = (_loggedWaiting ? 547757221 : 547757227);
break;
case 4:
_nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 1000;
return ETaskResult.StillRunning;
case 1:
_nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 2000;
return ETaskResult.StillRunning;
case 12:
valueOrDefault = publicEvent.GetValueOrDefault();
num = 547757223;
break;
case 2:
return ETaskResult.TaskComplete;
case 16:
return ETaskResult.StillRunning;
case 0:
num = 547757246;
break;
case 15:
num = ((publicEvent.GetValueOrDefault().Id != base.Task.CriticalEncounterId) ? 547757225 : 547757228);
break;
case 11:
_notified = false;
_navigating = false;
_nextPollAt = _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E() + 1000;
return ETaskResult.StillRunning;
case 10:
num = (_navigating ? 547757226 : 547757216);
break;
case 14:
_202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1192929131), new object[2]
{
base.Task.CriticalEncounterId,
valueOrDefault.Position
});
movementController.NavigateTo(EMovementType.Quest, null, valueOrDefault.Position, fly: false, sprint: true, 5f);
_navigating = true;
num = 547757226;
break;
case 7:
num = ((!valueOrDefault.IsActive) ? 547757220 : 547757231);
break;
case 6:
publicEvent = _206B_202D_206C_200D_202A_206C_206A_206C_202E_200F_206A_202C_202C_206E_200E_206D_202D_200E_202A_200C_206D_202A_206D_206F_206A_206F_202B_202E_206A_206E_200C_202A_200F_206D_200B_202C_202E_206B_200D_202E_202E(publicEventHelper);
num = ((!publicEvent.HasValue) ? 547757225 : 547757217);
break;
case 9:
num = (_notified ? 547757224 : 547757219);
break;
case 3:
publicEvent = _206B_200F_206E_200C_202C_206D_200D_202C_200C_202A_206A_200B_200E_202E_206A_206E_202D_202A_206B_206A_200B_202E_206A_206D_206F_200F_202A_206A_206F_202D_206D_202C_200E_202E_202B_200F_202A_202A_202A_206C_202E(publicEventHelper, EPublicEventType.DynamicEvent, (uint)base.Task.CriticalEncounterId);
num = ((!publicEvent.HasValue) ? 547757222 : 547757218);
break;
case 13:
_202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1925066438), new object[2]
{
base.Task.CriticalEncounterId,
valueOrDefault.Name
});
sendNotificationExecutor.Start(new SendNotification.Task(EInteractionType.CriticalEncounter, base.Task.Comment ?? valueOrDefault.Name));
_notified = true;
num = 547757224;
break;
case 5:
_200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-103389765), new object[1] { base.Task.CriticalEncounterId });
_loggedWaiting = true;
num = 547757221;
break;
}
}
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static void _200D_206C_202E_206E_206C_200F_200C_200F_200D_206D_202D_200D_206C_206B_200D_200D_200C_202B_206D_200E_202C_202B_200B_206E_206A_200B_206C_206E_206C_206D_202D_206F_200B_202D_202E_206F_206F_206F_206B_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static long _202C_200B_200C_200C_202A_200E_206C_200C_206F_200E_202B_206F_202B_202B_206E_206F_200C_202D_206B_200B_202B_206F_206D_206D_202A_202A_206E_206D_206B_206C_202E_206F_202C_200C_200D_200F_200E_202B_202A_200F_202E()
{
return Environment.TickCount64;
}
static PublicEvent? _206B_200F_206E_200C_202C_206D_200D_202C_200C_202A_206A_200B_200E_202E_206A_206E_202D_202A_206B_206A_200B_202E_206A_206D_206F_200F_202A_206A_206F_202D_206D_202C_200E_202E_202B_200F_202A_202A_202A_206C_202E(PublicEventHelper P_0, EPublicEventType P_1, uint P_2)
{
return P_0.GetEventById(P_1, P_2);
}
static void _202C_206B_200F_206C_206B_206C_200F_206F_202C_200B_202D_202C_200E_202E_202A_202B_200C_206A_200D_206D_202E_200D_200F_206A_202A_206C_202A_200D_200D_206A_200C_202A_202B_206C_200B_200C_202B_200E_206B_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static PublicEvent? _206B_202D_206C_200D_202A_206C_206A_206C_202E_200F_206A_202C_202C_206E_200E_206D_202D_200E_202A_200C_206D_202A_206D_206F_206A_206F_202B_202E_206A_206E_200C_202A_200F_206D_200B_202C_202E_206B_200D_202E_202E(PublicEventHelper P_0)
{
return P_0.GetCurrentDynamicEvent();
}
}
}

View file

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Plugin.Services;
@ -21,19 +22,39 @@ internal static class Dive
{
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.Dive)
int num = ((_206D_206E_202A_206D_200D_206F_206D_200C_206E_200E_206C_200C_200E_206F_206C_200B_202C_206C_202C_206B_200C_200B_200C_202C_206E_202D_200F_202B_202D_200F_202D_200D_206F_202A_206A_202B_202A_202B_206F_206C_202E(step) == EInteractionType.Dive) ? 912485956 : 912485959);
while (true)
{
return null;
int num2 = num;
int num3 = 912485958;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
return new Task();
case 1:
return null;
case 0:
goto IL_0050;
}
continue;
IL_0050:
num = 912485959;
}
return new Task();
}
static EInteractionType _206D_206E_202A_206D_200D_206F_206D_200C_206E_200E_206C_200C_200E_206F_206C_200B_202C_206C_202C_206B_200C_200B_200C_202C_206E_202D_200F_202B_202D_200F_202D_200D_206F_202A_206A_202B_202A_202B_206F_206C_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
}
internal sealed class Task : ITask
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "Dive";
return global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(377000525);
}
}
@ -45,141 +66,380 @@ internal static class Dive
private int _attempts;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool StartInternal()
{
if (condition[ConditionFlag.Diving])
int num = ((!_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Diving)) ? (-182833903) : (-182833899));
while (true)
{
return false;
int num2 = num;
int num3 = -182833900;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = ((!_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Swimming)) ? (-182833904) : (-182833900));
break;
case 5:
num = (_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Mounted) ? (-182833900) : (-182833898));
break;
case 0:
Descend();
return true;
case 3:
num = -182833899;
break;
case 4:
throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-335869589));
case 1:
return false;
}
}
if (condition[ConditionFlag.Mounted] || condition[ConditionFlag.Swimming])
{
Descend();
return true;
}
throw new TaskException("You aren't swimming, so we can't dive.");
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
if (_keysToPress.TryDequeue(out (uint, nint) result))
(uint, nint) result;
int num = ((!_keysToPress.TryDequeue(out result)) ? 297362200 : 297362206);
while (true)
{
if (result.Item1 == 0)
int num2 = num;
int num3 = 297362202;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 6:
return ETaskResult.StillRunning;
case 4:
num = ((result.Item1 != 0) ? 297362201 : 297362204);
break;
case 3:
_200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(547752152), new object[2]
{
(result.Item1 == 256) ? global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-211975877) : global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(378157279),
result.Item2
});
WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, result.Item1, result.Item2);
num = ((result.Item1 != 256) ? 297362202 : 297362203);
break;
case 8:
num = 297362206;
break;
case 5:
_pressedKeys.Remove(result.Item2);
num = 297362205;
break;
case 2:
return base.Update();
case 1:
_pressedKeys.Add(result.Item2);
num = 297362205;
break;
case 0:
num = ((result.Item1 != 257) ? 297362205 : 297362207);
break;
case 7:
return ETaskResult.StillRunning;
}
logger.LogDebug("{Action} key {KeyCode:X2}", (result.Item1 == 256) ? "Pressing" : "Releasing", result.Item2);
WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, result.Item1, result.Item2);
if (result.Item1 == 256)
{
_pressedKeys.Add(result.Item2);
}
else if (result.Item1 == 257)
{
_pressedKeys.Remove(result.Item2);
}
return ETaskResult.StillRunning;
}
return base.Update();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe void StopNow()
{
foreach (nint pressedKey in _pressedKeys)
using (HashSet<nint>.Enumerator enumerator = _pressedKeys.GetEnumerator())
{
logger.LogDebug("Releasing stuck key {KeyCode:X2} on stop", pressedKey);
WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, 257u, pressedKey);
int num = 169668245;
while (true)
{
int num2 = num;
int num3 = 169668244;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 169668245;
break;
case 1:
num = (enumerator.MoveNext() ? 169668246 : 169668247);
break;
case 2:
{
nint current = enumerator.Current;
_200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(331258283), new object[1] { current });
WindowsKeypress.SendMessage((nint)Device.Instance()->hWnd, 257u, current);
num = 169668245;
break;
}
case 3:
goto end_IL_0017;
}
continue;
end_IL_0017:
break;
}
}
_pressedKeys.Clear();
_keysToPress.Clear();
}
void IStoppableTaskExecutor.StopNow()
{
//ILSpy generated this explicit interface implementation from .override directive in StopNow
this.StopNow();
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected override ETaskResult UpdateInternal()
{
if (condition[ConditionFlag.Diving])
int num = ((!_200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(condition, ConditionFlag.Diving)) ? 1669924537 : 1669924536);
while (true)
{
return ETaskResult.TaskComplete;
int num2 = num;
int num3 = 1669924537;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = ((_attempts < 5) ? 1669924538 : 1669924541);
break;
case 1:
return ETaskResult.TaskComplete;
case 3:
{
Descend();
int attempts = _attempts;
num3 = 1;
num4 = attempts;
_attempts = (num4 | num3) + (num4 & num3);
return ETaskResult.StillRunning;
}
case 4:
throw new TaskException(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1475958254));
case 2:
num = 1669924536;
break;
}
}
if (_attempts >= 5)
{
throw new TaskException("Please dive manually.");
}
Descend();
_attempts++;
return ETaskResult.StillRunning;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void Descend()
{
Keybind* keybind = UIInputData.Instance()->GetKeybind(InputId.MOVE_DESCENT);
if (keybind == null)
{
throw new TaskException("Could not find descent keybind");
throw new TaskException(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(472640545));
}
Span<KeySetting> keySettings = keybind->KeySettings;
SeVirtualKey key = keySettings[0].Key;
KeyModifierFlag keyModifier = keySettings[0].KeyModifier;
SeVirtualKey key2 = keySettings[1].Key;
KeyModifierFlag keyModifier2 = keySettings[1].KeyModifier;
logger.LogInformation("Dive keybind: {Key1} + {Modifier1}, {Key2} + {Modifier2}", key, keyModifier, key2, keyModifier2);
_200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1313145476), new object[4] { key, keyModifier, key2, keyModifier2 });
int num = 2;
List<List<nint>> list = new List<List<nint>>(num);
CollectionsMarshal.SetCount(list, num);
Span<List<nint>> span = CollectionsMarshal.AsSpan(list);
span[0] = GetKeysToPress(key, keyModifier);
span[1] = GetKeysToPress(key2, keyModifier2);
List<nint> list2 = (from x in list
where x != null
select (x)).MinBy((List<nint> x) => x.Count);
if (list2 == null || list2.Count == 0)
List<nint> list2 = list.OfType<List<nint>>().MinBy((List<nint> x) => x.Count);
int num2 = ((list2 == null) ? 326698319 : 326698316);
int num12 = default(int);
while (true)
{
throw new TaskException("No useable keybind found for diving");
}
foreach (nint item in list2)
{
_keysToPress.Enqueue((256u, item));
for (int num2 = 0; num2 < 15; num2++)
int num3 = num2;
int num4 = 326698319;
int num5 = num3;
int num6 = num5 + num4;
int num7 = num5 & num4;
switch (num6 - (num7 + num7))
{
_keysToPress.Enqueue((0u, 0));
case 2:
num2 = 326698316;
break;
case 3:
num2 = ((list2.Count != 0) ? 326698318 : 326698319);
break;
case 0:
throw new TaskException(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-81108494));
case 1:
{
using (List<nint>.Enumerator enumerator = list2.GetEnumerator())
{
num2 = 1722000690;
while (true)
{
int num8 = num2;
num4 = 1722000690;
num5 = num8;
int num9 = num5 + num4;
int num10 = num5 & num4;
switch (num9 - (num10 + num10))
{
case 2:
num2 = 1722000690;
break;
case 3:
{
nint current = enumerator.Current;
_keysToPress.Enqueue((256u, current));
num12 = 0;
num2 = 1722000695;
break;
}
case 4:
{
_keysToPress.Enqueue((0u, 0));
int num11 = num12;
num4 = 1;
num5 = num11;
int num13 = num5 ^ num4;
int num14 = num5 & num4;
num12 = num13 + (num14 + num14);
num2 = 1722000695;
break;
}
case 5:
num2 = ((num12 < 15) ? 1722000694 : 1722000690);
break;
case 0:
num2 = (enumerator.MoveNext() ? 1722000689 : 1722000691);
break;
case 1:
goto end_IL_01b5;
}
continue;
end_IL_01b5:
break;
}
}
int num15 = 0;
num2 = 624642844;
while (true)
{
int num16 = num2;
num4 = 624642847;
num5 = num16;
switch ((num5 | num4) - (num5 & num4))
{
case 0:
num2 = 624642844;
break;
case 3:
num2 = ((num15 < 5) ? 624642846 : 624642845);
break;
case 1:
{
_keysToPress.Enqueue((0u, 0));
int num20 = num15;
num4 = 1;
num5 = num20;
num15 = (num5 | num4) + (num5 & num4);
num2 = 624642844;
break;
}
case 2:
{
list2.Reverse();
using List<nint>.Enumerator enumerator = list2.GetEnumerator();
num2 = 2090140458;
while (true)
{
int num17 = num2;
num4 = 2090140458;
num5 = num17;
int num18 = num5 + num4;
int num19 = num5 & num4;
switch (num18 - (num19 + num19))
{
case 2:
num2 = 2090140458;
break;
case 1:
{
nint current2 = enumerator.Current;
_keysToPress.Enqueue((257u, current2));
num2 = 2090140458;
break;
}
case 0:
num2 = (enumerator.MoveNext() ? 2090140459 : 2090140457);
break;
case 3:
return;
}
}
}
}
}
}
}
}
for (int num3 = 0; num3 < 5; num3++)
{
_keysToPress.Enqueue((0u, 0));
}
list2.Reverse();
foreach (nint item2 in list2)
{
_keysToPress.Enqueue((257u, item2));
}
}
static bool _200F_200F_200D_206B_200B_206D_206C_206F_206E_200D_200B_206E_206D_200E_206C_200B_200D_202D_206E_202C_206D_200C_200E_202C_202B_200C_206B_206B_206E_202C_200B_206F_206F_206E_206C_206F_202D_206C_200F_206F_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static void _200E_202C_206B_200B_202B_206C_206C_202C_202C_206B_206E_206F_202D_200F_200E_200D_200B_202A_202C_206B_200B_202E_200D_202D_206F_206C_200F_200E_206A_200F_202A_202C_206F_200E_206B_202C_206C_202C_206E_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
private static List<nint>? GetKeysToPress(SeVirtualKey key, KeyModifierFlag modifier)
{
List<nint> list = new List<nint>();
if ((modifier & KeyModifierFlag.Ctrl) != KeyModifierFlag.None)
int num = (((modifier & KeyModifierFlag.Ctrl) == 0) ? 1227229785 : 1227229790);
nint num7 = default(nint);
while (true)
{
list.Add(17);
int num2 = num;
int num3 = 1227229786;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return null;
case 3:
num = (((modifier & KeyModifierFlag.Shift) == 0) ? 1227229789 : 1227229787);
break;
case 4:
list.Add(17);
num = 1227229785;
break;
case 5:
list.Add(num7);
return list;
case 1:
list.Add(16);
num = 1227229789;
break;
case 7:
num = (((modifier & KeyModifierFlag.Alt) == 0) ? 1227229788 : 1227229786);
break;
case 6:
num7 = (nint)key;
num = ((num7 != 0) ? 1227229791 : 1227229784);
break;
case 8:
num = 1227229790;
break;
case 0:
list.Add(18);
num = 1227229788;
break;
}
}
if ((modifier & KeyModifierFlag.Shift) != KeyModifierFlag.None)
{
list.Add(16);
}
if ((modifier & KeyModifierFlag.Alt) != KeyModifierFlag.None)
{
list.Add(18);
}
nint num = (nint)key;
if (num == 0)
{
return null;
}
list.Add(num);
return list;
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,70 @@
namespace Questionable.Controller.Steps.Interactions;
internal sealed class DutyRetryState
{
private int _retryCount;
public bool AwaitingOutcome { get; private set; }
public bool CanRetry(int maxRetries)
{
int num = ((maxRetries < 0) ? 1447023727 : 1447023721);
bool result = default(bool);
while (true)
{
int num2 = num;
int num3 = 1447023724;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1447023721;
break;
case 4:
result = _retryCount < maxRetries;
num = 1447023725;
break;
case 3:
result = true;
num = 1447023725;
break;
case 2:
result = false;
num = 1447023725;
break;
case 5:
num = ((maxRetries != 0) ? 1447023720 : 1447023726);
break;
case 1:
return result;
}
}
}
public void BeginAwaitingOutcome()
{
AwaitingOutcome = true;
}
public void EndAwaitingOutcome()
{
AwaitingOutcome = false;
}
public void RecordRetry()
{
int retryCount = _retryCount;
int num = 1;
int num2 = retryCount;
int num3 = num2 ^ num;
int num4 = num2 & num;
_retryCount = num3 + (num4 + num4);
AwaitingOutcome = false;
}
public void Reset()
{
_retryCount = 0;
AwaitingOutcome = false;
}
}

View file

@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Questionable.Controller.Steps.Common;
using Questionable.Functions;
using Questionable.Model;
@ -11,59 +13,343 @@ internal static class Emote
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
EInteractionType interactionType = step.InteractionType;
if ((interactionType == EInteractionType.SinglePlayerDuty || (uint)(interactionType - 28) <= 1u) ? true : false)
EInteractionType eInteractionType = _206E_200F_202D_200B_206F_206C_202E_200B_206F_200D_206D_206D_206E_200F_200F_206C_206D_200D_206D_200B_206D_202D_206E_206D_200B_200C_206F_202B_200E_206C_206F_200E_206E_200D_200F_206C_200F_202E_206E_200F_202E(step);
int num = ((eInteractionType == EInteractionType.SinglePlayerDuty) ? 600335815 : 600335808);
Mount.UnmountTask unmountTask = default(Mount.UnmountTask);
bool flag = default(bool);
while (true)
{
if (!step.Emote.HasValue)
int num2 = num;
int num3 = 600335812;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 8:
return Array.Empty<ITask>();
case 2:
_200E_200C_202D_206D_202C_200C_206B_206C_206D_200E_206C_200E_206E_206B_200C_206F_200B_200D_206E_200B_200B_202E_206B_200E_200D_206F_206A_200F_200E_202E_200B_206D_200E_200E_202C_202B_202D_206B_200D_206C_202E((object)_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step), global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-837937279));
unmountTask = new Mount.UnmountTask();
num = ((!_202E_202D_206C_206B_206E_202A_202D_200B_200E_200B_202D_200C_200C_206B_202A_202B_202A_202C_206E_202C_206A_200C_200C_206B_200C_206C_200D_206D_202C_202B_206C_206B_206A_200F_202C_206D_206C_202C_206E_200F_202E(step).HasValue) ? 600335811 : 600335813);
break;
case 0:
num = 600335808;
break;
case 5:
num = ((!flag) ? 600335823 : 600335821);
break;
case 6:
return Array.Empty<ITask>();
case 11:
num = ((_206E_200F_202D_200B_206F_206C_202E_200B_206F_200D_206D_206D_206E_200F_200F_206C_206D_200D_206D_200B_206D_202D_206E_206D_200B_200C_206F_202B_200E_206C_206F_200E_206E_200D_200F_206C_200F_202E_206E_200F_202E(step) == EInteractionType.Emote) ? 600335814 : 600335810);
break;
case 7:
{
UseOnSelf useOnSelf = new UseOnSelf(_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step).Value);
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2] { unmountTask, useOnSelf });
}
case 9:
num = (_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step).HasValue ? 600335814 : 600335820);
break;
case 4:
num = (((uint)(eInteractionType - 30) > 1u) ? 600335822 : 600335815);
break;
case 10:
flag = false;
num = 600335809;
break;
case 1:
{
UseOnObject useOnObject = new UseOnObject(_202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(step).Value, _202E_202D_206C_206B_206E_202A_202D_200B_200E_200B_202D_200C_200C_206B_202A_202B_202A_202C_206E_202C_206A_200C_200C_206B_200C_206C_200D_206D_202C_202B_206C_206B_206A_200F_202C_206D_206C_202C_206E_200F_202E(step).Value);
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2] { unmountTask, useOnObject });
}
case 3:
flag = true;
num = 600335809;
break;
}
}
else if (step.InteractionType != EInteractionType.Emote)
{
return Array.Empty<ITask>();
}
ArgumentNullException.ThrowIfNull(step.Emote, "step.Emote");
Mount.UnmountTask unmountTask = new Mount.UnmountTask();
if (step.DataId.HasValue)
{
UseOnObject useOnObject = new UseOnObject(step.Emote.Value, step.DataId.Value);
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2] { unmountTask, useOnObject });
}
UseOnSelf useOnSelf = new UseOnSelf(step.Emote.Value);
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2] { unmountTask, useOnSelf });
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
static EInteractionType _206E_200F_202D_200B_206F_206C_202E_200B_206F_200D_206D_206D_206E_200F_200F_206C_206D_200D_206D_200B_206D_202D_206E_206D_200B_200C_206F_202B_200E_206C_206F_200E_206E_200D_200F_206C_200F_202E_206E_200F_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static EEmote? _202C_206B_202E_200E_200F_200F_206F_200B_206A_206C_202B_202A_200E_202D_206D_206A_200D_200E_200E_206C_202A_202A_202E_200E_206D_206A_206F_202A_200C_202D_200F_202B_202C_200E_206C_200E_202C_206A_206A_200E_202E(QuestStep P_0)
{
return P_0.Emote;
}
static void _200E_200C_202D_206D_202C_200C_206B_206C_206D_200E_206C_200E_206E_206B_200C_206F_200B_200D_206E_200B_200B_202E_206B_200E_200D_206F_206A_200F_200E_202E_200B_206D_200E_200E_202C_202B_202D_206B_200D_206C_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static uint? _202E_202D_206C_206B_206E_202A_202D_200B_200E_200B_202D_200C_200C_206B_202A_202B_202A_202C_206E_202C_206A_200C_200C_206B_200C_206C_200D_206D_202C_202B_206C_206B_206A_200F_202C_206D_206C_202C_206E_200F_202E(QuestStep P_0)
{
return P_0.DataId;
}
}
internal sealed record UseOnObject(EEmote Emote, uint DataId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206B_200D_206F_200D_206F_200C_202E_206A_202D_202E_200C_206E_206D_206D_202C_200D_202B_206D_200C_200C_200C_200E_206B_206C_202C_200D_206E_206F_206C_206D_206A_206E_206A_200F_202B_202E_206F_200B_206A_202C_202E(typeof(UseOnObject).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Emote({Emote} on {DataId})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(11, 2);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2087986807));
defaultInterpolatedStringHandler.AppendFormatted(Emote);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(858401592));
defaultInterpolatedStringHandler.AppendFormatted(DataId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(444206578));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200B_200C_202B_202E_202C_200D_206C_206E_202C_202B_202C_202A_200C_200B_206B_202B_202A_200E_202E_200E_206B_202B_202A_202D_206C_206B_202E_200E_200C_200F_206E_202A_200D_206A_200B_202D_200C_202C_206D_200C_202E();
_202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1120730526));
_202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, Emote.ToString());
_202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1696435016));
_202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(builder, DataId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(UseOnObject? other)
{
int num = (((object)this == other) ? 1765406967 : 1765406963);
while (true)
{
int num2 = num;
int num3 = 1765406965;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 3:
return EqualityComparer<uint>.Default.Equals(DataId, other.DataId);
case 1:
num = ((!_200C_200B_202E_200E_202D_200C_200F_202B_202B_200B_206B_200B_206C_202D_206A_202A_200E_202B_206D_200D_206A_202D_200D_206D_200B_202A_206A_200E_202B_202E_206A_202D_206C_206B_200D_206D_202D_200D_200E_200E_202E(EqualityContract, other.EqualityContract)) ? 1765406965 : 1765406960);
break;
case 2:
return true;
case 0:
return false;
case 4:
num = 1765406963;
break;
case 5:
num = ((!EqualityComparer<EEmote>.Default.Equals(Emote, other.Emote)) ? 1765406965 : 1765406966);
break;
case 6:
num = (((object)other == null) ? 1765406965 : 1765406964);
break;
}
}
}
bool IEquatable<UseOnObject>.Equals(UseOnObject? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206B_200D_206F_200D_206F_200C_202E_206A_202D_202E_200C_206E_206D_206D_202C_200D_202B_206D_200C_200C_200C_200E_206B_206C_202C_200D_206E_206F_206C_206D_206A_206E_206A_200F_202B_202E_206F_200B_206A_202C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200B_200C_202B_202E_202C_200D_206C_206E_202C_202B_202C_202A_200C_200B_206B_202B_202A_200E_202E_200E_206B_202B_202A_202D_206C_206B_202E_200E_200C_200F_206E_202A_200D_206A_200B_202D_200C_202C_206D_200C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202C_202E_200D_202C_200D_206E_202A_200F_202C_200C_200F_200D_206D_202A_202B_202A_206B_206C_202B_206A_206C_202E_200F_200C_206D_202E_202D_206A_202A_206A_202C_206C_200C_206A_206E_202E_206A_202C_202B_206E_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _200C_200B_202E_200E_202D_200C_200F_202B_202B_200B_206B_200B_206C_202D_206A_202A_200E_202B_206D_200D_206A_202D_200D_206D_200B_202A_206A_200E_202B_202E_206A_202D_206C_206B_200D_206D_202D_200D_200E_200E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class UseOnObjectExecutor(ChatFunctions chatFunctions) : AbstractDelayedTaskExecutor<UseOnObject>()
{
private bool _emoteFired;
private long _retryAt;
private int _attempts;
protected override bool StartInternal()
{
chatFunctions.UseEmote(base.Task.DataId, base.Task.Emote);
_emoteFired = chatFunctions.UseEmote(base.Task.DataId, base.Task.Emote);
return true;
}
protected override ETaskResult UpdateInternal()
{
int num = (_emoteFired ? 594920649 : 594920652);
while (true)
{
int num2 = num;
int num3 = 594920655;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 594920652;
break;
case 5:
_emoteFired = chatFunctions.UseEmote(base.Task.DataId, base.Task.Emote);
_retryAt = _200E_206B_200E_206D_200B_200D_202C_200F_202D_200F_202A_200F_206A_206D_206B_200D_206D_206A_202C_202D_200E_200C_202D_206A_206B_202C_200F_206A_200D_202B_200F_200D_200B_206B_202E_200E_206B_206F_200D_202B_202E() + 1000;
return ETaskResult.StillRunning;
case 1:
{
int attempts = _attempts;
num3 = 1;
num4 = attempts;
_attempts = (num4 | num3) + (num4 & num3);
num = ((_attempts <= 10) ? 594920650 : 594920653);
break;
}
case 3:
num = ((_200E_206B_200E_206D_200B_200D_202C_200F_202D_200F_202A_200F_206A_206D_206B_200D_206D_206A_202C_202D_200E_200C_202D_206A_206B_202C_200F_206A_200D_202B_200F_200D_200B_206B_202E_200E_206B_206F_200D_202B_202E() >= _retryAt) ? 594920654 : 594920651);
break;
case 2:
return ETaskResult.RetryStep;
case 6:
return ETaskResult.TaskComplete;
case 4:
return ETaskResult.StillRunning;
}
}
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static long _200E_206B_200E_206D_200B_200D_202C_200F_202D_200F_202A_200F_206A_206D_206B_200D_206D_206A_202C_202D_200E_200C_202D_206A_206B_202C_200F_206A_200D_202B_200F_200D_200B_206B_202E_200E_206B_206F_200D_202B_202E()
{
return Environment.TickCount64;
}
}
internal sealed record UseOnSelf(EEmote Emote) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202B_202C_202A_202E_206A_202B_202A_206E_206D_206F_206C_206D_202E_202C_206F_202A_202E_206D_200D_206B_202C_206F_202E_206A_202C_206C_200C_200E_202E_206C_206E_200B_206E_206A_206B_206B_202B_200F_202C_206E_202E(typeof(UseOnSelf).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Emote({Emote})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-683666426));
defaultInterpolatedStringHandler.AppendFormatted(Emote);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(444206578));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206F_202B_200C_202E_202C_206C_206A_200B_200D_200D_202E_200B_200D_202A_200C_206A_200E_206F_200B_206A_206C_202E_202A_206F_206D_200F_206C_206E_206A_200F_202A_202A_206D_206F_202B_200B_206F_206E_206B_202C_202E();
_202C_200C_202A_200B_202A_206E_206B_202E_202B_202C_200D_202B_206E_200F_200F_202E_200C_200E_206F_206B_200C_206A_200E_200F_206A_206E_206D_202C_200B_200B_206F_202B_206B_202A_200D_206E_202A_206B_206C_206A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1730990163));
_202C_200C_202A_200B_202A_206E_206B_202E_202B_202C_200D_202B_206E_200F_200F_202E_200C_200E_206F_206B_200C_206A_200E_200F_206A_206E_206D_202C_200B_200B_206F_202B_206B_202A_200D_206E_202A_206B_206C_206A_202E(builder, Emote.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(UseOnSelf? other)
{
int num = (((object)this == other) ? 748944123 : 748944126);
while (true)
{
int num2 = num;
int num3 = 748944127;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 5:
return EqualityComparer<EEmote>.Default.Equals(Emote, other.Emote);
case 2:
num = ((!_202A_200B_206A_202D_206D_202E_206C_206E_200B_202C_202D_206C_206B_200D_202D_200B_202D_206D_200D_200C_206F_206B_202A_200C_202B_206A_200B_206B_206F_206C_200F_200E_200C_206D_206A_200C_202B_202A_206C_206B_202E(EqualityContract, other.EqualityContract)) ? 748944124 : 748944122);
break;
case 4:
return true;
case 0:
num = 748944126;
break;
case 3:
return false;
case 1:
num = (((object)other == null) ? 748944124 : 748944125);
break;
}
}
}
bool IEquatable<UseOnSelf>.Equals(UseOnSelf? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202B_202C_202A_202E_206A_202B_202A_206E_206D_206F_206C_206D_202E_202C_206F_202A_202E_206D_200D_206B_202C_206F_202E_206A_202C_206C_200C_200E_202E_206C_206E_200B_206E_206A_206B_206B_202B_200F_202C_206E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206F_202B_200C_202E_202C_206C_206A_200B_200D_200D_202E_200B_200D_202A_200C_206A_200E_206F_200B_206A_206C_202E_202A_206F_206D_200F_206C_206E_206A_200F_202A_202A_206D_206F_202B_200B_206F_206E_206B_202C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202C_200C_202A_200B_202A_206E_206B_202E_202B_202C_200D_202B_206E_200F_200F_202E_200C_200E_206F_206B_200C_206A_200E_200F_206A_206E_206D_202C_200B_200B_206F_202B_206B_202A_200D_206E_202A_206B_206C_206A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _202A_200B_206A_202D_206D_202E_206C_206E_200B_202C_202D_206C_206B_200D_202D_200B_202D_206D_200D_200C_206F_206B_202A_200C_202B_206A_200B_206B_206F_206C_200F_200E_200C_206D_206A_200C_202B_202A_206C_206B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}

View file

@ -1,11 +1,15 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using LLib;
using LLib.Inventory;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
@ -18,22 +22,135 @@ internal static class EquipItem
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Questionable.Model.Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.EquipItem)
int num = ((_206E_202C_202B_206E_202A_200F_200F_200D_206D_200B_202E_206B_200D_200E_200E_206A_202A_200D_202D_202B_206A_202B_206A_206A_206E_206C_202E_206E_200E_206A_206F_206C_200E_202B_206D_202D_202A_202A_206E_206F_202E(step) == EInteractionType.EquipItem) ? (-1960316662) : (-1960316663));
while (true)
{
return null;
int num2 = num;
int num3 = -1960316664;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
_200C_206A_206A_206C_202C_206E_200B_202D_200E_206C_202B_206A_206F_206C_206C_202E_202C_206A_206C_200B_206D_206F_200F_202D_206A_202C_206F_206B_202A_202D_200C_206B_202E_200F_206C_200E_202A_202C_206C_202A_202E((object)_206A_202C_206D_200D_202B_206E_200B_206A_206E_206F_202D_200E_202E_206E_200B_202C_202B_202D_200F_202B_206B_202E_202C_200C_202B_202C_206A_206C_202C_206F_206F_206E_200C_206E_206B_206A_206C_202D_206E_200E_202E(step), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(775023194));
return new Task(_206A_202C_206D_200D_202B_206E_200B_206A_206E_206F_202D_200E_202E_206E_200B_202C_202B_202D_200F_202B_206B_202E_202C_200C_202B_202C_206A_206C_202C_206F_206F_206E_200C_206E_206B_206A_206C_202D_206E_200E_202E(step).Value);
case 1:
return null;
case 0:
goto IL_0078;
}
continue;
IL_0078:
num = -1960316663;
}
ArgumentNullException.ThrowIfNull(step.ItemId, "step.ItemId");
return new Task(step.ItemId.Value);
}
static EInteractionType _206E_202C_202B_206E_202A_200F_200F_200D_206D_200B_202E_206B_200D_200E_200E_206A_202A_200D_202D_202B_206A_202B_206A_206A_206E_206C_202E_206E_200E_206A_206F_206C_200E_202B_206D_202D_202A_202A_206E_206F_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static uint? _206A_202C_206D_200D_202B_206E_200B_206A_206E_206F_202D_200E_202E_206E_200B_202C_202B_202D_200F_202B_206B_202E_202C_200C_202B_202C_206A_206C_202C_206F_206F_206E_200C_206E_206B_206A_206C_202D_206E_200E_202E(QuestStep P_0)
{
return P_0.ItemId;
}
static void _200C_206A_206A_206C_202C_206E_200B_202D_200E_206C_202B_206A_206F_206C_206C_202E_202C_206A_206C_200B_206D_206F_200F_202D_206A_202C_206F_206B_202A_202D_200C_206B_202E_200F_206C_200E_202A_202C_206C_202A_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
}
internal sealed record Task(uint ItemId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202A_200B_202C_202C_206F_200C_202E_202A_200E_206E_206A_206F_206F_200E_206D_200B_206D_200B_206C_202C_206F_206E_206E_206A_202B_206D_206D_206C_200E_206F_200E_206D_200E_200B_206A_200C_206F_202B_200C_200C_202E(typeof(Task).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"Equip({ItemId})";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1269144091));
defaultInterpolatedStringHandler.AppendFormatted(ItemId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206B_200F_206D_206D_206A_206A_206D_206F_202C_202D_206E_200D_200C_206D_200E_202B_206A_206F_200C_206F_202A_200E_202D_202E_202B_202E_206B_202C_200C_206C_202D_202A_206A_206C_202B_206A_202C_200D_206A_200E_202E();
_206D_206A_202E_202A_206E_202D_200C_206C_206E_202D_202B_200E_202C_202B_206C_206C_206C_200F_206A_206F_200E_206C_206D_202A_200E_200B_206F_202C_202D_202D_202A_206E_206B_200D_200E_206F_202A_202A_202C_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1149877868));
_206D_206A_202E_202A_206E_202D_200C_206C_206E_202D_202B_200E_202C_202B_206C_206C_206C_200F_206A_206F_200E_206C_206D_202A_200E_200B_206F_202C_202D_202D_202A_206E_206B_200D_200E_206F_202A_202A_202C_202A_202E(builder, ItemId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(Task? other)
{
int num = (((object)this == other) ? 916478318 : 916478314);
while (true)
{
int num2 = num;
int num3 = 916478319;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
return EqualityComparer<uint>.Default.Equals(ItemId, other.ItemId);
case 5:
num = (((object)other == null) ? 916478317 : 916478319);
break;
case 3:
num = 916478314;
break;
case 2:
return false;
case 0:
num = ((!_206C_200B_202B_200E_202A_206E_206A_206B_200B_202D_206E_200B_200B_206D_206E_200F_202C_206C_200F_200F_202D_202D_206A_206B_200F_206A_202E_200E_202C_206B_202E_200E_206B_200D_202C_200F_202C_200E_200B_206F_202E(EqualityContract, other.EqualityContract)) ? 916478317 : 916478315);
break;
case 1:
return true;
}
}
}
bool IEquatable<Task>.Equals(Task? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202A_200B_202C_202C_206F_200C_202E_202A_200E_206E_206A_206F_206F_200E_206D_200B_206D_200B_206C_202C_206F_206E_206E_206A_202B_206D_206D_206C_200E_206F_200E_206D_200E_200B_206A_200C_206F_202B_200C_200C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206B_200F_206D_206D_206A_206A_206D_206F_202C_202D_206E_200D_200C_206D_200E_202B_206A_206F_200C_206F_202A_200E_202D_202E_202B_202E_206B_202C_200C_206C_202D_202A_206A_206C_202B_206A_202C_200D_206A_200E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206D_206A_202E_202A_206E_202D_200C_206C_206E_202D_202B_200E_202C_202B_206C_206C_206C_200F_206A_206F_200E_206C_206D_202A_200E_200B_206F_202C_202D_202D_202A_206E_206B_200D_200E_206F_202A_202A_202C_202A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206C_200B_202B_200E_202A_206E_206A_206B_200B_202D_206E_200B_200B_206D_206E_200F_202C_206C_200F_200F_202D_202D_206A_206B_200F_206A_202E_200E_202C_206B_202E_200E_206B_200D_202C_200F_202C_200E_200B_206F_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
@ -41,25 +158,7 @@ internal static class EquipItem
{
private const int MaxAttempts = 3;
private static readonly IReadOnlyList<InventoryType> SourceInventoryTypes = new global::_003C_003Ez__ReadOnlyArray<InventoryType>(new InventoryType[16]
{
InventoryType.ArmoryMainHand,
InventoryType.ArmoryOffHand,
InventoryType.ArmoryHead,
InventoryType.ArmoryBody,
InventoryType.ArmoryHands,
InventoryType.ArmoryLegs,
InventoryType.ArmoryFeets,
InventoryType.ArmoryEar,
InventoryType.ArmoryNeck,
InventoryType.ArmoryWrist,
InventoryType.ArmoryRings,
InventoryType.ArmorySoulCrystal,
InventoryType.Inventory1,
InventoryType.Inventory2,
InventoryType.Inventory3,
InventoryType.Inventory4
});
private static readonly IReadOnlyList<InventoryType> SourceInventoryTypes;
private int _attempts;
@ -67,164 +166,392 @@ internal static class EquipItem
private List<ushort> _targetSlots;
private DateTime _continueAt = DateTime.MaxValue;
private long _continueAt = long.MaxValue;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_item = dataManager.GetExcelSheet<Item>().GetRowOrDefault(base.Task.ItemId) ?? throw new ArgumentOutOfRangeException("ItemId");
_targetSlots = GetEquipSlot(_item) ?? throw new InvalidOperationException("Not a piece of equipment");
_item = ((ItemHandle)base.Task.ItemId).GetRow(dataManager) ?? throw _202D_206F_200D_200B_200E_200F_200C_200F_206A_200C_206E_202E_206F_202B_202B_200D_206B_200F_200B_206E_202A_200C_202B_202B_200F_206A_200F_202C_206F_206F_202C_200D_206F_206D_202B_206D_202A_206E_200F_206D_202E(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1077249422));
_targetSlots = GetEquipSlot(_item) ?? throw _202C_202B_200C_200E_206C_200C_206A_206A_206E_202D_200E_206D_202B_200F_206A_202C_202C_200C_206D_206E_202B_206A_200F_200F_200F_206C_200C_206C_200F_206C_200C_202C_206E_206F_202C_200C_206D_200D_200B_202A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1196644281));
Equip();
_continueAt = DateTime.Now.AddSeconds(1.0);
_continueAt = _206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E() + 1000;
return true;
}
public unsafe override ETaskResult Update()
public override ETaskResult Update()
{
if (DateTime.Now < _continueAt)
int num = ((_206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E() >= _continueAt) ? (-1725394015) : (-1725394009));
while (true)
{
return ETaskResult.StillRunning;
}
InventoryManager* ptr = InventoryManager.Instance();
if (ptr == null)
{
return ETaskResult.StillRunning;
}
foreach (ushort targetSlot in _targetSlots)
{
InventoryItem* inventorySlot = ptr->GetInventorySlot(InventoryType.EquippedItems, targetSlot);
if (inventorySlot != null && inventorySlot->ItemId == base.Task.ItemId)
int num2 = num;
int num3 = -1725394013;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 2:
num = ((!_200B_206F_200E_202D_200D_206A_202C_200F_202E_206D_206A_206D_202A_200C_202C_206B_200D_206E_200E_202D_202B_200F_202C_206A_202B_202C_202A_200E_206A_200D_206C_206C_202E_202E_200C_202E_206F_202C_200B_206E_202E(base.Task.ItemId)) ? (-1725394014) : (-1725394016));
break;
case 4:
return ETaskResult.StillRunning;
case 3:
return ETaskResult.TaskComplete;
case 0:
num = -1725394009;
break;
case 1:
Equip();
_continueAt = _206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E() + 1000;
return ETaskResult.StillRunning;
}
}
Equip();
_continueAt = DateTime.Now.AddSeconds(1.0);
return ETaskResult.StillRunning;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void Equip()
{
_attempts++;
if (_attempts > 3)
int attempts = _attempts;
int num = 1;
int num2 = attempts;
_attempts = (num2 | num) + (num2 & num);
int num3 = ((_attempts <= 3) ? 2032675570 : 2032675573);
InventoryManager* inventoryManager = default(InventoryManager*);
ushort num11 = default(ushort);
InventoryContainer* inventoryContainer = default(InventoryContainer*);
InventoryType current = default(InventoryType);
InventoryItem* inventorySlot = default(InventoryItem*);
while (true)
{
throw new TaskException("Unable to equip gear.");
}
InventoryManager* inventoryManager = InventoryManager.Instance();
if (inventoryManager == null)
{
return;
}
InventoryContainer* inventoryContainer = inventoryManager->GetInventoryContainer(InventoryType.EquippedItems);
if (inventoryContainer == null)
{
return;
}
foreach (ushort targetSlot in _targetSlots)
{
InventoryItem* inventorySlot = inventoryContainer->GetInventorySlot(targetSlot);
if (inventorySlot != null && inventorySlot->ItemId == base.Task.ItemId)
int num4 = num3;
num = 2032675575;
num2 = num4;
int num5 = num2 + num;
int num6 = num2 & num;
switch (num5 - (num6 + num6))
{
logger.LogInformation("Already equipped {Item}, skipping step", _item?.Name.ToString());
case 0:
num3 = 2032675573;
break;
case 4:
num3 = ((!_200B_206F_200E_202D_200D_206A_202C_200F_202E_206D_206A_206D_202A_200C_202C_206B_200D_206E_200E_202D_202B_200F_202C_206A_202B_202C_202A_200E_206A_200D_206C_206C_202E_202E_200C_202E_206F_202C_200B_206E_202E(base.Task.ItemId)) ? 2032675572 : 2032675569);
break;
case 6:
_206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(764444822), new object[1] { _item?.Name.ToString() });
return;
}
}
foreach (InventoryType sourceInventoryType in SourceInventoryTypes)
{
InventoryContainer* inventoryContainer2 = inventoryManager->GetInventoryContainer(sourceInventoryType);
if (inventoryContainer2 == null || (inventoryManager->GetItemCountInContainer(base.Task.ItemId, sourceInventoryType, isHq: true, 0) == 0 && inventoryManager->GetItemCountInContainer(base.Task.ItemId, sourceInventoryType, isHq: false, 0) == 0))
case 2:
throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(2089703109));
case 1:
return;
case 5:
inventoryManager = InventoryManager.Instance();
num3 = ((inventoryManager != null) ? 2032675571 : 2032675574);
break;
case 3:
{
continue;
}
for (ushort num = 0; num < inventoryContainer2->Size; num++)
{
InventoryItem* inventorySlot2 = inventoryContainer2->GetInventorySlot(num);
if (inventorySlot2 != null && inventorySlot2->ItemId == base.Task.ItemId)
IEnumerator<InventoryType> enumerator = SourceInventoryTypes.GetEnumerator();
try
{
ushort num2 = _targetSlots.Where(delegate(ushort x)
num3 = -665926440;
while (true)
{
InventoryItem* inventorySlot3 = inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x);
return inventorySlot3 == null || inventorySlot3->ItemId == 0;
}).Concat(_targetSlots).First();
logger.LogInformation("Equipping item from {SourceInventory}, {SourceSlot} to {TargetInventory}, {TargetSlot}", sourceInventoryType, num, InventoryType.EquippedItems, num2);
int num3 = inventoryManager->MoveItemSlot(sourceInventoryType, num, InventoryType.EquippedItems, num2, a6: true);
logger.LogInformation("MoveItemSlot result: {Result}", num3);
return;
int num7 = num3;
num = -665926439;
num2 = num7;
int num8 = num2 + num;
int num9 = num2 & num;
switch (num8 - (num9 + num9))
{
case 4:
num11 = 0;
num3 = -665926436;
break;
case 1:
num3 = (_206B_200C_206A_206B_206A_202D_206C_200F_206B_206A_206D_200F_200C_202B_200C_206B_202B_200B_200B_202E_200E_200B_200C_200B_202C_200F_206B_206D_200E_206C_206B_200B_200F_202E_200D_206F_200E_202A_200E_200D_202E((IEnumerator)enumerator) ? (-665926434) : (-665926439));
break;
case 5:
num3 = ((num11 < inventoryContainer->Size) ? (-665926438) : (-665926440));
break;
case 2:
{
ushort num14 = _targetSlots.Where(delegate(ushort x)
{
InventoryItem* inventorySlot2 = inventoryManager->GetInventorySlot(InventoryType.EquippedItems, x);
int num19 = ((inventorySlot2 == null) ? 1990589233 : 1990589234);
while (true)
{
int num20 = num19;
int num21 = 1990589232;
int num22 = num20;
int num23 = num22 + num21;
int num24 = num22 & num21;
switch (num23 - (num24 + num24))
{
case 0:
goto IL_0057;
case 1:
return true;
case 2:
return inventorySlot2->ItemId == 0;
}
continue;
IL_0057:
num19 = 1990589234;
}
}).Concat(_targetSlots).First();
_206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-2001963263), new object[4]
{
current,
num11,
InventoryType.EquippedItems,
num14
});
int num15 = inventoryManager->MoveItemSlot(current, num11, InventoryType.EquippedItems, num14, a6: true);
_206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1852506223), new object[1] { num15 });
return;
}
case 9:
num3 = -665926440;
break;
case 6:
{
ushort num10 = num11;
num = 1;
num2 = num10;
int num12 = num2 ^ num;
int num13 = num2 & num;
num11 = (ushort)(num12 + (num13 + num13));
num3 = -665926436;
break;
}
case 8:
num3 = ((inventorySlot->ItemId != base.Task.ItemId) ? (-665926433) : (-665926437));
break;
case 3:
inventorySlot = inventoryContainer->GetInventorySlot(num11);
num3 = ((inventorySlot == null) ? (-665926433) : (-665926447));
break;
case 7:
current = enumerator.Current;
inventoryContainer = inventoryManager->GetInventoryContainer(current);
num3 = ((inventoryContainer == null) ? (-665926440) : (-665926435));
break;
case 0:
goto end_IL_0167;
}
continue;
end_IL_0167:
break;
}
}
finally
{
num3 = ((enumerator == null) ? (-1329874453) : (-1329874454));
while (true)
{
int num16 = num3;
num = -1329874453;
num2 = num16;
int num17 = num2 + num;
int num18 = num2 & num;
switch (num17 - (num18 + num18))
{
case 2:
num3 = -1329874454;
break;
case 0:
goto end_IL_03c4;
case 1:
_200F_206D_202E_206B_200E_206D_202C_206A_206C_200B_206D_202A_200F_202B_200C_206E_206C_200B_206D_202B_206F_202B_202B_206D_202B_202A_202A_200E_200C_202A_200E_202E_200C_202C_206A_202C_206C_200D_202C_202E_202E((IDisposable)enumerator);
num3 = -1329874453;
break;
}
continue;
end_IL_03c4:
break;
}
}
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-639221766));
defaultInterpolatedStringHandler.AppendFormatted(base.Task.ItemId);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-978038014));
throw new TaskException(defaultInterpolatedStringHandler.ToStringAndClear());
}
}
}
throw new TaskException($"Could not equip item {base.Task.ItemId}.");
}
private static List<ushort>? GetEquipSlot(Item? item)
{
if (!item.HasValue)
int num = (item.HasValue ? 1849291533 : 1849291535);
uint rowId = default(uint);
List<ushort> result = default(List<ushort>);
while (true)
{
return new List<ushort>();
}
switch (item.Value.EquipSlotCategory.RowId)
{
case 1u:
case 2u:
case 3u:
case 4u:
case 5u:
case 6u:
case 7u:
case 8u:
case 9u:
case 10u:
case 11u:
{
int num = 1;
List<ushort> list4 = new List<ushort>(num);
CollectionsMarshal.SetCount(list4, num);
CollectionsMarshal.AsSpan(list4)[0] = (ushort)(item.Value.EquipSlotCategory.RowId - 1);
return list4;
}
case 12u:
{
int num = 2;
List<ushort> list3 = new List<ushort>(num);
CollectionsMarshal.SetCount(list3, num);
Span<ushort> span = CollectionsMarshal.AsSpan(list3);
span[0] = 11;
span[1] = 12;
return list3;
}
case 13u:
{
int num = 1;
List<ushort> list2 = new List<ushort>(num);
CollectionsMarshal.SetCount(list2, num);
CollectionsMarshal.AsSpan(list2)[0] = 0;
return list2;
}
case 17u:
{
int num = 1;
List<ushort> list = new List<ushort>(num);
CollectionsMarshal.SetCount(list, num);
CollectionsMarshal.AsSpan(list)[0] = 13;
return list;
}
default:
return null;
int num2 = num;
int num3 = 1849291534;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 5:
num = ((rowId == 12) ? 1849291532 : 1849291523);
break;
case 3:
rowId = item.Value.EquipSlotCategory.RowId;
num = ((rowId < 1) ? 1849291526 : 1849291524);
break;
case 12:
{
int num5 = 1;
List<ushort> list4 = new List<ushort>(num5);
CollectionsMarshal.SetCount(list4, num5);
CollectionsMarshal.AsSpan(list4)[0] = 13;
result = list4;
num = 1849291527;
break;
}
case 1:
return null;
case 11:
{
int num5 = 1;
List<ushort> list2 = new List<ushort>(num5);
CollectionsMarshal.SetCount(list2, num5);
CollectionsMarshal.AsSpan(list2)[0] = 0;
result = list2;
num = 1849291527;
break;
}
case 13:
num = ((rowId == 13) ? 1849291525 : 1849291528);
break;
case 10:
num = ((rowId <= 11) ? 1849291530 : 1849291531);
break;
case 4:
{
int num5 = 1;
List<ushort> list3 = new List<ushort>(num5);
CollectionsMarshal.SetCount(list3, num5);
CollectionsMarshal.AsSpan(list3)[0] = (ushort)(item.Value.EquipSlotCategory.RowId - 1);
result = list3;
num = 1849291527;
break;
}
case 7:
num = 1849291535;
break;
case 6:
num = ((rowId == 17) ? 1849291522 : 1849291534);
break;
case 0:
num = 1849291526;
break;
case 8:
result = null;
num = 1849291527;
break;
case 9:
return result;
case 2:
{
int num5 = 2;
List<ushort> list = new List<ushort>(num5);
CollectionsMarshal.SetCount(list, num5);
Span<ushort> span = CollectionsMarshal.AsSpan(list);
span[0] = 11;
span[1] = 12;
result = list;
num = 1849291527;
break;
}
}
}
}
public bool OnErrorToast(SeString message)
{
string b = dataManager.GetString(709u, (LogMessage x) => x.Text);
if (GameFunctions.GameStringEquals(message.TextValue, b))
int num = ((!GameFunctions.GameStringEquals(_200C_206D_206F_202A_202B_206F_202C_206F_206E_206D_202B_200D_202E_202D_202C_202D_202E_200B_206A_202E_200D_200F_206D_206A_206D_206F_206A_206A_202D_202A_206D_206D_200B_206A_206D_202B_206C_206A_202D_202D_202E(message), b)) ? 1240228835 : 1240228832);
while (true)
{
_attempts = 3;
int num2 = num;
int num3 = 1240228834;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = 1240228832;
break;
case 2:
_attempts = 3;
num = 1240228835;
break;
case 1:
return false;
}
}
return false;
}
bool IToastAware.OnErrorToast(SeString message)
{
//ILSpy generated this explicit interface implementation from .override directive in OnErrorToast
return this.OnErrorToast(message);
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static DoEquip()
{
InventoryType[] array = new InventoryType[16];
_206C_202D_200F_202E_200F_202A_200E_206A_206C_206E_202B_200D_202E_200C_206C_200F_200C_202C_202E_200D_200D_202E_200B_206E_202B_206E_202E_206C_206B_206D_200F_200F_206A_206A_200B_200F_200C_202B_202E_202C_202E((Array)array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
SourceInventoryTypes = new global::_003C_003Ez__ReadOnlyArray<InventoryType>(array);
}
static ArgumentOutOfRangeException _202D_206F_200D_200B_200E_200F_200C_200F_206A_200C_206E_202E_206F_202B_202B_200D_206B_200F_200B_206E_202A_200C_202B_202B_200F_206A_200F_202C_206F_206F_202C_200D_206F_206D_202B_206D_202A_206E_200F_206D_202E(string P_0)
{
return new ArgumentOutOfRangeException(P_0);
}
static InvalidOperationException _202C_202B_200C_200E_206C_200C_206A_206A_206E_202D_200E_206D_202B_200F_206A_202C_202C_200C_206D_206E_202B_206A_200F_200F_200F_206C_200C_206C_200F_206C_200C_202C_206E_206F_202C_200C_206D_200D_200B_202A_202E(string P_0)
{
return new InvalidOperationException(P_0);
}
static long _206D_202E_200E_200D_202A_206E_200E_200E_200F_206C_206F_206F_200F_200C_200D_206D_202A_206A_206C_206F_200E_206F_200F_206C_206F_202D_200D_202E_202E_202B_202C_206A_202D_206E_200C_206A_200B_206E_206D_206A_202E()
{
return Environment.TickCount64;
}
static bool _200B_206F_200E_202D_200D_206A_202C_200F_202E_206D_206A_206D_202A_200C_202C_206B_200D_206E_200E_202D_202B_200F_202C_206A_202B_202C_202A_200E_206A_200D_206C_206C_202E_202E_200C_202E_206F_202C_200B_206E_202E(uint P_0)
{
return InventoryHelper.IsItemEquipped(P_0);
}
static void _206C_206A_200D_200F_200F_202A_200B_206A_200C_206E_200E_200C_206D_200E_202B_206A_206C_202E_206D_206B_200D_206F_200B_202C_206C_200E_202A_200E_202C_202E_206B_200D_200C_202B_206B_200F_200E_200D_202A_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static bool _206B_200C_206A_206B_206A_202D_206C_200F_206B_206A_206D_200F_200C_202B_200C_206B_202B_200B_200B_202E_200E_200B_200C_200B_202C_200F_206B_206D_200E_206C_206B_200B_200F_202E_200D_206F_200E_202A_200E_200D_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200F_206D_202E_206B_200E_206D_202C_206A_206C_200B_206D_202A_200F_202B_200C_206E_206C_200B_206D_202B_206F_202B_202B_206D_202B_202A_202A_200E_200C_202A_200E_202E_200C_202C_206A_202C_206C_200D_202C_202E_202E(IDisposable P_0)
{
P_0.Dispose();
}
static string _200C_206D_206F_202A_202B_206F_202C_206F_206E_206D_202B_200D_202E_202D_202C_202D_202E_200B_206A_202E_200D_200F_206D_206A_206D_206F_206A_206A_202D_202A_206D_206D_200B_206A_206D_202B_206C_206A_202D_202D_202E(SeString P_0)
{
return P_0.TextValue;
}
static void _206C_202D_200F_202E_200F_202A_200E_206A_206C_206E_202B_200D_202E_200C_206C_200F_200C_202C_202E_200D_200D_202E_200B_206E_202B_206E_202E_206C_206B_206D_200F_200F_206A_206A_200B_200F_200C_202B_202E_202C_202E(Array P_0, RuntimeFieldHandle P_1)
{
RuntimeHelpers.InitializeArray(P_0, P_1);
}
}
}

View file

@ -1,6 +1,9 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Types;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps.Common;
@ -14,70 +17,352 @@ internal static class FateAction
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.FateAction)
int num = ((_206D_206F_206B_202C_200F_202E_206F_202E_206B_200D_200F_206E_200D_202D_200F_206A_200D_202D_206B_206A_206B_202A_206D_202D_206C_206D_206C_200D_200C_202C_206F_202B_206F_206A_202C_200C_206A_206D_200F_206A_202E(step) == EInteractionType.FateAction) ? (-43811176) : (-43811175));
while (true)
{
return Array.Empty<ITask>();
int num2 = num;
int num3 = -43811176;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
num = -43811175;
break;
case 0:
num = ((_202B_200F_206C_202D_206F_200F_206E_200D_202E_200E_200E_200C_206A_206F_202D_202C_202E_202D_206D_202C_206C_200B_206A_206E_200B_202A_206F_202B_202E_206F_206B_202C_200D_206A_200D_202D_200C_202D_206D_200F_202E(step).Count != 0) ? (-43811174) : (-43811173));
break;
case 1:
return Array.Empty<ITask>();
case 3:
throw _202B_206E_202A_206F_202B_202D_202D_202A_206A_206D_202C_202C_206F_202D_206A_200D_200C_202E_202C_200E_200C_206D_202A_200D_202A_206E_206D_206E_200D_202B_202C_202A_200D_202A_202E_202D_200B_206E_202C_202A_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1866861544));
case 2:
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2]
{
new Mount.UnmountTask(),
new UseOnTargets(_202B_200F_206C_202D_206F_200F_206E_200D_202E_200E_200E_200C_206A_206F_202D_202C_202E_202D_206D_202C_206C_200B_206A_206E_200B_202A_206F_202B_202E_206F_206B_202C_200D_206A_200D_202D_200C_202D_206D_200F_202E(step))
});
}
}
if (step.FateActionTargets.Count == 0)
{
throw new InvalidOperationException("FateAction step requires FateActionTargets");
}
return new global::_003C_003Ez__ReadOnlyArray<ITask>(new ITask[2]
{
new Mount.UnmountTask(),
new UseOnTargets(step.FateActionTargets)
});
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
static EInteractionType _206D_206F_206B_202C_200F_202E_206F_202E_206B_200D_200F_206E_200D_202D_200F_206A_200D_202D_206B_206A_206B_202A_206D_202D_206C_206D_206C_200D_200C_202C_206F_202B_206F_206A_202C_200C_206A_206D_200F_206A_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static List<FateActionTarget> _202B_200F_206C_202D_206F_200F_206E_200D_202E_200E_200E_200C_206A_206F_202D_202C_202E_202D_206D_202C_206C_200B_206A_206E_200B_202A_206F_202B_202E_206F_206B_202C_200D_206A_200D_202D_200C_202D_206D_200F_202E(QuestStep P_0)
{
return P_0.FateActionTargets;
}
static InvalidOperationException _202B_206E_202A_206F_202B_202D_202D_202A_206A_206D_202C_202C_206F_202D_206A_200D_200C_202E_202C_200E_200C_206D_202A_200D_202A_206E_206D_206E_200D_202B_202C_202A_200D_202A_202E_202D_200B_206E_202C_202A_202E(string P_0)
{
return new InvalidOperationException(P_0);
}
}
internal sealed record UseOnTargets(IList<FateActionTarget> Targets) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202C_200F_200D_206C_200F_206E_206E_202E_200B_206C_206F_206F_200E_202A_206B_206E_206F_202C_200E_206C_206F_202A_206B_200D_206A_206A_200E_200D_206A_206C_206A_206D_206B_200F_200B_200B_202D_206C_206E_200C_202E(typeof(UseOnTargets).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"FateAction({Targets.Count} targets)";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(20, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(85708604));
defaultInterpolatedStringHandler.AppendFormatted(Targets.Count);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1905985229));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200F_200D_200C_202B_206F_200B_202A_206D_202B_200F_206B_206C_206D_202A_200B_200D_206F_200D_202A_206A_200E_206A_200F_200D_206C_202D_206A_202B_200D_206B_200F_200B_202C_200E_202C_202A_200F_206E_202B_202E();
_206C_202E_206B_206E_200D_206A_206C_206F_202A_202B_200F_202E_200E_206C_200E_200D_200F_200D_200D_202B_200C_200B_202A_206E_202B_200D_200F_202D_200F_202E_206A_200D_206B_206B_206E_202A_202A_206B_200D_200E_202E(builder, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1742983719));
_202D_200B_206B_200F_202D_200B_206B_206B_200B_202D_200F_206B_202A_206E_200C_206A_206B_202B_206F_206C_200F_206A_202C_202D_206A_206A_202A_202A_202B_202E_200B_200B_202B_206B_206E_202A_202D_200D_202E_202E(builder, (object)Targets);
return true;
}
[CompilerGenerated]
public bool Equals(UseOnTargets? other)
{
int num = (((object)this == other) ? 877897699 : 877897703);
while (true)
{
int num2 = num;
int num3 = 877897698;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return EqualityComparer<IList<FateActionTarget>>.Default.Equals(Targets, other.Targets);
case 5:
num = (((object)other == null) ? 877897696 : 877897702);
break;
case 0:
num = 877897703;
break;
case 4:
num = ((!_206A_206F_206E_200D_206E_202A_200F_206D_202A_200E_202A_200F_206F_202E_202E_202E_200E_200B_200B_200F_206E_202A_206F_206B_202C_202A_202B_200B_202B_206B_202B_200C_206F_202C_206E_206E_202E_202B_206A_200C_202E(EqualityContract, other.EqualityContract)) ? 877897696 : 877897697);
break;
case 2:
return false;
case 1:
return true;
}
}
}
bool IEquatable<UseOnTargets>.Equals(UseOnTargets? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202C_200F_200D_206C_200F_206E_206E_202E_200B_206C_206F_206F_200E_202A_206B_206E_206F_202C_200E_206C_206F_202A_206B_200D_206A_206A_200E_200D_206A_206C_206A_206D_206B_200F_200B_200B_202D_206C_206E_200C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200F_200D_200C_202B_206F_200B_202A_206D_202B_200F_206B_206C_206D_202A_200B_200D_206F_200D_202A_206A_200E_206A_200F_200D_206C_202D_206A_202B_200D_206B_200F_200B_202C_200E_202C_202A_200F_206E_202B_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206C_202E_206B_206E_200D_206A_206C_206F_202A_202B_200F_202E_200E_206C_200E_200D_200F_200D_200D_202B_200C_200B_202A_206E_202B_200D_200F_202D_200F_202E_206A_200D_206B_206B_206E_202A_202A_206B_200D_200E_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202D_200B_206B_200F_202D_200B_206B_206B_200B_202D_200F_206B_202A_206E_200C_206A_206B_202B_206F_206C_200F_206A_202C_202D_206A_206A_202A_202A_202B_202E_200B_200B_202B_206B_206E_202A_202D_200D_202E_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206A_206F_206E_200D_206E_202A_200F_206D_202A_200E_202A_200F_206F_202E_202E_202E_200E_200B_200B_200F_206E_202A_206F_206B_202C_202A_202B_200B_202B_206B_202B_200C_206F_202C_206E_206E_202E_202B_206A_200C_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class UseOnTargetsExecutor(GameFunctions gameFunctions, ILogger<UseOnTargets> logger) : TaskExecutor<UseOnTargets>()
internal sealed class UseOnTargetsExecutor(GameFunctions gameFunctions, ILogger<UseOnTargetsExecutor> logger) : TaskExecutor<UseOnTargets>()
{
private DateTime _nextActionAt = DateTime.MinValue;
[Serializable]
[CompilerGenerated]
private sealed class _003C_003Ec
{
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
public static Func<FateActionTarget, string> _003C_003E9__4_0;
[MethodImpl(MethodImplOptions.NoInlining)]
internal string _003CStart_003Eb__4_0(FateActionTarget t)
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2);
defaultInterpolatedStringHandler.AppendFormatted(_202A_200B_206A_202E_202A_202E_200D_200C_202E_206B_206D_206F_200B_200C_202C_200F_202B_200D_202B_206E_206B_200F_206E_200B_202C_202A_202E_202B_202D_206E_202E_200B_202A_200E_206E_202B_202B_202A_202A_202C_202E(t));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(824360664));
defaultInterpolatedStringHandler.AppendFormatted(_206B_206A_200C_200E_202C_206F_206E_200B_206A_206B_206D_200F_200C_200E_206C_200B_206C_202D_200C_202D_200E_200B_200E_200D_206A_202E_206B_200B_202C_200F_206B_202C_206B_206E_200F_200E_200C_200B_206C_206E_202E(t));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
static uint _202A_200B_206A_202E_202A_202E_200D_200C_202E_206B_206D_206F_200B_200C_202C_200F_202B_200D_202B_206E_206B_200F_206E_200B_202C_202A_202E_202B_202D_206E_202E_200B_202A_200E_206E_202B_202B_202A_202A_202C_202E(FateActionTarget P_0)
{
return P_0.DataId;
}
static EAction _206B_206A_200C_200E_202C_206F_206E_200B_206A_206B_206D_200F_200C_200E_206C_200B_206C_202D_200C_202D_200E_200B_200E_200D_206A_202E_206B_200B_202C_200F_206B_202C_206B_206E_200F_200E_200C_200B_206C_206E_202E(FateActionTarget P_0)
{
return P_0.Action;
}
}
private long _nextActionAt;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
logger.LogInformation("Starting FateAction: {Count} targets [{Targets}]", base.Task.Targets.Count, string.Join(", ", base.Task.Targets.Select((FateActionTarget t) => $"{t.DataId}→{t.Action}")));
_206F_206A_202C_200C_206F_202D_206B_200E_200C_206A_202B_200F_202A_206D_202D_202B_202C_206B_200E_200D_202C_200D_200B_200D_206F_206B_202A_202E_206A_206E_206B_206D_202A_206E_206F_200D_206E_202B_202D_202A_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1134200128), new object[2]
{
base.Task.Targets.Count,
_206D_206D_202C_200B_206E_200F_202C_200F_200F_200E_206A_202D_206A_202B_206E_206D_202B_200E_206B_206D_202A_202C_206B_202D_206D_200D_200D_202C_206B_202E_202E_202D_206D_206D_200D_200C_200F_206C_202C_202C_202E(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1467939024), base.Task.Targets.Select([MethodImpl(MethodImplOptions.NoInlining)] (FateActionTarget t) =>
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(1, 2);
defaultInterpolatedStringHandler.AppendFormatted(_003C_003Ec._202A_200B_206A_202E_202A_202E_200D_200C_202E_206B_206D_206F_200B_200C_202C_200F_202B_200D_202B_206E_206B_200F_206E_200B_202C_202A_202E_202B_202D_206E_202E_200B_202A_200E_206E_202B_202B_202A_202A_202C_202E(t));
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(824360664));
defaultInterpolatedStringHandler.AppendFormatted(_003C_003Ec._206B_206A_200C_200E_202C_206F_206E_200B_206A_206B_206D_200F_200C_200E_206C_200B_206C_202D_200C_202D_200E_200B_200E_200D_206A_202E_206B_200B_202C_200F_206B_202C_206B_206E_200F_200E_200C_200B_206C_206E_202E(t));
return defaultInterpolatedStringHandler.ToStringAndClear();
}))
});
return true;
}
public override ETaskResult Update()
{
if (DateTime.Now < _nextActionAt)
int num = ((_202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() >= _nextActionAt) ? 106298228 : 106298231);
IGameObject gameObject = default(IGameObject);
FateActionTarget current = default(FateActionTarget);
while (true)
{
return ETaskResult.StillRunning;
}
foreach (FateActionTarget target in base.Task.Targets)
{
IGameObject gameObject = gameFunctions.FindObjectByDataId(target.DataId, null, warnIfMissing: false);
if (gameObject != null && gameObject.IsTargetable)
int num2 = num;
int num3 = 106298229;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
bool flag = gameFunctions.UseAction(gameObject, target.Action);
_nextActionAt = (flag ? DateTime.Now.AddSeconds(2.5) : DateTime.Now.AddSeconds(0.5));
case 0:
goto IL_0054;
case 2:
return ETaskResult.StillRunning;
case 1:
{
IEnumerator<FateActionTarget> enumerator = base.Task.Targets.GetEnumerator();
try
{
num = -1088857839;
while (true)
{
int num5 = num;
num3 = -1088857839;
num4 = num5;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = (_206A_202C_202C_206E_206D_202E_202E_206E_202E_206E_206F_206C_206E_202D_200B_206F_200D_202C_206E_206C_206C_200F_206F_200C_200F_200C_206D_206A_206E_200F_206C_200C_200F_206E_206B_206C_206D_200B_206E_200E_202E((IEnumerator)enumerator) ? (-1088857837) : (-1088857836));
break;
case 1:
num = ((!_202C_200D_200D_200D_200D_206B_202E_200D_202B_206F_202C_200E_200F_206D_200F_202E_200C_200D_206D_202D_200C_202A_200F_202A_206C_200B_202A_206B_202B_202D_206C_200D_200C_206F_202D_200E_202C_200C_200F_202B_202E(gameObject)) ? (-1088857839) : (-1088857835));
break;
case 4:
{
bool flag = gameFunctions.UseAction(gameObject, _202E_200F_206B_206E_206F_206C_202E_200E_202A_202E_202D_200C_202E_200E_202E_206F_202B_202E_202D_202D_202B_206A_206B_206B_202B_202B_206E_200C_206A_206C_206A_202E_206F_200B_206E_202B_206C_206D_206E_206D_202E(current));
_nextActionAt = (flag ? (_202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() + 2500) : (_202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() + 500));
return ETaskResult.StillRunning;
}
case 2:
current = enumerator.Current;
gameObject = gameFunctions.FindObjectByDataId(_202D_206A_202D_202D_206A_206B_200C_206A_200D_202B_200F_206E_200F_200E_200D_206E_206A_200E_206E_202A_200F_202A_200D_206E_202A_202B_206E_206C_206E_202D_206E_202A_200C_202E_200F_206C_200E_206D_202A_202B_202E(current), null, warnIfMissing: false);
num = ((gameObject == null) ? (-1088857839) : (-1088857840));
break;
case 3:
num = -1088857839;
break;
case 5:
goto end_IL_007f;
}
continue;
end_IL_007f:
break;
}
}
finally
{
num = ((enumerator == null) ? (-2091271449) : (-2091271452));
while (true)
{
int num6 = num;
num3 = -2091271450;
num4 = num6;
int num7 = num4 + num3;
int num8 = num4 & num3;
switch (num7 - (num8 + num8))
{
case 0:
num = -2091271452;
break;
case 1:
goto end_IL_01c0;
case 2:
_200D_202A_206C_206C_200B_206E_200C_206E_206A_200E_206A_200B_206D_206B_206F_206E_206E_206D_206A_206C_202E_206C_202D_202C_200F_200B_200F_200F_200B_200D_202D_206E_200F_206F_200F_206D_202A_200E_202E_206C_202E((IDisposable)enumerator);
num = -2091271449;
break;
}
continue;
end_IL_01c0:
break;
}
}
_nextActionAt = _202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E() + 250;
return ETaskResult.StillRunning;
}
}
continue;
IL_0054:
num = 106298231;
}
_nextActionAt = DateTime.Now.AddSeconds(0.25);
return ETaskResult.StillRunning;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static string _206D_206D_202C_200B_206E_200F_202C_200F_200F_200E_206A_202D_206A_202B_206E_206D_202B_200E_206B_206D_202A_202C_206B_202D_206D_200D_200D_202C_206B_202E_202E_202D_206D_206D_200D_200C_200F_206C_202C_202C_202E(string P_0, IEnumerable<string> P_1)
{
return string.Join(P_0, P_1);
}
static void _206F_206A_202C_200C_206F_202D_206B_200E_200C_206A_202B_200F_202A_206D_202D_202B_202C_206B_200E_200D_202C_200D_200B_200D_206F_206B_202A_202E_206A_206E_206B_206D_202A_206E_206F_200D_206E_202B_202D_202A_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static long _202B_202B_206B_206C_202A_202B_202D_206C_200C_202B_202E_206D_202E_200D_206F_200E_206D_200C_202C_206A_200C_200F_202C_202B_206E_202B_206A_206B_200C_202A_206A_202A_206B_200E_200F_206D_200B_202B_202A_206F_202E()
{
return Environment.TickCount64;
}
static uint _202D_206A_202D_202D_206A_206B_200C_206A_200D_202B_200F_206E_200F_200E_200D_206E_206A_200E_206E_202A_200F_202A_200D_206E_202A_202B_206E_206C_206E_202D_206E_202A_200C_202E_200F_206C_200E_206D_202A_202B_202E(FateActionTarget P_0)
{
return P_0.DataId;
}
static bool _202C_200D_200D_200D_200D_206B_202E_200D_202B_206F_202C_200E_200F_206D_200F_202E_200C_200D_206D_202D_200C_202A_200F_202A_206C_200B_202A_206B_202B_202D_206C_200D_200C_206F_202D_200E_202C_200C_200F_202B_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
static EAction _202E_200F_206B_206E_206F_206C_202E_200E_202A_202E_202D_200C_202E_200E_202E_206F_202B_202E_202D_202D_202B_206A_206B_206B_202B_202B_206E_200C_206A_206C_206A_202E_206F_200B_206E_202B_206C_206D_206E_206D_202E(FateActionTarget P_0)
{
return P_0.Action;
}
static bool _206A_202C_202C_206E_206D_202E_202E_206E_202E_206E_206F_206C_206E_202D_200B_206F_200D_202C_206E_206C_206C_200F_206F_200C_200F_200C_206D_206A_206E_200F_206C_200C_200F_206E_206B_206C_206D_200B_206E_200E_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200D_202A_206C_206C_200B_206E_200C_206E_206A_200E_206A_200B_206D_206B_206F_206E_206E_206D_206A_206C_202E_206C_202D_202C_200F_200B_200F_200F_200B_200D_202D_206E_200F_206F_200F_206D_202A_200E_202E_206C_202E(IDisposable P_0)
{
P_0.Dispose();
}
}
}

View file

@ -1,5 +1,8 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Game.ClientState.Objects.Types;
using Microsoft.Extensions.Logging;
using Questionable.Functions;
@ -11,172 +14,684 @@ internal static class FateFarming
{
internal sealed record WaitForFateTargets(IReadOnlyList<FateActionTarget> Targets) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206F_200D_200E_202C_202D_202D_200C_206D_206B_206B_206A_200E_200F_206D_202D_206B_206A_202D_200D_206C_206B_206B_206D_206B_206F_206F_202C_200E_200F_202C_206B_202C_202E_202B_202C_202A_202A_202C_206C_202B_202E(typeof(WaitForFateTargets).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"WaitForFateTargets({Targets.Count} targets)";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(28, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-764429910));
defaultInterpolatedStringHandler.AppendFormatted(Targets.Count);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(81942764));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_206C_202D_202C_200E_202E_206E_206E_200F_206A_200B_200E_206C_206F_200C_202D_206A_202E_200E_206D_200E_202E_206B_202E_202D_202A_202B_206A_206D_206D_202D_200E_206E_206B_202D_206F_206B_200E_206F_202E();
_206C_202C_206F_206E_200C_206E_202A_206A_206A_206C_200C_206D_200E_202D_206D_206A_206E_206D_202D_200E_206D_206E_200F_200E_206D_206D_202E_202D_202C_202A_202D_200E_206D_202A_206F_206E_206D_206F_200C_202C_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1764240763));
_202B_200F_200B_202B_202E_206A_206B_200D_206D_202C_206A_200D_206C_200F_200F_200D_206C_200D_202A_202E_206A_206B_206B_200C_200C_206B_202A_200D_200F_206A_206C_200B_200D_200C_206A_200C_200D_202A_202E_202E(builder, (object)Targets);
return true;
}
[CompilerGenerated]
public bool Equals(WaitForFateTargets? other)
{
int num = (((object)this == other) ? (-989608852) : (-989608851));
while (true)
{
int num2 = num;
int num3 = -989608856;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
return false;
case 5:
num = (((object)other == null) ? (-989608854) : (-989608853));
break;
case 1:
return EqualityComparer<IReadOnlyList<FateActionTarget>>.Default.Equals(Targets, other.Targets);
case 4:
return true;
case 3:
num = ((!_206E_202A_200D_206C_202A_202B_206C_206D_206E_202D_202E_206E_206C_206D_202B_206C_206C_202C_200C_206C_202C_202B_206F_202B_202C_200C_202D_206F_206F_206C_200E_206D_206B_206F_206A_202C_202B_206D_200E_206D_202E(EqualityContract, other.EqualityContract)) ? (-989608854) : (-989608855));
break;
case 0:
num = -989608851;
break;
}
}
}
bool IEquatable<WaitForFateTargets>.Equals(WaitForFateTargets? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206F_200D_200E_202C_202D_202D_200C_206D_206B_206B_206A_200E_200F_206D_202D_206B_206A_202D_200D_206C_206B_206B_206D_206B_206F_206F_202C_200E_200F_202C_206B_202C_202E_202B_202C_202A_202A_202C_206C_202B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _206C_202D_202C_200E_202E_206E_206E_200F_206A_200B_200E_206C_206F_200C_202D_206A_202E_200E_206D_200E_202E_206B_202E_202D_202A_202B_206A_206D_206D_202D_200E_206E_206B_202D_206F_206B_200E_206F_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206C_202C_206F_206E_200C_206E_202A_206A_206A_206C_200C_206D_200E_202D_206D_206A_206E_206D_202D_200E_206D_206E_200F_200E_206D_206D_202E_202D_202C_202A_202D_200E_206D_202A_206F_206E_206D_206F_200C_202C_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _202B_200F_200B_202B_202E_206A_206B_200D_206D_202C_206A_200D_206C_200F_200F_200D_206C_200D_202A_202E_206A_206B_206B_200C_200C_206B_202A_200D_200F_206A_206C_200B_200D_200C_206A_200C_200D_202A_202E_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206E_202A_200D_206C_202A_202B_206C_206D_206E_202D_202E_206E_206C_206D_202B_206C_206C_202C_200C_206C_202C_202B_206F_202B_202C_200C_202D_206F_206F_206C_200E_206D_206B_206F_206A_202C_202B_206D_200E_206D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class WaitForFateTargetsExecutor(GameFunctions gameFunctions, ILogger<WaitForFateTargetsExecutor> logger) : TaskExecutor<WaitForFateTargets>()
{
private DateTime _nextPollAt = DateTime.MinValue;
private long _nextPollAt;
private bool _loggedWaitingForFate;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
logger.LogInformation("Waiting for FATE targets to appear ({Count} targets)", base.Task.Targets.Count);
_202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1410411632), new object[1] { base.Task.Targets.Count });
_loggedWaitingForFate = false;
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (DateTime.Now < _nextPollAt)
int num = ((_202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E() >= _nextPollAt) ? 347657580 : 347657579);
ushort currentFateId = default(ushort);
FateActionTarget current = default(FateActionTarget);
IGameObject gameObject = default(IGameObject);
while (true)
{
return ETaskResult.StillRunning;
}
ushort currentFateId = gameFunctions.GetCurrentFateId();
if (currentFateId == 0)
{
if (!_loggedWaitingForFate)
int num2 = num;
int num3 = 347657582;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
logger.LogInformation("No active FATE yet, waiting for FATE to start before checking targets");
case 3:
num = 347657579;
break;
case 5:
return ETaskResult.StillRunning;
case 1:
_nextPollAt = _202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E() + 1000;
return ETaskResult.StillRunning;
case 4:
_202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1240055981), Array.Empty<object>());
_loggedWaitingForFate = true;
}
_nextPollAt = DateTime.Now.AddSeconds(1.0);
return ETaskResult.StillRunning;
}
_loggedWaitingForFate = false;
foreach (FateActionTarget target in base.Task.Targets)
{
IGameObject gameObject = gameFunctions.FindObjectByDataId(target.DataId, null, warnIfMissing: false);
if (gameObject != null && gameObject.IsTargetable)
num = 347657583;
break;
case 2:
currentFateId = gameFunctions.GetCurrentFateId();
num = ((currentFateId != 0) ? 347657576 : 347657582);
break;
case 0:
num = (_loggedWaitingForFate ? 347657583 : 347657578);
break;
case 6:
{
logger.LogInformation("FATE {FateId} active and target {DataId} is targetable", currentFateId, target.DataId);
return ETaskResult.TaskComplete;
_loggedWaitingForFate = false;
IEnumerator<FateActionTarget> enumerator = base.Task.Targets.GetEnumerator();
try
{
num = -373808532;
while (true)
{
int num7 = num;
num3 = -373808536;
num4 = num7;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
num = -373808532;
break;
case 4:
num = (_202B_200B_206D_206A_200C_206A_200E_202A_200C_206D_202A_200D_200F_202A_202A_200D_206F_206E_200B_200B_206A_206F_206B_206D_206C_206B_200B_206F_202C_200E_202A_206B_206C_206B_206D_206A_202B_200F_206C_206C_202E((IEnumerator)enumerator) ? (-373808535) : (-373808534));
break;
case 1:
current = enumerator.Current;
gameObject = gameFunctions.FindObjectByDataId(_206C_200C_206E_202D_200E_202B_200C_202E_200E_202A_206E_200E_202A_206F_206A_206E_206B_202E_206D_206B_200B_202E_206C_200C_200B_202D_200E_202D_206D_206E_206C_206A_200D_206A_200B_206D_202D_200D_200F_200E_202E(current), null, warnIfMissing: false);
num = ((gameObject == null) ? (-373808532) : (-373808531));
break;
case 3:
_202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(955603109), new object[2]
{
currentFateId,
_206C_200C_206E_202D_200E_202B_200C_202E_200E_202A_206E_200E_202A_206F_206A_206E_206B_202E_206D_206B_200B_202E_206C_200C_200B_202D_200E_202D_206D_206E_206C_206A_200D_206A_200B_206D_202D_200D_200F_200E_202E(current)
});
return ETaskResult.TaskComplete;
case 5:
num = ((!_206E_202E_206B_200E_202C_202C_206D_200F_206F_200E_202C_200F_200E_202B_206E_206A_202C_202D_200F_200B_202C_202B_202E_206A_206A_200C_206B_202E_206C_200F_200F_206B_200F_200D_206F_200C_202D_200F_202E_202C_202E(gameObject)) ? (-373808532) : (-373808533));
break;
case 2:
goto end_IL_0126;
}
continue;
end_IL_0126:
break;
}
}
finally
{
num = ((enumerator == null) ? (-816867460) : (-816867457));
while (true)
{
int num8 = num;
num3 = -816867458;
num4 = num8;
int num9 = num4 + num3;
int num10 = num4 & num3;
switch (num9 - (num10 + num10))
{
case 0:
num = -816867457;
break;
case 2:
goto end_IL_025b;
case 1:
_200D_200B_202C_206E_200C_200D_202E_200F_206E_206B_206F_206F_202C_206C_206B_200B_202E_206E_202E_206F_206B_206E_206B_206C_200B_206D_206C_200E_202B_202E_200D_200D_202D_206B_200B_206C_206C_202C_206D_206D_202E((IDisposable)enumerator);
num = -816867460;
break;
}
continue;
end_IL_025b:
break;
}
}
_nextPollAt = _202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E() + 1000;
return ETaskResult.StillRunning;
}
}
}
_nextPollAt = DateTime.Now.AddSeconds(1.0);
return ETaskResult.StillRunning;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static void _202B_200F_202E_200F_206D_200F_206B_200D_206D_200D_200E_202C_206C_202E_206F_206A_206E_206D_202B_202B_202C_200B_206F_200F_202A_200D_200F_200C_202E_200B_206D_202E_206B_206A_206E_202B_200F_200F_202E_206D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static long _202D_202D_200B_200D_202B_206A_202D_200C_202E_200B_200B_206B_202C_200C_206E_200E_200E_200D_202C_202B_202D_200C_200D_206B_200D_200F_206A_202C_202B_200C_206E_202A_206F_200D_206C_206F_206B_202E_202A_202E()
{
return Environment.TickCount64;
}
static uint _206C_200C_206E_202D_200E_202B_200C_202E_200E_202A_206E_200E_202A_206F_206A_206E_206B_202E_206D_206B_200B_202E_206C_200C_200B_202D_200E_202D_206D_206E_206C_206A_200D_206A_200B_206D_202D_200D_200F_200E_202E(FateActionTarget P_0)
{
return P_0.DataId;
}
static bool _206E_202E_206B_200E_202C_202C_206D_200F_206F_200E_202C_200F_200E_202B_206E_206A_202C_202D_200F_200B_202C_202B_202E_206A_206A_200C_206B_202E_206C_200F_200F_206B_200F_200D_206F_200C_202D_200F_202E_202C_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
static bool _202B_200B_206D_206A_200C_206A_200E_202A_200C_206D_202A_200D_200F_202A_202A_200D_206F_206E_200B_200B_206A_206F_206B_206D_206C_206B_200B_206F_202C_200E_202A_206B_206C_206B_206D_206A_202B_200F_206C_206C_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _200D_200B_202C_206E_200C_200D_202E_200F_206E_206B_206F_206F_202C_206C_206B_200B_202E_206E_202E_206F_206B_206E_206B_206C_200B_206D_206C_200E_202B_202E_200D_200D_202D_206B_200B_206C_206C_202C_206D_206D_202E(IDisposable P_0)
{
P_0.Dispose();
}
}
internal sealed record SyncFateLevel : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200E_200E_202E_202C_206D_206D_202D_202D_206D_202D_202D_200E_202E_200B_206F_200F_206D_202A_202B_206C_202D_206C_200D_206B_206B_206D_200B_206B_202B_206D_202D_206C_206E_206A_202B_200C_202E_202A_202A_202E(typeof(SyncFateLevel).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "SyncFateLevel";
return global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-475022604);
}
[CompilerGenerated]
public bool Equals(SyncFateLevel? other)
{
int num = (((object)this == other) ? (-1810746369) : (-1810746375));
while (true)
{
int num2 = num;
int num3 = -1810746371;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return false;
case 4:
num = (((object)other == null) ? (-1810746370) : (-1810746372));
break;
case 1:
return _202C_200F_206A_206F_202B_202E_200E_206A_206B_206E_206A_206C_206D_202B_200E_206F_206B_200B_200D_200D_202D_202E_206A_202A_200F_202D_202A_200B_206D_202D_202B_200B_202E_202C_202A_202B_200D_200E_206D_206E_202E(EqualityContract, other.EqualityContract);
case 2:
return true;
case 0:
num = -1810746375;
break;
}
}
}
bool IEquatable<SyncFateLevel>.Equals(SyncFateLevel? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200E_200E_202E_202C_206D_206D_202D_202D_206D_202D_202D_200E_202E_200B_206F_200F_206D_202A_202B_206C_202D_206C_200D_206B_206B_206D_200B_206B_202B_206D_202D_206C_206E_206A_202B_200C_202E_202A_202A_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static bool _202C_200F_206A_206F_202B_202E_200E_206A_206B_206E_206A_206C_206D_202B_200E_206F_206B_200B_200D_200D_202D_202E_206A_202A_200F_202D_202A_200B_206D_202D_202B_200B_202E_202C_202A_202B_200D_200E_206D_206E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class SyncFateLevelExecutor(GameFunctions gameFunctions, ILogger<SyncFateLevelExecutor> logger) : TaskExecutor<SyncFateLevel>()
{
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
logger.LogInformation("Syncing to FATE level");
_206B_206D_200B_202C_206D_206E_202E_206E_200E_202A_200E_206B_206E_200D_200E_206A_200D_202B_200D_202A_206C_200C_206E_206F_202B_202C_200D_200E_206E_206C_200F_202A_206F_202C_202E_202E_206D_206C_202B_202D_202E((ILogger)logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(245649986), Array.Empty<object>());
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
ushort currentFateId = gameFunctions.GetCurrentFateId();
if (currentFateId == 0)
int num = ((currentFateId != 0) ? (-666684793) : (-666684794));
while (true)
{
logger.LogDebug("No active FATE to sync to, skipping");
return ETaskResult.TaskComplete;
int num2 = num;
int num3 = -666684793;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
gameFunctions.SyncToFate(currentFateId);
return ETaskResult.TaskComplete;
case 1:
_206B_206D_200B_202C_206D_206E_202E_206E_200E_202A_200E_206B_206E_200D_200E_206A_200D_202B_200D_202A_206C_200C_206E_206F_202B_202C_200D_200E_206E_206C_200F_202A_206F_202C_202E_202E_206D_206C_202B_202D_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1969316216), Array.Empty<object>());
return ETaskResult.TaskComplete;
case 2:
goto IL_007a;
}
continue;
IL_007a:
num = -666684794;
}
gameFunctions.SyncToFate(currentFateId);
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static void _206B_206D_200B_202C_206D_206E_202E_206E_200E_202A_200E_206B_206E_200D_200E_206A_200D_202B_200D_202A_206C_200C_206E_206F_202B_202C_200D_200E_206E_206C_200F_202A_206F_202C_202E_202E_206D_206C_202B_202D_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
}
internal sealed record FateActionLoop(IReadOnlyList<FateActionTarget> Targets, EStatus? RequiredStatusId = null) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _200F_202C_206B_202D_200B_200D_206E_202C_202D_202C_206B_202A_200B_206F_206D_200C_202E_200E_202B_202B_206A_206E_200F_202C_206F_200B_202A_206A_200D_206A_206A_200B_202E_200F_200E_206D_206B_206F_202C_202E(typeof(FateActionLoop).TypeHandle);
}
}
public bool ShouldRedoOnInterrupt()
{
return true;
}
bool ITask.ShouldRedoOnInterrupt()
{
//ILSpy generated this explicit interface implementation from .override directive in ShouldRedoOnInterrupt
return this.ShouldRedoOnInterrupt();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return $"FateActionLoop({Targets.Count} targets)";
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(24, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(213111494));
defaultInterpolatedStringHandler.AppendFormatted(Targets.Count);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1905985229));
return defaultInterpolatedStringHandler.ToStringAndClear();
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200D_202A_200E_200D_206D_206D_206E_200F_206D_202A_206F_206E_200D_202E_206D_206C_200C_202E_206D_206F_206C_200F_200C_200C_202E_202B_206C_206F_206C_206E_206F_202A_202A_206D_200E_200D_206B_200F_202E_200C_202E();
_206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-144611919));
_200C_206F_202A_206F_202D_200D_206C_202E_202E_206C_206B_206F_206F_202E_200F_206D_202D_202B_206F_202B_202E_206B_206F_202C_200C_206C_200F_202A_206C_202A_202B_202B_206D_206A_206D_206A_206F_200B_202A_202B_202E(builder, (object)Targets);
_206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1576420107));
_206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(builder, RequiredStatusId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(FateActionLoop? other)
{
int num = (((object)this == other) ? (-346298677) : (-346298676));
while (true)
{
int num2 = num;
int num3 = -346298674;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = ((!EqualityComparer<IReadOnlyList<FateActionTarget>>.Default.Equals(Targets, other.Targets)) ? (-346298680) : (-346298673));
break;
case 2:
num = (((object)other == null) ? (-346298680) : (-346298678));
break;
case 6:
return false;
case 3:
num = -346298676;
break;
case 4:
num = ((!_206D_200C_202E_200C_202A_206D_200C_200B_200C_202B_206C_202E_206D_206B_202E_202B_202C_202B_200E_206D_202B_202C_206F_202D_206F_202C_200D_206B_206A_206C_206B_202C_202B_202A_206E_200F_200C_206E_200B_200D_202E(EqualityContract, other.EqualityContract)) ? (-346298680) : (-346298674));
break;
case 5:
return true;
case 1:
return EqualityComparer<EStatus?>.Default.Equals(RequiredStatusId, other.RequiredStatusId);
}
}
}
bool IEquatable<FateActionLoop>.Equals(FateActionLoop? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _200F_202C_206B_202D_200B_200D_206E_202C_202D_202C_206B_202A_200B_206F_206D_200C_202E_200E_202B_202B_206A_206E_200F_202C_206F_200B_202A_206A_200D_206A_206A_200B_202E_200F_200E_206D_206B_206F_202C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static void _200D_202A_200E_200D_206D_206D_206E_200F_206D_202A_206F_206E_200D_202E_206D_206C_200C_202E_206D_206F_206C_200F_200C_200C_202E_202B_206C_206F_206C_206E_206F_202A_202A_206D_200E_200D_206B_200F_202E_200C_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _206D_202A_200C_200C_202C_202D_206E_202B_206C_202E_202D_200C_202C_202C_202E_202C_206B_206C_202B_202C_206D_206D_200F_202A_200C_206E_206C_206D_200F_200F_206D_200E_206E_206A_202E_200F_206F_200E_200E_200D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _200C_206F_202A_206F_202D_200D_206C_202E_202E_206C_206B_206F_206F_202E_200F_206D_202D_202B_206F_202B_202E_206B_206F_202C_200C_206C_200F_202A_206C_202A_202B_202B_206D_206A_206D_206A_206F_200B_202A_202B_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206D_200C_202E_200C_202A_206D_200C_200B_200C_202B_206C_202E_206D_206B_202E_202B_202C_202B_200E_206D_202B_202C_206F_202D_206F_202C_200D_206B_206A_206C_206B_202C_202B_202A_206E_200F_200C_206E_200B_200D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class FateActionLoopExecutor(GameFunctions gameFunctions, ILogger<FateActionLoopExecutor> logger) : TaskExecutor<FateActionLoop>()
{
private DateTime _nextActionAt = DateTime.MinValue;
private long _nextActionAt;
private ushort _trackedFateId;
private bool _fateWasActive;
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_trackedFateId = gameFunctions.GetCurrentFateId();
logger.LogInformation("Starting FATE action loop with {Count} targets, tracking FATE {FateId}", base.Task.Targets.Count, _trackedFateId);
_202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-2063272986), new object[2]
{
base.Task.Targets.Count,
_trackedFateId
});
return true;
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override ETaskResult Update()
{
if (DateTime.Now < _nextActionAt)
int num = ((_202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() >= _nextActionAt) ? 464111573 : 464111570);
bool flag2 = default(bool);
ushort currentFateId = default(ushort);
IGameObject gameObject = default(IGameObject);
FateActionTarget current = default(FateActionTarget);
while (true)
{
return ETaskResult.StillRunning;
}
if (base.Task.RequiredStatusId.HasValue && !gameFunctions.HasStatus(base.Task.RequiredStatusId.Value))
{
logger.LogInformation("Required status {StatusId} lost during FATE action loop, ending cycle to re-apply", base.Task.RequiredStatusId.Value);
return ETaskResult.TaskComplete;
}
bool flag = gameFunctions.GetCurrentFateId() != 0;
if (_fateWasActive && !flag)
{
logger.LogInformation("FATE {FateId} is no longer active, cycle complete", _trackedFateId);
return ETaskResult.TaskComplete;
}
_fateWasActive = flag;
if (_trackedFateId == 0)
{
_trackedFateId = gameFunctions.GetCurrentFateId();
if (_trackedFateId != 0)
int num2 = num;
int num3 = 464111571;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
logger.LogInformation("Now tracking FATE {FateId}", _trackedFateId);
}
}
if (_trackedFateId != 0 && !gameFunctions.IsFateStillActive(_trackedFateId))
{
logger.LogInformation("FATE {FateId} is no longer running, cycle complete", _trackedFateId);
return ETaskResult.TaskComplete;
}
foreach (FateActionTarget target in base.Task.Targets)
{
IGameObject gameObject = gameFunctions.FindObjectByDataId(target.DataId, null, warnIfMissing: false);
if (gameObject != null && gameObject.IsTargetable)
case 10:
_202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1515231479), new object[1] { _trackedFateId });
num = 464111571;
break;
case 2:
_fateWasActive = flag2;
num = ((_trackedFateId != 0) ? 464111571 : 464111572);
break;
case 12:
num = (gameFunctions.HasStatus(base.Task.RequiredStatusId.Value) ? 464111581 : 464111574);
break;
case 7:
_trackedFateId = currentFateId;
num = ((_trackedFateId == 0) ? 464111571 : 464111577);
break;
case 14:
currentFateId = gameFunctions.GetCurrentFateId();
flag2 = currentFateId != 0;
num = ((!_fateWasActive) ? 464111569 : 464111582);
break;
case 0:
num = ((_trackedFateId == 0) ? 464111576 : 464111568);
break;
case 3:
num = (gameFunctions.IsFateStillActive(_trackedFateId) ? 464111576 : 464111579);
break;
case 9:
num = 464111570;
break;
case 6:
num = ((!base.Task.RequiredStatusId.HasValue) ? 464111581 : 464111583);
break;
case 8:
_202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1418980453), new object[1] { _trackedFateId });
return ETaskResult.TaskComplete;
case 5:
_202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1749346970), new object[1] { base.Task.RequiredStatusId.Value });
return ETaskResult.TaskComplete;
case 4:
_202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1750997403), new object[1] { _trackedFateId });
return ETaskResult.TaskComplete;
case 1:
return ETaskResult.StillRunning;
case 13:
num = (flag2 ? 464111569 : 464111575);
break;
case 11:
{
bool flag2 = gameFunctions.UseAction(gameObject, target.Action);
_nextActionAt = (flag2 ? DateTime.Now.AddSeconds(2.5) : DateTime.Now.AddSeconds(0.5));
IEnumerator<FateActionTarget> enumerator = base.Task.Targets.GetEnumerator();
try
{
num = -742577641;
while (true)
{
int num7 = num;
num3 = -742577643;
num4 = num7;
int num8 = num4 + num3;
int num9 = num4 & num3;
switch (num8 - (num9 + num9))
{
case 2:
num = (_206F_202D_200F_206F_200C_206E_206A_200D_200E_202D_206B_200F_202E_206D_202A_206A_202B_206F_200F_202D_200F_206E_200D_202E_206B_200E_206B_200C_202A_200E_206C_200F_206E_206C_202E_202D_206E_202D_200B_202C_202E((IEnumerator)enumerator) ? (-742577647) : (-742577642));
break;
case 1:
num = ((!_200E_202B_202A_200B_200C_206B_206F_202A_202A_202C_206D_206A_206A_206E_206F_202C_202A_202E_202C_202B_200D_202A_200D_202D_206B_200B_202B_206E_206F_202B_206F_200B_202A_200F_206D_202B_206C_200F_202B_206D_202E(gameObject)) ? (-742577641) : (-742577648));
break;
case 5:
{
bool flag = gameFunctions.UseAction(gameObject, _202C_202D_206A_200F_206B_202A_206B_202D_202B_202D_206F_200E_202D_206C_206A_202E_202A_200B_202D_206B_202B_206E_202D_206C_206D_202D_202B_200D_200B_202A_206F_200B_202A_200B_206A_202C_206B_206D_206F_206A_202E(current));
_nextActionAt = (flag ? (_202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() + 2500) : (_202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() + 500));
return ETaskResult.StillRunning;
}
case 4:
current = enumerator.Current;
gameObject = gameFunctions.FindObjectByDataId(_200F_206F_206E_206B_200D_206D_202E_206A_206E_202C_200B_200E_200D_200E_202A_200C_202C_206D_202B_206A_206D_200F_202C_200C_200C_202A_206B_206C_206E_202B_206A_206E_202A_202B_206A_206D_202E_206C_202D_202B_202E(current), null, warnIfMissing: false);
num = ((gameObject == null) ? (-742577641) : (-742577644));
break;
case 0:
num = -742577641;
break;
case 3:
goto end_IL_02d6;
}
continue;
end_IL_02d6:
break;
}
}
finally
{
num = ((enumerator == null) ? (-2077958927) : (-2077958928));
while (true)
{
int num10 = num;
num3 = -2077958927;
num4 = num10;
int num11 = num4 + num3;
int num12 = num4 & num3;
switch (num11 - (num12 + num12))
{
case 0:
goto end_IL_0421;
case 1:
_202C_206B_202B_202B_206B_202C_200C_206D_206F_200B_200B_206C_206F_202E_200F_206C_206A_202B_200E_206D_200D_202E_206F_200F_206E_202B_202D_202B_200C_202C_206C_202B_206D_200F_202A_206A_200C_202A_206D_202E_202E((IDisposable)enumerator);
num = -2077958927;
break;
case 2:
num = -2077958928;
break;
}
continue;
end_IL_0421:
break;
}
}
_nextActionAt = _202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E() + 250;
return ETaskResult.StillRunning;
}
}
}
_nextActionAt = DateTime.Now.AddSeconds(0.25);
return ETaskResult.StillRunning;
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static void _202E_202D_202C_202B_206F_200B_206E_202D_206A_202D_200D_202E_206C_206F_206D_206C_206D_200D_206E_206E_202E_206C_202A_206D_200F_206A_200B_200E_202A_200C_202A_200B_200C_206A_202D_200E_200C_202C_206F_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
static long _202E_206D_202B_200D_206F_206C_202A_206F_206C_202D_206B_206D_202B_200D_202C_206B_200F_200E_202B_202D_206B_206E_206E_200D_206E_200E_200D_202A_200E_202A_206D_200C_202A_206D_200D_206E_206E_206E_202D_202A_202E()
{
return Environment.TickCount64;
}
static uint _200F_206F_206E_206B_200D_206D_202E_206A_206E_202C_200B_200E_200D_200E_202A_200C_202C_206D_202B_206A_206D_200F_202C_200C_200C_202A_206B_206C_206E_202B_206A_206E_202A_202B_206A_206D_202E_206C_202D_202B_202E(FateActionTarget P_0)
{
return P_0.DataId;
}
static bool _200E_202B_202A_200B_200C_206B_206F_202A_202A_202C_206D_206A_206A_206E_206F_202C_202A_202E_202C_202B_200D_202A_200D_202D_206B_200B_202B_206E_206F_202B_206F_200B_202A_200F_206D_202B_206C_200F_202B_206D_202E(IGameObject P_0)
{
return P_0.IsTargetable;
}
static EAction _202C_202D_206A_200F_206B_202A_206B_202D_202B_202D_206F_200E_202D_206C_206A_202E_202A_200B_202D_206B_202B_206E_202D_206C_206D_202D_202B_200D_200B_202A_206F_200B_202A_200B_206A_202C_206B_206D_206F_206A_202E(FateActionTarget P_0)
{
return P_0.Action;
}
static bool _206F_202D_200F_206F_200C_206E_206A_200D_200E_202D_206B_200F_202E_206D_202A_206A_202B_206F_200F_202D_200F_206E_200D_202E_206B_200E_206B_200C_202A_200E_206C_200F_206E_206C_202E_202D_206E_202D_200B_202C_202E(IEnumerator P_0)
{
return P_0.MoveNext();
}
static void _202C_206B_202B_202B_206B_202C_200C_206D_206F_200B_200B_206C_206F_202E_200F_206C_206A_202B_200E_206D_200D_202E_206F_200F_206E_202B_202D_202B_200C_202C_206C_202B_206D_200F_202A_206A_200C_202A_206D_202E_202E(IDisposable P_0)
{
P_0.Dispose();
}
}
}

View file

@ -1,8 +1,13 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
@ -16,18 +21,62 @@ internal static class Jump
{
internal sealed class Factory : SimpleTaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
{
if (step.InteractionType != EInteractionType.Jump)
int num = ((_200E_202A_202E_202C_206A_202E_200E_206A_206E_206E_202C_206E_206D_200D_200E_202D_200F_206E_200D_200D_206D_200C_200D_202B_202A_202A_200B_200B_206D_202B_200F_200B_200F_206D_206B_202E_206A_200C_202D_202B_202E(step) == EInteractionType.Jump) ? 1879754569 : 1879754570);
while (true)
{
return null;
int num2 = num;
int num3 = 1879754571;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 4:
return new SingleJumpTask(_200B_206E_202B_202E_202B_200F_202E_202C_206D_200F_202A_200B_206F_200B_200D_206C_202C_206A_206E_206F_200E_202D_206D_206D_206F_202A_206E_200F_202E_206E_202B_200D_206E_202B_206E_206D_200B_206A_200C_202D_202E(step), _200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step), _206D_200E_206F_200F_202D_206B_202E_200F_206F_206B_200B_206A_202C_200F_206D_206C_200C_206B_200D_206B_206D_200D_202E_206C_206A_206E_202B_200E_200F_200C_202E_206B_206D_206D_206B_200B_206C_206F_206B_200D_202E(step));
case 1:
return null;
case 0:
return new RepeatedJumpTask(_200B_206E_202B_202E_202B_200F_202E_202C_206D_200F_202A_200B_206F_200B_200D_206C_202C_206A_206E_206F_200E_202D_206D_206D_206F_202A_206E_200F_202E_206E_202B_200D_206E_202B_206E_206D_200B_206A_200C_202D_202E(step), _200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step), _206D_200E_206F_200F_202D_206B_202E_200F_206F_206B_200B_206A_202C_200F_206D_206C_200C_206B_200D_206B_206D_200D_202E_206C_206A_206E_202B_200E_200F_200C_202E_206B_206D_206D_206B_200B_206C_206F_206B_200D_202E(step));
case 2:
_206E_206C_206A_200C_206A_206C_202B_206C_206F_200C_200B_200B_202C_206D_202A_206B_206B_206A_202A_206B_206D_206A_200E_206B_202E_202D_200D_200B_200F_206E_200B_206B_200B_200C_206F_206B_206C_200F_200F_206F_202E((object)_200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1260133087));
num = ((_200E_206A_206A_206B_200D_200E_200F_202C_200B_202C_206E_206A_206A_202E_200B_200D_202E_206E_202D_202A_202A_202E_200E_206C_206F_206C_202B_206E_200C_206D_200E_202A_200E_200F_202A_200F_206E_206F_202C_200E_202E(_200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(step)) != EJumpType.SingleJump) ? 1879754571 : 1879754575);
break;
case 3:
num = 1879754570;
break;
}
}
ArgumentNullException.ThrowIfNull(step.JumpDestination, "step.JumpDestination");
if (step.JumpDestination.Type == EJumpType.SingleJump)
{
return new SingleJumpTask(step.DataId, step.JumpDestination, step.Comment);
}
return new RepeatedJumpTask(step.DataId, step.JumpDestination, step.Comment);
}
static EInteractionType _200E_202A_202E_202C_206A_202E_200E_206A_206E_206E_202C_206E_206D_200D_200E_202D_200F_206E_200D_200D_206D_200C_200D_202B_202A_202A_200B_200B_206D_202B_200F_200B_200F_206D_206B_202E_206A_200C_202D_202B_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static JumpDestination _200C_202C_206B_200F_200E_206E_202D_206E_200F_206C_206C_206B_206F_202D_200D_206F_202C_202A_202C_200B_200C_200E_200B_202B_206B_206D_202A_202C_200B_200F_200C_202B_202B_206A_206C_202A_202C_202D_200E_202E(QuestStep P_0)
{
return P_0.JumpDestination;
}
static void _206E_206C_206A_200C_206A_206C_202B_206C_206F_200C_200B_200B_202C_206D_202A_206B_206B_206A_202A_206B_206D_206A_200E_206B_202E_202D_200D_200B_200F_206E_200B_206B_200B_200C_206F_206B_206C_200F_200F_206F_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static EJumpType _200E_206A_206A_206B_200D_200E_200F_202C_200B_202C_206E_206A_206A_202E_200B_200D_202E_206E_202D_202A_202A_202E_200E_206C_206F_206C_202B_206E_200C_206D_200E_202A_200E_200F_202A_200F_206E_206F_202C_200E_202E(JumpDestination P_0)
{
return P_0.Type;
}
static uint? _200B_206E_202B_202E_202B_200F_202E_202C_206D_200F_202A_200B_206F_200B_200D_206C_202C_206A_206E_206F_200E_202D_206D_206D_206F_202A_206E_200F_202E_206E_202B_200D_206E_202B_206E_206D_200B_206A_200C_202D_202E(QuestStep P_0)
{
return P_0.DataId;
}
static string _206D_200E_206F_200F_202D_206B_202E_200F_206F_206B_200B_206A_202C_200F_206D_206C_200C_206B_200D_206B_206D_200D_202E_206C_206A_206E_202B_200E_200F_200C_202E_206B_206D_206D_206B_200B_206C_206F_206B_200D_202E(QuestStep P_0)
{
return P_0.Comment;
}
}
@ -42,9 +91,106 @@ internal static class Jump
internal sealed record SingleJumpTask(uint? DataId, JumpDestination JumpDestination, string? Comment) : IJumpTask, ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206F_202D_202A_206A_202C_202B_200C_202D_206B_202B_200F_200B_200D_202C_200F_202A_200C_202B_206D_206E_206B_202D_200E_202E_202E_200D_200C_202D_200F_202A_206D_202A_206B_202E_206B_200B_202B_200D_206E_200E_202E(typeof(SingleJumpTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "Jump(" + Comment + ")";
return _200E_206E_200E_200E_202A_202B_206B_200D_200F_200B_200E_202E_202A_206A_206F_202E_200B_206A_202A_200C_206A_202D_202E_206C_206D_202E_206D_206F_202C_200E_206D_200B_202A_206A_202B_202C_206D_202E_200D_206D_202E(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(2069957391), Comment, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1735737295));
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202D_200D_202B_202B_200B_206F_206D_202D_200D_206E_202A_202D_202B_202B_202A_206C_202E_202E_206F_202B_202B_202A_202B_202B_202A_200B_200C_200D_206E_202D_202A_202D_206F_206C_200B_206C_206E_206A_200B_206D_202E();
_200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-813337770));
_200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, DataId.ToString());
_200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(840372176));
_206D_202B_206B_200C_202A_200B_202B_206D_200E_206B_206B_202E_202C_202B_206D_200C_202D_202E_202A_202E_206B_206D_206E_206A_202A_200F_206B_202D_202D_206D_202E_202C_200B_200E_206B_202B_200D_206C_202B_206D_202E(builder, (object)JumpDestination);
_200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1006174404));
_206D_202B_206B_200C_202A_200B_202B_206D_200E_206B_206B_202E_202C_202B_206D_200C_202D_202E_202A_202E_206B_206D_206E_206A_202A_200F_206B_202D_202D_206D_202E_202C_200B_200E_206B_202B_200D_206C_202B_206D_202E(builder, (object)Comment);
return true;
}
[CompilerGenerated]
public bool Equals(SingleJumpTask? other)
{
int num = (((object)this == other) ? (-1677814898) : (-1677814903));
while (true)
{
int num2 = num;
int num3 = -1677814899;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return true;
case 4:
num = (((object)other == null) ? (-1677814901) : (-1677814902));
break;
case 0:
num = -1677814903;
break;
case 5:
return EqualityComparer<string>.Default.Equals(Comment, other.Comment);
case 6:
return false;
case 7:
num = ((!_202E_200D_206E_206E_200B_202B_200F_202D_202D_206D_206B_202C_206E_202E_202C_206D_200C_206D_200D_206C_202C_200D_202C_202B_200D_206B_206A_202C_202C_200C_200B_202D_200D_206B_200D_202D_206A_200F_202E_200E_202E(EqualityContract, other.EqualityContract)) ? (-1677814901) : (-1677814900));
break;
case 1:
num = ((!EqualityComparer<uint?>.Default.Equals(DataId, other.DataId)) ? (-1677814901) : (-1677814897));
break;
case 2:
num = ((!EqualityComparer<Questionable.Model.Questing.JumpDestination>.Default.Equals(JumpDestination, other.JumpDestination)) ? (-1677814901) : (-1677814904));
break;
}
}
}
bool IEquatable<SingleJumpTask>.Equals(SingleJumpTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206F_202D_202A_206A_202C_202B_200C_202D_206B_202B_200F_200B_200D_202C_200F_202A_200C_202B_206D_206E_206B_202D_200E_202E_202E_200D_200C_202D_200F_202A_206D_202A_206B_202E_206B_200B_202B_200D_206E_200E_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static string _200E_206E_200E_200E_202A_202B_206B_200D_200F_200B_200E_202E_202A_206A_206F_202E_200B_206A_202A_200C_206A_202D_202E_206C_206D_202E_206D_206F_202C_200E_206D_200B_202A_206A_202B_202C_206D_202E_200D_206D_202E(string P_0, string P_1, string P_2)
{
return P_0 + P_1 + P_2;
}
static void _202D_200D_202B_202B_200B_206F_206D_202D_200D_206E_202A_202D_202B_202B_202A_206C_202E_202E_206F_202B_202B_202A_202B_202B_202A_200B_200C_200D_206E_202D_202A_202D_206F_206C_200B_206C_206E_206A_200B_206D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200D_200D_200D_200D_206D_206B_206A_206F_202D_200B_200E_202E_202A_206D_206A_200E_202D_206D_200B_200D_206C_200F_202B_206A_202A_200E_202A_202D_206C_202E_206D_202C_200D_206A_202D_206A_202D_206B_206E_202D_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206D_202B_206B_200C_202A_200B_202B_206D_200E_206B_206B_202E_202C_202B_206D_200C_202D_202E_202A_202E_206B_206D_206E_206A_202A_200F_206B_202D_202D_206D_202E_202C_200B_200E_206B_202B_200D_206C_202B_206D_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _202E_200D_206E_206E_200B_202B_200F_202D_202D_206D_206B_202C_206E_202E_202C_206D_200C_206D_200D_206C_202C_200D_202C_202B_200D_206B_206A_202C_202C_200C_200B_202D_200D_206B_200D_202D_206A_200F_202E_200E_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
@ -52,48 +198,116 @@ internal static class Jump
{
protected unsafe override bool Start()
{
IGameObject gameObject = _003CobjectTable_003EP[0];
if (gameObject == null)
IPlayerCharacter playerCharacter = _206E_200D_202E_206B_206A_202B_200E_202C_202E_206A_202B_206D_200D_202A_200B_200F_206A_202C_206A_206D_202C_206B_200C_200D_200D_202C_206E_206C_200B_202A_202D_202C_206A_206C_200B_206A_200D_202A_202A_202A_202E(_003CobjectTable_003EP);
int num = ((playerCharacter != null) ? 279360376 : 279360377);
float num7 = default(float);
while (true)
{
return false;
int num2 = num;
int num3 = 279360376;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 2:
{
MovementController movementController = _003CmovementController_003EP;
uint? dataId = base.Task.DataId;
int num8 = 1;
List<Vector3> list = new List<Vector3>(num8);
CollectionsMarshal.SetCount(list, num8);
CollectionsMarshal.AsSpan(list)[0] = _200E_206A_206D_206E_206B_200B_200E_200C_202A_202A_206E_202E_200D_202D_202C_202A_206D_202C_206B_206A_206C_202D_202B_200F_200E_206D_200D_206E_200E_206F_202D_200B_200B_200C_206D_200B_200B_200F_202C_202D_202E(base.Task.JumpDestination);
movementController.NavigateTo(EMovementType.Quest, dataId, list, fly: false, sprint: false, _206B_206D_206F_202A_206F_202A_200F_202A_200D_202A_202B_206E_202B_202B_202E_200E_202C_200E_206F_200C_200D_202D_200C_202C_206B_202C_200B_200C_206D_200C_206D_202C_206B_202D_206B_200C_206A_200D_202A_206A_202E(base.Task.JumpDestination) ?? num7);
_206A_200C_206D_206D_202B_202C_206F_200E_200B_206C_202D_200E_206C_206D_206E_206E_202D_206D_206C_202B_206D_202E_206E_202B_202D_206C_200C_200F_206C_200F_200D_206B_206E_202C_202C_206E_202D_206C_200B_200F_202E(_003Cframework_003EP, (System.Action)delegate
{
ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
}, TimeSpan.FromSeconds(_206E_202C_202D_206C_200F_206E_206D_200E_202B_206C_200E_206C_206C_200F_202D_202D_202B_206A_202D_202A_206C_206B_200B_200B_206B_206F_206D_206D_202A_206D_206F_200D_200F_206C_202E_200B_206F_202A_200F_206D_202E(base.Task.JumpDestination) ?? 0.5f), 0, default(CancellationToken));
return true;
}
case 0:
num7 = _200D_200F_202A_202E_200F_200C_206F_206C_200B_206D_200D_202A_200F_202E_206D_200F_202B_202E_206F_206C_206F_200C_202D_200B_202C_200B_200D_206D_200F_200B_200C_202E_200B_200E_200C_202C_206B_202E_200E_202A_202E(base.Task.JumpDestination);
num = ((!((_206D_202A_206B_206F_202E_202A_206C_206C_200E_206F_206A_200E_206A_206B_202E_202E_206A_206B_202C_206A_200E_200C_200B_206E_202B_206B_206E_200D_206F_206E_206D_200E_206D_200D_202A_202C_206D_206B_202C_202A_202E((IGameObject)playerCharacter) - _200E_206A_206D_206E_206B_200B_200E_200C_202A_202A_206E_202E_200D_202D_202C_202A_206D_202C_206B_206A_206C_202D_202B_200F_200E_206D_200D_206E_200E_206F_202D_200B_200B_200C_206D_200B_200B_200F_202C_202D_202E(base.Task.JumpDestination)).Length() <= num7)) ? 279360378 : 279360380);
break;
case 1:
return false;
case 4:
return false;
case 3:
num = 279360377;
break;
}
}
float num = base.Task.JumpDestination.CalculateStopDistance();
if ((gameObject.Position - base.Task.JumpDestination.Position).Length() <= num)
{
return false;
}
MovementController movementController = _003CmovementController_003EP;
uint? dataId = base.Task.DataId;
int num2 = 1;
List<Vector3> list = new List<Vector3>(num2);
CollectionsMarshal.SetCount(list, num2);
CollectionsMarshal.AsSpan(list)[0] = base.Task.JumpDestination.Position;
movementController.NavigateTo(EMovementType.Quest, dataId, list, fly: false, sprint: false, base.Task.JumpDestination.StopDistance ?? num);
_003Cframework_003EP.RunOnTick(delegate
{
ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null);
}, TimeSpan.FromSeconds(base.Task.JumpDestination.DelaySeconds ?? 0.5f));
return true;
}
public override ETaskResult Update()
{
if (_003CmovementController_003EP.IsPathfinding || _003CmovementController_003EP.IsPathRunning)
int num = (_003CmovementController_003EP.IsPathfinding ? (-470159093) : (-470159095));
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = -470159096;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 3:
return ETaskResult.StillRunning;
case 1:
num = ((!_003CmovementController_003EP.IsPathRunning) ? (-470159096) : (-470159093));
break;
case 0:
num = (_003CmovementController_003EP.HasBeenMovingForAtLeast(1000) ? (-470159094) : (-470159092));
break;
case 5:
num = -470159095;
break;
case 4:
return ETaskResult.StillRunning;
case 2:
return ETaskResult.TaskComplete;
}
}
DateTime movementStartedAt = _003CmovementController_003EP.MovementStartedAt;
if (movementStartedAt == DateTime.MaxValue || movementStartedAt.AddSeconds(1.0) >= DateTime.Now)
{
return ETaskResult.StillRunning;
}
return ETaskResult.TaskComplete;
}
public override bool ShouldInterruptOnDamage()
{
return true;
}
static IPlayerCharacter _206E_200D_202E_206B_206A_202B_200E_202C_202E_206A_202B_206D_200D_202A_200B_200F_206A_202C_206A_206D_202C_206B_200C_200D_200D_202C_206E_206C_200B_202A_202D_202C_206A_206C_200B_206A_200D_202A_202A_202A_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static float _200D_200F_202A_202E_200F_200C_206F_206C_200B_206D_200D_202A_200F_202E_206D_200F_202B_202E_206F_206C_206F_200C_202D_200B_202C_200B_200D_206D_200F_200B_200C_202E_200B_200E_200C_202C_206B_202E_200E_202A_202E(JumpDestination P_0)
{
return P_0.CalculateStopDistance();
}
static Vector3 _206D_202A_206B_206F_202E_202A_206C_206C_200E_206F_206A_200E_206A_206B_202E_202E_206A_206B_202C_206A_200E_200C_200B_206E_202B_206B_206E_200D_206F_206E_206D_200E_206D_200D_202A_202C_206D_206B_202C_202A_202E(IGameObject P_0)
{
return P_0.Position;
}
static Vector3 _200E_206A_206D_206E_206B_200B_200E_200C_202A_202A_206E_202E_200D_202D_202C_202A_206D_202C_206B_206A_206C_202D_202B_200F_200E_206D_200D_206E_200E_206F_202D_200B_200B_200C_206D_200B_200B_200F_202C_202D_202E(JumpDestination P_0)
{
return P_0.Position;
}
static float? _206B_206D_206F_202A_206F_202A_200F_202A_200D_202A_202B_206E_202B_202B_202E_200E_202C_200E_206F_200C_200D_202D_200C_202C_206B_202C_200B_200C_206D_200C_206D_202C_206B_202D_206B_200C_206A_200D_202A_206A_202E(JumpDestination P_0)
{
return P_0.StopDistance;
}
static float? _206E_202C_202D_206C_200F_206E_206D_200E_202B_206C_200E_206C_206C_200F_202D_202D_202B_206A_202D_202A_206C_206B_200B_200B_206B_206F_206D_206D_202A_206D_206F_200D_200F_206C_202E_200B_206F_202A_200F_206D_202E(JumpDestination P_0)
{
return P_0.DelaySeconds;
}
static Task _206A_200C_206D_206D_202B_202C_206F_200E_200B_206C_202D_200E_206C_206D_206E_206E_202D_206D_206C_202B_206D_202E_206E_202B_202D_206C_200C_200F_206C_200F_200D_206B_206E_202C_202C_206E_202D_206C_200B_200F_202E(IFramework P_0, System.Action P_1, TimeSpan P_2, int P_3, CancellationToken P_4)
{
return P_0.RunOnTick(P_1, P_2, P_3, P_4);
}
}
internal sealed class DoSingleJump : JumpBase<SingleJumpTask>
@ -106,9 +320,108 @@ internal static class Jump
internal sealed record RepeatedJumpTask(uint? DataId, JumpDestination JumpDestination, string? Comment) : IJumpTask, ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _206F_206C_202B_206C_200C_202A_200E_200D_202B_206C_202A_202C_200F_206E_202C_206D_206A_200F_206C_206D_200E_206C_200D_206B_200D_206E_202C_200D_206E_202B_206C_202C_202E_202E_200D_206B_206C_206B_206E_206B_202E(typeof(RepeatedJumpTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
return "RepeatedJump(" + Comment + ")";
return _202A_206C_206D_200C_200D_206B_202A_202E_206E_200E_202B_206F_200B_202C_202E_202B_206F_206F_206E_206D_202E_206D_206A_200B_206C_202B_206F_206D_202B_206F_206F_202A_200E_202E_206D_202D_200F_202D_206B_200E_202E(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1812591984), Comment, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1618480346));
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_202B_200C_200F_202B_206D_202B_200E_206F_202A_206E_200E_202E_200F_202B_200F_200B_200D_200B_202E_200F_206C_200F_200E_202D_200B_202D_206E_200D_206E_206A_206E_200F_206D_200E_202C_206E_200D_206A_202D_202E();
_200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-813337770));
_200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, DataId.ToString());
_200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(2048561311));
_206A_206C_202A_202B_200F_200D_206C_202D_200F_206B_206C_202B_202C_200E_206F_202B_202D_200E_202A_200D_200C_200B_206D_206F_206F_206B_206B_206E_202C_206F_202B_206D_206A_202B_200F_202C_200F_206A_206E_206B_202E(builder, (object)JumpDestination);
_200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(builder, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(430956117));
_206A_206C_202A_202B_200F_200D_206C_202D_200F_206B_206C_202B_202C_200E_206F_202B_202D_200E_202A_200D_200C_200B_206D_206F_206F_206B_206B_206E_202C_206F_202B_206D_206A_202B_200F_202C_200F_206A_206E_206B_202E(builder, (object)Comment);
return true;
}
[CompilerGenerated]
public bool Equals(RepeatedJumpTask? other)
{
int num = (((object)this == other) ? (-565418878) : (-565418874));
while (true)
{
int num2 = num;
int num3 = -565418873;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
num = ((!EqualityComparer<Questionable.Model.Questing.JumpDestination>.Default.Equals(JumpDestination, other.JumpDestination)) ? (-565418875) : (-565418880));
break;
case 1:
num = (((object)other == null) ? (-565418875) : (-565418879));
break;
case 6:
num = ((!_206B_206B_206F_202A_202C_206E_206A_206F_206E_200E_206A_206C_206B_202C_206C_206B_200E_202A_206A_206F_200C_206B_206B_202D_206E_202B_206A_202C_206D_202E_200E_206F_200B_200B_206C_200D_202B_200F_206E_202B_202E(EqualityContract, other.EqualityContract)) ? (-565418875) : (-565418877));
break;
case 7:
return EqualityComparer<string>.Default.Equals(Comment, other.Comment);
case 4:
num = ((!EqualityComparer<uint?>.Default.Equals(DataId, other.DataId)) ? (-565418875) : (-565418873));
break;
case 3:
num = -565418874;
break;
case 5:
return true;
case 2:
return false;
}
}
}
bool IEquatable<RepeatedJumpTask>.Equals(RepeatedJumpTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _206F_206C_202B_206C_200C_202A_200E_200D_202B_206C_202A_202C_200F_206E_202C_206D_206A_200F_206C_206D_200E_206C_200D_206B_200D_206E_202C_200D_206E_202B_206C_202C_202E_202E_200D_206B_206C_206B_206E_206B_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static string _202A_206C_206D_200C_200D_206B_202A_202E_206E_200E_202B_206F_200B_202C_202E_202B_206F_206F_206E_206D_202E_206D_206A_200B_206C_202B_206F_206D_202B_206F_206F_202A_200E_202E_206D_202D_200F_202D_206B_200E_202E(string P_0, string P_1, string P_2)
{
return P_0 + P_1 + P_2;
}
static void _202B_200C_200F_202B_206D_202B_200E_206F_202A_206E_200E_202E_200F_202B_200F_200B_200D_200B_202E_200F_206C_200F_200E_202D_200B_202D_206E_200D_206E_206A_206E_200F_206D_200E_202C_206E_200D_206A_202D_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _200B_206A_200E_206C_200C_202D_206A_206F_202B_202A_202B_202C_200B_200C_206B_202E_206D_202D_206C_200F_206F_206F_200D_200B_206B_206D_206B_206A_200F_206D_202A_202A_206E_200D_200B_200C_200D_202D_200D_202A_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static StringBuilder _206A_206C_202A_202B_200F_200D_206C_202D_200F_206B_206C_202B_202C_200E_206F_202B_202D_200E_202A_200D_200C_200B_206D_206F_206F_206B_206B_206E_202C_206F_202B_206D_206A_202B_200F_202C_200F_206A_206E_206B_202E(StringBuilder P_0, object P_1)
{
return P_0.Append(P_1);
}
static bool _206B_206B_206F_202A_202C_206E_206A_206F_206E_200E_206A_206C_206B_202C_206C_206B_200E_202A_206A_206F_200C_206B_206B_202D_206E_202B_206A_202C_206D_202E_200E_206F_200B_200B_206C_200D_202B_200F_206E_202B_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
@ -116,7 +429,7 @@ internal static class Jump
{
private readonly IObjectTable _objectTable;
private DateTime _continueAt;
private long _continueAt;
private int _attempts;
@ -125,43 +438,123 @@ internal static class Jump
_003Ccondition_003EP = condition;
_003Clogger_003EP = logger;
_objectTable = objectTable;
_continueAt = DateTime.MinValue;
base._002Ector(movementController, objectTable, framework);
}
protected override bool Start()
{
_continueAt = DateTime.Now + TimeSpan.FromSeconds(2f * (base.Task.JumpDestination.DelaySeconds ?? 0.5f));
_continueAt = _206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E() + (long)(2000f * (_202E_200B_206E_200B_206D_202B_202C_206C_200E_206C_202E_206E_202D_200E_200F_206D_202C_206F_206A_202D_206E_200D_202D_202C_202B_200F_200C_202D_200B_206A_206A_202B_206C_206A_202C_202C_202B_206A_202A_202E(base.Task.JumpDestination) ?? 0.5f));
return base.Start();
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
if (DateTime.Now < _continueAt || _003Ccondition_003EP[ConditionFlag.Jumping])
int num = ((_206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E() < _continueAt) ? 1172986635 : 1172986637);
IPlayerCharacter playerCharacter = default(IPlayerCharacter);
while (true)
{
return ETaskResult.StillRunning;
int num2 = num;
int num3 = 1172986631;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 4:
num = ((_attempts < 50) ? 1172986624 : 1172986639);
break;
case 10:
num = ((!_206D_206B_206A_206D_202A_202D_206D_206A_200E_202A_202E_202E_206E_200C_206B_202D_206F_200E_200D_200C_206F_206E_202B_202D_200F_200B_206C_200C_202E_200F_206C_200E_202E_200C_202D_202B_206D_200E_202A_206A_202E(_003Ccondition_003EP, ConditionFlag.Jumping)) ? 1172986626 : 1172986635);
break;
case 2:
_200F_206F_200B_200C_202D_206C_202A_202A_202D_206D_200E_200B_202D_202B_206A_202A_206D_206F_200F_202E_200D_202A_200B_206F_200E_200B_206A_202B_200E_206A_206A_206F_200B_202A_200D_206D_200E_206F_200E_206C_202E((ILogger)_003Clogger_003EP, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1550993377), new object[2]
{
_202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E((IGameObject)playerCharacter).Y,
_206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(base.Task.JumpDestination).Y - 0.5f
});
num = ((!ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null)) ? 1172986627 : 1172986630);
break;
case 3:
num = 1172986637;
break;
case 7:
_continueAt = _206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E() + (long)(1000f * (_202E_200B_206E_200B_206D_202B_202C_206C_200E_206C_202E_206E_202D_200E_200F_206D_202C_206F_206A_202D_206E_200D_202D_202C_202B_200F_200C_202D_200B_206A_206A_202B_206C_206A_202C_202C_202B_206A_202A_202E(base.Task.JumpDestination) ?? 0.5f));
return ETaskResult.StillRunning;
case 9:
num = ((!(_202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E((IGameObject)playerCharacter).Y >= _206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(base.Task.JumpDestination).Y - 0.5f)) ? 1172986629 : 1172986631);
break;
case 6:
return ETaskResult.TaskComplete;
case 12:
return ETaskResult.StillRunning;
case 5:
playerCharacter = _200F_200B_206F_202B_206B_202D_206F_206C_206A_200F_206F_200F_200D_206F_206C_206E_200C_200B_206D_206C_200D_200B_202E_200D_202E_202C_206C_200F_200F_202C_200E_206F_206E_202E_206B_200F_200F_200D_200F_206F_202E(_objectTable);
num = ((playerCharacter != null) ? 1172986636 : 1172986625);
break;
case 0:
return ETaskResult.TaskComplete;
case 8:
throw new TaskException(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1093799648));
case 11:
{
float num9 = _200D_206B_202D_200B_206C_206A_200C_200F_202B_206A_202A_202A_202C_206D_202E_200C_202A_200B_202D_200F_206C_200B_202C_202A_200F_200B_206F_200B_200F_202B_202C_200E_200E_206A_200C_200B_202D_206B_200E_202C_202E(base.Task.JumpDestination);
num = (((_202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E((IGameObject)playerCharacter) - _206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(base.Task.JumpDestination)).Length() <= num9) ? 1172986631 : 1172986638);
break;
}
case 1:
{
int attempts = _attempts;
num3 = 1;
num4 = attempts;
int num7 = num4 ^ num3;
int num8 = num4 & num3;
_attempts = num7 + (num8 + num8);
num = 1172986627;
break;
}
}
}
IGameObject gameObject = _objectTable[0];
if (gameObject == null)
{
return ETaskResult.TaskComplete;
}
float num = base.Task.JumpDestination.CalculateStopDistance();
if ((gameObject.Position - base.Task.JumpDestination.Position).Length() <= num || gameObject.Position.Y >= base.Task.JumpDestination.Position.Y - 0.5f)
{
return ETaskResult.TaskComplete;
}
_003Clogger_003EP.LogTrace("Y-Heights for jumps: player={A}, target={B}", gameObject.Position.Y, base.Task.JumpDestination.Position.Y - 0.5f);
if (ActionManager.Instance()->UseAction(ActionType.GeneralAction, 2u, 3758096384uL, 0u, ActionManager.UseActionMode.None, 0u, null))
{
_attempts++;
}
if (_attempts >= 50)
{
throw new TaskException("Tried to jump too many times, didn't reach the target");
}
_continueAt = DateTime.Now + TimeSpan.FromSeconds(base.Task.JumpDestination.DelaySeconds ?? 0.5f);
return ETaskResult.StillRunning;
}
static long _206A_202B_206B_202B_202C_200B_202B_202D_206F_200D_202D_200F_206F_206F_200F_202E_200D_200F_200B_202A_200B_200E_206D_206B_202A_206F_206A_206F_206C_206E_200D_206E_200B_202D_202A_206A_206C_200F_206A_206C_202E()
{
return Environment.TickCount64;
}
static float? _202E_200B_206E_200B_206D_202B_202C_206C_200E_206C_202E_206E_202D_200E_200F_206D_202C_206F_206A_202D_206E_200D_202D_202C_202B_200F_200C_202D_200B_206A_206A_202B_206C_206A_202C_202C_202B_206A_202A_202E(JumpDestination P_0)
{
return P_0.DelaySeconds;
}
static bool _206D_206B_206A_206D_202A_202D_206D_206A_200E_202A_202E_202E_206E_200C_206B_202D_206F_200E_200D_200C_206F_206E_202B_202D_200F_200B_206C_200C_202E_200F_206C_200E_202E_200C_202D_202B_206D_200E_202A_206A_202E(ICondition P_0, ConditionFlag P_1)
{
return P_0[P_1];
}
static IPlayerCharacter _200F_200B_206F_202B_206B_202D_206F_206C_206A_200F_206F_200F_200D_206F_206C_206E_200C_200B_206D_206C_200D_200B_202E_200D_202E_202C_206C_200F_200F_202C_200E_206F_206E_202E_206B_200F_200F_200D_200F_206F_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static float _200D_206B_202D_200B_206C_206A_200C_200F_202B_206A_202A_202A_202C_206D_202E_200C_202A_200B_202D_200F_206C_200B_202C_202A_200F_200B_206F_200B_200F_202B_202C_200E_200E_206A_200C_200B_202D_206B_200E_202C_202E(JumpDestination P_0)
{
return P_0.CalculateStopDistance();
}
static Vector3 _202E_206C_206B_200D_200F_202D_202D_200B_206E_202A_202B_206B_200D_202E_200F_202C_202D_206D_202C_206B_206A_206E_200C_206A_202C_206E_206E_202C_200E_202D_202D_202E_206F_202E_206D_206F_202A_202C_200C_206B_202E(IGameObject P_0)
{
return P_0.Position;
}
static Vector3 _206A_200C_200D_200C_202B_202E_202A_206F_202E_206B_200D_200E_202E_202A_200F_206B_206B_206D_202B_200B_200D_202D_202D_200B_206C_206D_206C_202B_206C_202E_206F_200C_200C_200B_200E_200C_200B_200F_206F_206C_202E(JumpDestination P_0)
{
return P_0.Position;
}
static void _200F_206F_200B_200C_202D_206C_202A_202A_202D_206D_200E_200B_202D_202B_206A_202A_206D_206F_200F_202E_200D_202A_200B_206F_200E_200B_206A_202B_200E_206A_206A_206F_200B_202A_200D_206D_200E_206F_200E_206C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogTrace(P_1, P_2);
}
}
}

View file

@ -0,0 +1,625 @@
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using LLib;
using LLib.Gear;
using Microsoft.Extensions.Logging;
using Questionable.Model;
using Questionable.Model.Questing;
namespace Questionable.Controller.Steps.Interactions;
internal static class MeldMateria
{
internal sealed class Factory : ITaskFactory
{
[MethodImpl(MethodImplOptions.NoInlining)]
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
int num = ((_206C_206F_206E_206D_200C_200C_200B_202D_202D_206A_202D_206E_202D_206B_206D_200C_202D_200C_202B_206A_202D_200D_206A_206D_202B_202C_200E_206A_202C_206E_200D_202D_202E_200B_202C_200D_202E_202C_202C_202D_202E(step) == EInteractionType.MeldMateria) ? (-35265804) : (-35265801));
while (true)
{
int num2 = num;
int num3 = -35265802;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
goto IL_0048;
case 2:
_200E_202D_202A_206B_202B_200C_202B_202A_202D_202B_200B_206D_206A_200B_202C_206C_202B_206D_200D_206F_200D_206C_200C_200D_202D_206B_202A_200D_200F_200E_206B_200F_206C_202A_206C_206A_202D_206A_202D_206B_202E((object)_206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(step), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(87510835));
return new global::_003C_003Ez__ReadOnlySingleElementList<ITask>(new MeldTask(_206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(step).Value, _202D_202C_200D_200E_206C_200B_202B_202A_200F_202C_206C_202D_206B_206C_206E_200E_202D_202D_200B_202C_206F_202C_206A_202B_206E_200C_202A_200F_202E_202B_202E_202E_202A_206E_202C_206E_200F_206C_206E_200C_202E(step)));
case 1:
return Array.Empty<ITask>();
}
continue;
IL_0048:
num = -35265801;
}
}
IEnumerable<ITask> ITaskFactory.CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
{
//ILSpy generated this explicit interface implementation from .override directive in CreateAllTasks
return this.CreateAllTasks(quest, sequence, step);
}
static EInteractionType _206C_206F_206E_206D_200C_200C_200B_202D_202D_206A_202D_206E_202D_206B_206D_200C_202D_200C_202B_206A_202D_200D_206A_206D_202B_202C_200E_206A_202C_206E_200D_202D_202E_200B_202C_200D_202E_202C_202C_202D_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
static uint? _206D_200E_206B_202D_200E_206B_200B_206E_206A_200C_202C_200D_206F_200E_202E_202A_206B_200E_202C_202A_200E_206B_200F_206E_202B_200D_202B_206C_202B_206B_200F_206E_206E_206E_200C_202C_200D_206F_200B_206B_202E(QuestStep P_0)
{
return P_0.ItemId;
}
static void _200E_202D_202A_206B_202B_200C_202B_202A_202D_202B_200B_206D_206A_200B_202C_206C_202B_206D_200D_206F_200D_206C_200C_200D_202D_206B_202A_200D_200F_200E_206B_200F_206C_202A_206C_206A_202D_206A_202D_206B_202E(object P_0, string P_1)
{
ArgumentNullException.ThrowIfNull(P_0, P_1);
}
static uint? _202D_202C_200D_200E_206C_200B_202B_202A_200F_202C_206C_202D_206B_206C_206E_200E_202D_202D_200B_202C_206F_202C_206A_202B_206E_200C_202A_200F_202E_202B_202E_202E_202A_206E_202C_206E_200F_206C_206E_200C_202E(QuestStep P_0)
{
return P_0.DataId;
}
}
internal sealed record MeldTask(uint MateriaItemId, uint? TargetItemId) : ITask
{
[CompilerGenerated]
private Type EqualityContract
{
[CompilerGenerated]
get
{
return _202C_206C_206F_200F_206B_206F_206E_202B_206F_206C_202A_202E_206D_200B_200E_206B_206B_206F_202C_202C_200D_200E_200E_200C_200B_202D_202C_202C_202D_206B_202B_206E_202A_202D_202D_206B_202A_202B_206C_202E(typeof(MeldTask).TypeHandle);
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 1);
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1811893686));
defaultInterpolatedStringHandler.AppendFormatted(MateriaItemId);
string text = defaultInterpolatedStringHandler.ToStringAndClear();
string text2;
if (!TargetItemId.HasValue)
{
text2 = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-87324410);
}
else
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(11, 1);
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1399814468));
defaultInterpolatedStringHandler2.AppendFormatted(TargetItemId);
text2 = defaultInterpolatedStringHandler2.ToStringAndClear();
}
return _202E_202C_202B_206C_202A_206A_206D_200F_206D_206D_202D_200B_202E_200B_202B_200D_206F_200C_202B_200D_206D_200F_200D_206D_202D_202B_202E_206B_202B_200E_202D_202D_202A_200F_202D_200C_202C_200F_206D_202B_202E(text, text2);
}
[MethodImpl(MethodImplOptions.NoInlining)]
[CompilerGenerated]
private bool PrintMembers(StringBuilder builder)
{
_200F_206A_202E_200B_206E_206E_200E_206D_200E_206F_206D_200E_206E_202C_200E_206D_202A_206B_200F_200B_200C_206E_206B_206C_206D_202B_206B_206E_200E_200D_202C_200C_200F_200F_202E_200C_200F_206C_206D_202E_202E();
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1788087081));
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, MateriaItemId.ToString());
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-902104469));
_202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(builder, TargetItemId.ToString());
return true;
}
[CompilerGenerated]
public bool Equals(MeldTask? other)
{
int num = (((object)this == other) ? (-74015245) : (-74015243));
while (true)
{
int num2 = num;
int num3 = -74015241;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
return EqualityComparer<uint?>.Default.Equals(TargetItemId, other.TargetItemId);
case 1:
return false;
case 4:
return true;
case 3:
num = -74015243;
break;
case 6:
num = ((!EqualityComparer<uint>.Default.Equals(MateriaItemId, other.MateriaItemId)) ? (-74015242) : (-74015241));
break;
case 5:
num = ((!_206F_202C_206B_202E_202E_206E_200E_206F_202E_202A_200B_206F_206C_200C_206A_200B_202E_202B_206F_200C_202C_206E_206A_202D_202B_200F_202E_202B_200D_202A_202A_206B_200C_206F_200E_200B_202D_200D_206F_202D_202E(EqualityContract, other.EqualityContract)) ? (-74015242) : (-74015247));
break;
case 2:
num = (((object)other == null) ? (-74015242) : (-74015246));
break;
}
}
}
bool IEquatable<MeldTask>.Equals(MeldTask? other)
{
//ILSpy generated this explicit interface implementation from .override directive in Equals
return this.Equals(other);
}
static Type _202C_206C_206F_200F_206B_206F_206E_202B_206F_206C_202A_202E_206D_200B_200E_206B_206B_206F_202C_202C_200D_200E_200E_200C_200B_202D_202C_202C_202D_206B_202B_206E_202A_202D_202D_206B_202A_202B_206C_202E(RuntimeTypeHandle P_0)
{
return Type.GetTypeFromHandle(P_0);
}
static string _202E_202C_202B_206C_202A_206A_206D_200F_206D_206D_202D_200B_202E_200B_202B_200D_206F_200C_202B_200D_206D_200F_200D_206D_202D_202B_202E_206B_202B_200E_202D_202D_202A_200F_202D_200C_202C_200F_206D_202B_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static void _200F_206A_202E_200B_206E_206E_200E_206D_200E_206F_206D_200E_206E_202C_200E_206D_202A_206B_200F_200B_200C_206E_206B_206C_206D_202B_206B_206E_200E_200D_202C_200C_200F_200F_202E_200C_200F_206C_206D_202E_202E()
{
RuntimeHelpers.EnsureSufficientExecutionStack();
}
static StringBuilder _202B_206C_200B_206F_200E_206D_200F_200B_202E_206F_200D_200C_202D_202E_206D_202E_200F_206F_202A_200C_202E_202D_200E_206A_206B_200B_206B_206F_200B_200E_202E_202D_206D_202A_202E_206E_200B_200C_202D_200F_202E(StringBuilder P_0, string P_1)
{
return P_0.Append(P_1);
}
static bool _206F_202C_206B_202E_202E_206E_200E_206F_202E_202A_200B_206F_206C_200C_206A_200B_202E_202B_206F_200C_202C_206E_206A_202D_202B_200F_202E_202B_200D_202A_202A_206B_200C_206F_200E_200B_202D_200D_206F_202D_202E(Type P_0, Type P_1)
{
return P_0 == P_1;
}
}
internal sealed class DoMeld(IGameGui gameGui, ILogger<DoMeld> logger) : TaskExecutor<MeldTask>()
{
private enum EMeldState
{
OpeningAgent,
WaitingForAgent,
SelectingCategory,
WaitingAfterCategory,
SelectingItem,
WaitingAfterItem,
SelectingMateria,
WaitingForDialog,
Confirming,
WaitingForCompletion
}
private Throttle _throttle;
private int _materiaStartCount;
private unsafe InventoryItem* _targetItem;
private InventoryType _targetInventoryType;
private EMeldState _state;
private long _stateChangedAt;
public override bool HasTimedOut(float timeoutSeconds)
{
return _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E() - _stateChangedAt > (long)(timeoutSeconds * 1000f);
}
private void SetState(EMeldState state)
{
_state = state;
_stateChangedAt = _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E();
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected override bool Start()
{
_materiaStartCount = _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(base.Task.MateriaItemId);
int num = ((_materiaStartCount != 0) ? (-739386602) : (-739386601));
while (true)
{
int num2 = num;
int num3 = -739386603;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 1:
throw new TaskException(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(545128444));
case 4:
SetState(EMeldState.OpeningAgent);
return true;
case 2:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1528987763), new object[1] { base.Task.MateriaItemId });
return false;
case 0:
num = -739386601;
break;
case 3:
num = (FindTargetItem() ? (-739386607) : (-739386604));
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
public unsafe override ETaskResult Update()
{
int num = (_throttle.TryReset(0.5) ? 2029212334 : 2029212339);
int? num9 = default(int?);
int? num8 = default(int?);
int num7 = default(int);
while (true)
{
int num2 = num;
int num3 = 2029212349;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 11:
num = ((!_202E_206C_202B_202B_206D_202B_206F_206E_200C_206D_206D_206E_206B_200E_206A_200F_206B_200E_206F_202D_206E_206A_206C_200F_200D_200C_200D_202A_200E_200B_200E_206E_202D_200C_206B_202E_206A_200D_202D_206E_202E()) ? 2029212348 : 2029212335);
break;
case 22:
SetState(EMeldState.WaitingAfterCategory);
num = 2029212348;
break;
case 24:
goto IL_00fc;
case 23:
num = ((!_206F_206B_206B_202B_206B_200E_200C_206A_206C_206A_206E_200F_200C_200B_200F_200C_200B_200F_206F_206E_202C_200E_202C_206C_200E_202E_206F_206E_200C_202E_202A_206F_206A_206B_202C_206D_202B_202E_200C_202D_202E(num9.Value)) ? 2029212348 : 2029212321);
break;
case 18:
SetState(EMeldState.SelectingCategory);
num = 2029212348;
break;
case 9:
num = 2029212348;
break;
case 3:
_200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-554197545), Array.Empty<object>());
num = 2029212348;
break;
case 12:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1216192232), new object[1] { num8.Value });
SetState(EMeldState.WaitingAfterItem);
num = 2029212348;
break;
case 10:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-15165068), Array.Empty<object>());
SetState(EMeldState.WaitingForCompletion);
num = 2029212348;
break;
case 28:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-775372938), new object[1] { num9.Value });
SetState(EMeldState.WaitingForDialog);
num = 2029212348;
break;
case 7:
num = ((!_206B_202C_206F_206E_200E_206C_200F_200F_206A_206D_206D_206E_206A_202C_206B_206E_206C_202C_206E_200E_202C_202D_202E_206E_206B_200D_206E_206E_206F_200D_200B_200F_200B_202B_200D_206D_206B_200D_202E_202C_202E(num8.Value)) ? 2029212348 : 2029212337);
break;
case 5:
goto IL_025d;
case 20:
SetState(EMeldState.WaitingForAgent);
num = 2029212348;
break;
case 4:
SetState(EMeldState.SelectingItem);
num = 2029212348;
break;
case 26:
goto IL_02ab;
case 14:
return ETaskResult.StillRunning;
case 27:
SetState(EMeldState.Confirming);
num = 2029212348;
break;
case 15:
goto IL_02f5;
case 0:
goto IL_0317;
case 1:
goto IL_0344;
case 21:
goto IL_0346;
case 17:
goto IL_0368;
case 16:
num = 2029212339;
break;
case 13:
goto IL_039c;
case 25:
_200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E((ILogger)logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(1073359256), new object[1] { base.Task.MateriaItemId });
num = 2029212348;
break;
case 2:
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1739389446), new object[3]
{
base.Task.MateriaItemId,
_materiaStartCount,
num7
});
_202C_202E_206F_206C_206C_202E_202D_202B_202E_200F_202E_202C_200D_200F_202B_200C_202C_200D_206E_200C_200E_206C_206E_202A_206D_206C_206B_200F_200C_206B_200F_206E_202E_206A_206E_202E_200B_200E_206F_202C_202E();
return ETaskResult.TaskComplete;
case 6:
SetState(EMeldState.SelectingMateria);
num = 2029212348;
break;
case 19:
num7 = _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(base.Task.MateriaItemId);
num = ((num7 >= _materiaStartCount) ? 2029212341 : 2029212351);
break;
case 8:
{
switch (_state)
{
case EMeldState.WaitingForAgent:
break;
case EMeldState.WaitingAfterItem:
goto IL_00fc;
case EMeldState.WaitingForDialog:
goto IL_025d;
case EMeldState.SelectingMateria:
goto IL_02ab;
case EMeldState.OpeningAgent:
goto IL_02f5;
case EMeldState.SelectingCategory:
goto IL_0317;
case EMeldState.WaitingForCompletion:
goto IL_0344;
case EMeldState.WaitingAfterCategory:
goto IL_0346;
case EMeldState.Confirming:
goto IL_0368;
case EMeldState.SelectingItem:
goto IL_039c;
default:
goto IL_04cf;
}
goto case 11;
}
IL_04cf:
num = 2029212340;
break;
IL_039c:
num8 = _202A_202D_202A_206C_200D_202C_206F_200D_200B_200F_202C_206D_206C_202C_200E_202E_202B_200F_206B_200F_202D_206B_200F_200C_206B_206B_202A_206F_202B_200D_206B_206C_202B_202C_202A_200F_206C_202E_206B_200F_202E(_targetItem);
num = (num8.HasValue ? 2029212346 : 2029212350);
break;
IL_025d:
num = ((!_206B_206D_206F_200C_206D_202A_206E_206A_200F_202A_206F_206B_202A_202E_200C_200D_202B_206C_202B_200B_206B_202C_206C_206B_206A_206D_202A_202B_200B_206F_202A_206C_202A_206C_202E_202E_202B_202C_200E_202B_202E(gameGui)) ? 2029212348 : 2029212326);
break;
IL_0368:
num = ((!_206F_202B_206B_206C_200D_206F_206E_206E_202A_200B_200C_200D_202C_202A_200D_202D_202E_206A_200C_200D_200D_206A_206C_200C_202A_206A_200E_202E_202C_200F_206F_200B_206B_206F_200F_200E_200C_206C_200B_202C_202E(gameGui)) ? 2029212348 : 2029212343);
break;
IL_0346:
num = (_200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E() ? 2029212348 : 2029212345);
break;
IL_00fc:
num = (_200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E() ? 2029212348 : 2029212347);
break;
IL_0344:
return ETaskResult.StillRunning;
IL_0317:
num = ((!_202B_202B_206D_206B_200F_200C_206D_200C_206A_200C_200F_206A_202E_200B_202E_206A_200D_206F_206F_206B_202D_200E_200E_206B_206A_200B_202B_202E_202E_202C_200D_206C_206E_202C_202D_202E_206B_202D_202B_202E((int)_206B_202A_206F_206A_202D_206D_200D_202C_202E_202D_206E_202C_202C_206D_202C_206F_206A_202B_206F_200B_202D_202E_200C_200D_200E_206D_200F_202A_202E_202E_200C_202E_202B_202B_202A_200C_202C_200D_200C_206D_202E(_targetInventoryType))) ? 2029212348 : 2029212331);
break;
IL_02f5:
num = ((!_206B_206B_200C_206F_200F_206C_206D_206B_200F_200D_200D_200F_202C_202D_200E_202B_200B_202E_206E_202D_202A_200D_200D_206A_200C_202E_200E_202C_202B_200F_206E_202C_202E_206D_206E_200F_202C_206A_202C_202E()) ? 2029212348 : 2029212329);
break;
IL_02ab:
num9 = _202A_206E_200B_202E_200D_206C_202B_202E_202C_202B_206A_206B_206A_200E_200D_200E_206C_202D_200C_202D_202B_200F_202E_200B_200B_206F_200E_206D_206F_200B_206E_206F_202C_200F_200F_202D_206B_206E_206A_206F_202E(base.Task.MateriaItemId);
num = (num9.HasValue ? 2029212330 : 2029212324);
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe bool FindTargetItem()
{
InventoryManager* ptr = InventoryManager.Instance();
int num = ((ptr != null) ? (-1479293445) : (-1479293444));
int num5 = default(int);
ReadOnlySpan<InventoryType> readOnlySpan = default(ReadOnlySpan<InventoryType>);
InventoryType inventoryType = default(InventoryType);
InventoryContainer* inventoryContainer = default(InventoryContainer*);
int num6 = default(int);
InventoryItem* inventorySlot = default(InventoryItem*);
while (true)
{
int num2 = num;
int num3 = -1479293451;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 7:
{
int num10 = num5;
num3 = 1;
num4 = num10;
int num11 = num4 ^ num3;
int num12 = num4 & num3;
num5 = num11 + (num12 + num12);
num = -1479293456;
break;
}
case 5:
num = ((num5 < readOnlySpan.Length) ? (-1479293442) : (-1479293455));
break;
case 11:
inventoryType = readOnlySpan[num5];
inventoryContainer = ptr->GetInventoryContainer(inventoryType);
num = ((inventoryContainer == null) ? (-1479293454) : (-1479293452));
break;
case 1:
num6 = 0;
num = -1479293441;
break;
case 13:
_targetItem = inventorySlot;
_targetInventoryType = inventoryType;
_200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E((ILogger)logger, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-1804696669), new object[3]
{
inventorySlot->ItemId,
inventoryType,
num6
});
return true;
case 12:
num = -1479293444;
break;
case 2:
inventorySlot = inventoryContainer->GetInventorySlot(num6);
num = ((inventorySlot == null) ? (-1479293450) : (-1479293443));
break;
case 14:
readOnlySpan = new InventoryType[15]
{
InventoryType.Inventory1,
InventoryType.Inventory2,
InventoryType.Inventory3,
InventoryType.Inventory4,
InventoryType.ArmoryMainHand,
InventoryType.ArmoryOffHand,
InventoryType.ArmoryHead,
InventoryType.ArmoryBody,
InventoryType.ArmoryHands,
InventoryType.ArmoryLegs,
InventoryType.ArmoryFeets,
InventoryType.ArmoryEar,
InventoryType.ArmoryNeck,
InventoryType.ArmoryWrist,
InventoryType.ArmoryRings
};
num5 = 0;
num = -1479293456;
break;
case 0:
num = ((inventorySlot->ItemId != base.Task.TargetItemId.Value) ? (-1479293450) : (-1479293448));
break;
case 4:
return false;
case 9:
return false;
case 6:
num = ((!base.Task.TargetItemId.HasValue) ? (-1479293448) : (-1479293451));
break;
case 10:
num = ((num6 < inventoryContainer->Size) ? (-1479293449) : (-1479293454));
break;
case 3:
{
int num7 = num6;
num3 = 1;
num4 = num7;
int num8 = num4 ^ num3;
int num9 = num4 & num3;
num6 = num8 + (num9 + num9);
num = -1479293441;
break;
}
case 8:
num = ((inventorySlot->ItemId == 0) ? (-1479293450) : (-1479293453));
break;
}
}
}
public override bool ShouldInterruptOnDamage()
{
return false;
}
static long _206E_200F_202E_202E_200F_202B_200C_200E_206E_202C_202B_202A_200E_200D_206E_200C_200C_206F_202A_200E_206A_200D_200B_202C_202C_206E_202A_202C_206A_206F_200B_206F_202B_202B_200C_206C_200D_202D_200D_200C_202E()
{
return Environment.TickCount64;
}
static int _202D_200B_206A_206C_200F_206D_200E_202B_202A_202B_200F_200D_206A_206E_202B_200F_206E_206B_202C_200E_202A_202D_206C_202B_202D_202A_200F_202C_200D_202D_200E_202C_206E_206B_202B_200D_206A_206A_200D_200D_202E(uint P_0)
{
return MateriaHelper.CountMateriaInInventory(P_0);
}
static void _200D_202C_206C_200B_206C_202C_202C_200D_202A_200F_202C_202E_200C_206A_206E_202A_206D_206C_202D_206C_206D_202E_200E_206C_206A_206B_200E_200F_206E_206B_206B_200B_200E_200B_202C_200B_202E_202E_202E_200E_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogInformation(P_1, P_2);
}
static void _202C_202E_206F_206C_206C_202E_202D_202B_202E_200F_202E_202C_200D_200F_202B_200C_202C_200D_206E_200C_200E_206C_206E_202A_206D_206C_206B_200F_200C_206B_200F_206E_202E_206A_206E_202E_200B_200E_206F_202C_202E()
{
MeldActions.CloseMeldAgent();
}
static bool _206B_206B_200C_206F_200F_206C_206D_206B_200F_200D_200D_200F_202C_202D_200E_202B_200B_202E_206E_202D_202A_200D_200D_206A_200C_202E_200E_202C_202B_200F_206E_202C_202E_206D_206E_200F_202C_206A_202C_202E()
{
return MeldActions.TryOpenMeldAgent();
}
static bool _202E_206C_202B_202B_206D_202B_206F_206E_200C_206D_206D_206E_206B_200E_206A_200F_206B_200E_206F_202D_206E_206A_206C_200F_200D_200C_200D_202A_200E_200B_200E_206E_202D_200C_206B_202E_206A_200D_202D_206E_202E()
{
return MeldActions.IsMeldAgentReady();
}
static AgentMateriaAttach.FilterCategory _206B_202A_206F_206A_202D_206D_200D_202C_202E_202D_206E_202C_202C_206D_202C_206F_206A_202B_206F_200B_202D_202E_200C_200D_200E_206D_200F_202A_202E_202E_200C_202E_202B_202B_202A_200C_202C_200D_200C_206D_202E(InventoryType P_0)
{
return MeldActions.GetFilterCategory(P_0);
}
static bool _202B_202B_206D_206B_200F_200C_206D_200C_206A_200C_200F_206A_202E_200B_202E_206A_200D_206F_206F_206B_202D_200E_200E_206B_206A_200B_202B_202E_202E_202C_200D_206C_206E_202C_202D_202E_206B_202D_202B_202E(int P_0)
{
return MeldActions.TrySelectItemCategory(P_0);
}
static bool _200C_202D_206C_202C_202A_200F_202E_206B_200F_200E_200D_206A_206F_200F_200D_206D_200F_206D_206A_202D_202A_200C_200D_206B_206D_200B_200E_206E_206D_206B_202C_206C_200D_206D_200D_206A_200E_202A_206B_202C_202E()
{
return MeldActions.IsAgentLoading();
}
unsafe static int? _202A_202D_202A_206C_200D_202C_206F_200D_200B_200F_202C_206D_206C_202C_200E_202E_202B_200F_206B_200F_202D_206B_200F_200C_206B_206B_202A_206F_202B_200D_206B_206C_202B_202C_202A_200F_206C_202E_206B_200F_202E(InventoryItem* P_0)
{
return MeldActions.FindItemIndex(P_0);
}
static void _200D_202C_200B_206B_202B_206E_202B_200B_202C_206D_202C_202A_200D_202B_202C_202B_206D_206E_206D_202B_206D_202A_202E_202A_200B_206B_200B_202A_202D_202B_202B_202D_202A_206C_200C_206E_206C_206B_202C_200C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogWarning(P_1, P_2);
}
static bool _206B_202C_206F_206E_200E_206C_200F_200F_206A_206D_206D_206E_206A_202C_206B_206E_206C_202C_206E_200E_202C_202D_202E_206E_206B_200D_206E_206E_206F_200D_200B_200F_200B_202B_200D_206D_206B_200D_202E_202C_202E(int P_0)
{
return MeldActions.TrySelectItem(P_0);
}
static int? _202A_206E_200B_202E_200D_206C_202B_202E_202C_202B_206A_206B_206A_200E_200D_200E_206C_202D_200C_202D_202B_200F_202E_200B_200B_206F_200E_206D_206F_200B_206E_206F_202C_200F_200F_202D_206B_206E_206A_206F_202E(uint P_0)
{
return MeldActions.FindMateriaIndex(P_0);
}
static bool _206F_206B_206B_202B_206B_200E_200C_206A_206C_206A_206E_200F_200C_200B_200F_200C_200B_200F_206F_206E_202C_200E_202C_206C_200E_202E_206F_206E_200C_202E_202A_206F_206A_206B_202C_206D_202B_202E_200C_202D_202E(int P_0)
{
return MeldActions.TrySelectMateria(P_0);
}
static bool _206B_206D_206F_200C_206D_202A_206E_206A_200F_202A_206F_206B_202A_202E_200C_200D_202B_206C_202B_200B_206B_202C_206C_206B_206A_206D_202A_202B_200B_206F_202A_206C_202A_206C_202E_202E_202B_202C_200E_202B_202E(IGameGui P_0)
{
return MeldActions.IsMeldDialogReady(P_0);
}
static bool _206F_202B_206B_206C_200D_206F_206E_206E_202A_200B_200C_200D_202C_202A_200D_202D_202E_206A_200C_200D_200D_206A_206C_200C_202A_206A_200E_202E_202C_200F_206F_200B_206B_206F_200F_200E_200C_206C_200B_202C_202E(IGameGui P_0)
{
return MeldActions.TryConfirmMeld(P_0);
}
}
}

Some files were not shown because too many files have changed in this diff Show more