1844 lines
79 KiB
C#
1844 lines
79 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using Dalamud.Game.ClientState.Conditions;
|
|
using Dalamud.Game.ClientState.Objects.SubKinds;
|
|
using Dalamud.Game.ClientState.Objects.Types;
|
|
using Dalamud.Plugin.Services;
|
|
using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions;
|
|
using FFXIVClientStructs.FFXIV.Client.Game;
|
|
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
|
|
using LLib.GameData;
|
|
using Lumina.Excel;
|
|
using Lumina.Excel.Sheets;
|
|
using Microsoft.Extensions.Logging;
|
|
using Questionable.Data;
|
|
using Questionable.External;
|
|
using Questionable.Functions;
|
|
using Questionable.Model;
|
|
using Questionable.Model.Questing;
|
|
|
|
namespace Questionable.Controller;
|
|
|
|
internal sealed class QuestPriorityResolver
|
|
{
|
|
[Serializable]
|
|
[CompilerGenerated]
|
|
private sealed class _003C_003Ec
|
|
{
|
|
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
|
|
|
public static Func<QuestInfo, ushort> _003C_003E9__26_1;
|
|
|
|
public static Func<QuestInfo, ElementId> _003C_003E9__27_0;
|
|
|
|
public static Func<PriorityQuestInfo, ElementId> _003C_003E9__27_2;
|
|
|
|
public static Func<QuestInfo, ushort> _003C_003E9__29_1;
|
|
|
|
public static Func<QuestInfo, ushort> _003C_003E9__29_3;
|
|
|
|
public static Func<PriorityQuestInfo, bool> _003C_003E9__29_4;
|
|
|
|
public static Func<EClassJob, bool> _003C_003E9__29_7;
|
|
|
|
public static Func<PriorityQuestInfo, ElementId> _003C_003E9__29_6;
|
|
|
|
public static Func<(ElementId Quest, byte Sequence), bool> _003C_003E9__31_5;
|
|
|
|
public static Func<PriorityQuestInfo, bool> _003C_003E9__32_0;
|
|
|
|
public static Func<PriorityQuestInfo, ElementId> _003C_003E9__32_1;
|
|
|
|
internal ushort _003CTryResolveInProgressClassQuest_003Eb__26_1(QuestInfo x)
|
|
{
|
|
return x.Level;
|
|
}
|
|
|
|
internal ElementId _003CTryResolveClassJobPriority_003Eb__27_0(QuestInfo x)
|
|
{
|
|
return x.QuestId;
|
|
}
|
|
|
|
internal ElementId _003CTryResolveClassJobPriority_003Eb__27_2(PriorityQuestInfo x)
|
|
{
|
|
return x.QuestId;
|
|
}
|
|
|
|
internal ushort _003CTryResolveNewClassQuest_003Eb__29_1(QuestInfo x)
|
|
{
|
|
return x.Level;
|
|
}
|
|
|
|
internal ushort _003CTryResolveNewClassQuest_003Eb__29_3(QuestInfo x)
|
|
{
|
|
return x.Level;
|
|
}
|
|
|
|
internal bool _003CTryResolveNewClassQuest_003Eb__29_4(PriorityQuestInfo x)
|
|
{
|
|
return x.IsAvailable;
|
|
}
|
|
|
|
internal bool _003CTryResolveNewClassQuest_003Eb__29_7(EClassJob job)
|
|
{
|
|
int num = (_200C_200E_202A_206B_200D_206D_200F_206B_200D_202C_202D_202A_202D_206C_200F_206C_206D_200E_200E_202B_202C_206C_206E_202B_206B_200D_206D_206C_200C_200C_202C_206B_200F_206A_200E_200D_206C_206F_202A_206C_202E(job) ? 1077632249 : 1077632248);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 1077632249;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 0:
|
|
return false;
|
|
case 1:
|
|
return !_206C_200C_202D_200E_206E_202C_206F_202D_200F_200E_206C_200B_202B_202E_206C_202E_200F_200E_200D_202A_206B_200E_206D_200C_202A_200F_202E_202D_200D_202D_202B_200C_202E_202A_200E_206B_206D_200E_200C_206C_202E(job);
|
|
case 2:
|
|
goto IL_0052;
|
|
}
|
|
continue;
|
|
IL_0052:
|
|
num = 1077632248;
|
|
}
|
|
}
|
|
|
|
internal ElementId _003CTryResolveNewClassQuest_003Eb__29_6(PriorityQuestInfo x)
|
|
{
|
|
return x.QuestId;
|
|
}
|
|
|
|
internal bool _003CTryResolveTrackedQuest_003Eb__31_5((ElementId Quest, byte Sequence) x)
|
|
{
|
|
return x.Sequence < byte.MaxValue;
|
|
}
|
|
|
|
internal bool _003CTryResolveAutoPriority_003Eb__32_0(PriorityQuestInfo x)
|
|
{
|
|
return x.IsAvailable;
|
|
}
|
|
|
|
internal ElementId _003CTryResolveAutoPriority_003Eb__32_1(PriorityQuestInfo x)
|
|
{
|
|
return x.QuestId;
|
|
}
|
|
|
|
static bool _200C_200E_202A_206B_200D_206D_200F_206B_200D_202C_202D_202A_202D_206C_200F_206C_206D_200E_200E_202B_202C_206C_206E_202B_206B_200D_206D_206C_200C_200C_202C_206B_200F_206A_200E_200D_206C_206F_202A_206C_202E(EClassJob P_0)
|
|
{
|
|
return P_0.IsCrafter();
|
|
}
|
|
|
|
static bool _206C_200C_202D_200E_206E_202C_206F_202D_200F_200E_206C_200B_202B_202E_206C_202E_200F_200E_200D_202A_206B_200E_206D_200C_202A_200F_202E_202D_200D_202D_202B_200C_202E_202A_200E_206B_206D_200E_200C_206C_202E(EClassJob P_0)
|
|
{
|
|
return P_0.IsGatherer();
|
|
}
|
|
}
|
|
|
|
[CompilerGenerated]
|
|
private sealed class _003C_003Ec__DisplayClass31_2
|
|
{
|
|
public (ElementId Quest, byte Sequence) x;
|
|
|
|
internal bool _003CTryResolveTrackedQuest_003Eb__2((uint ContentFinderConditionId, ElementId QuestId, int Sequence) y)
|
|
{
|
|
int num = ((!_202B_200B_200D_206E_202C_206F_202A_202E_206D_200C_206C_206A_202C_206B_202D_200E_206F_206D_206F_202D_202E_202A_202D_206D_206F_206C_206F_202E_200B_202E_200B_206D_202D_200D_206E_206D_200C_206F_200F_202D_202E(x.Quest, y.QuestId)) ? (-1426961220) : (-1426961219));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1426961220;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 0:
|
|
return false;
|
|
case 1:
|
|
return x.Sequence == y.Sequence;
|
|
case 2:
|
|
goto IL_006e;
|
|
}
|
|
continue;
|
|
IL_006e:
|
|
num = -1426961219;
|
|
}
|
|
}
|
|
|
|
static bool _202B_200B_200D_206E_202C_206F_202A_202E_206D_200C_206C_206A_202C_206B_202D_200E_206F_206D_206F_202D_202E_202A_202D_206D_206F_206C_206F_202E_200B_202E_200B_206D_202D_200D_206E_206D_200C_206F_200F_202D_202E(ElementId P_0, ElementId P_1)
|
|
{
|
|
return P_0 == P_1;
|
|
}
|
|
}
|
|
|
|
private readonly QuestFunctions _questFunctions;
|
|
|
|
private readonly QuestRegistry _questRegistry;
|
|
|
|
private readonly QuestData _questData;
|
|
|
|
private readonly AlliedSocietyData _alliedSocietyData;
|
|
|
|
private readonly AlliedSocietyQuestFunctions _alliedSocietyQuestFunctions;
|
|
|
|
private readonly Configuration _configuration;
|
|
|
|
private readonly IObjectTable _objectTable;
|
|
|
|
private readonly ICondition _condition;
|
|
|
|
private readonly IClientState _clientState;
|
|
|
|
private readonly AutoDutyIpc _autoDutyIpc;
|
|
|
|
private readonly ILogger<QuestPriorityResolver> _logger;
|
|
|
|
private readonly HashSet<ushort> _alreadyLoggedUnobtainableQuests = new HashSet<ushort>();
|
|
|
|
private ElementId? _lastLoggedLevelLockedMsq;
|
|
|
|
private ElementId? _lastLoggedForcedClassQuest;
|
|
|
|
private ElementId? _lastLoggedRegistryClassQuest;
|
|
|
|
private ElementId? _lastLoggedPriorityClassQuest;
|
|
|
|
private bool _loggedNoClassQuestsAvailable;
|
|
|
|
private bool _loggedAdventurerClass;
|
|
|
|
public QuestPriorityResolver(QuestFunctions questFunctions, QuestRegistry questRegistry, QuestData questData, AlliedSocietyData alliedSocietyData, AlliedSocietyQuestFunctions alliedSocietyQuestFunctions, Configuration configuration, IObjectTable objectTable, ICondition condition, IClientState clientState, AutoDutyIpc autoDutyIpc, ILogger<QuestPriorityResolver> logger)
|
|
{
|
|
_questFunctions = questFunctions;
|
|
_questRegistry = questRegistry;
|
|
_questData = questData;
|
|
_alliedSocietyData = alliedSocietyData;
|
|
_alliedSocietyQuestFunctions = alliedSocietyQuestFunctions;
|
|
_configuration = configuration;
|
|
_objectTable = objectTable;
|
|
_condition = condition;
|
|
_clientState = clientState;
|
|
_autoDutyIpc = autoDutyIpc;
|
|
_logger = logger;
|
|
}
|
|
|
|
public QuestReference GetCurrentQuest()
|
|
{
|
|
QuestResolution questResolution = ResolveFromGameState(new List<Questionable.Model.Quest>(), QuestController.EAutomationType.Automatic);
|
|
int num = ((!questResolution.HasQuest) ? (-1148417368) : (-1148417365));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1148417366;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 2:
|
|
return QuestReference.NoQuest(questResolution.MsqState);
|
|
case 1:
|
|
return new QuestReference(questResolution.QuestId, questResolution.Sequence, questResolution.MsqState);
|
|
case 0:
|
|
goto IL_007e;
|
|
}
|
|
continue;
|
|
IL_007e:
|
|
num = -1148417365;
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public QuestResolution Resolve(QuestSlots slots)
|
|
{
|
|
int num = ((slots.Simulated == null) ? (-1753726603) : (-1753726602));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1753726608;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 1:
|
|
num = ((slots.Gathering == null) ? (-1753726604) : (-1753726608));
|
|
break;
|
|
case 6:
|
|
return QuestResolution.Slot(EQuestResolutionType.Simulated, slots.Simulated, 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>(-305083691));
|
|
case 2:
|
|
num = -1753726602;
|
|
break;
|
|
case 5:
|
|
num = ((slots.Next == null) ? (-1753726607) : (-1753726605));
|
|
break;
|
|
case 0:
|
|
{
|
|
QuestController.QuestProgress? gathering = slots.Gathering;
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(16, 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>(-643110900));
|
|
defaultInterpolatedStringHandler2.AppendFormatted(slots.Gathering.Quest.Id);
|
|
return QuestResolution.Slot(EQuestResolutionType.GatheringQuest, gathering, defaultInterpolatedStringHandler2.ToStringAndClear());
|
|
}
|
|
case 3:
|
|
{
|
|
QuestController.QuestProgress? next = slots.Next;
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(11, 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>(1301444564));
|
|
defaultInterpolatedStringHandler.AppendFormatted(slots.Next.Quest.Id);
|
|
return QuestResolution.Slot(EQuestResolutionType.NextQuest, next, defaultInterpolatedStringHandler.ToStringAndClear());
|
|
}
|
|
case 4:
|
|
return ResolveFromGameState(slots.ManualPriorityQuests, slots.AutomationType);
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestResolution ResolveFromGameState(List<Questionable.Model.Quest> manualPriorityQuests, QuestController.EAutomationType automationType)
|
|
{
|
|
bool allowNewMsq = automationType != QuestController.EAutomationType.SingleQuestB;
|
|
QuestReference resolvedMsqQuest = GetResolvedMsqQuest();
|
|
IPlayerCharacter playerCharacter = _206C_202B_206B_200C_206A_200C_202D_206E_200C_206C_202B_202E_206E_202E_200D_202A_202B_200D_206D_206B_202C_200F_202D_206C_206D_202C_200E_202D_206D_200D_200E_202C_200E_202D_202B_200E_206F_206E_206B_206D_202E(_objectTable);
|
|
int num = ((playerCharacter != null) ? _202D_206D_206C_206A_202B_202A_200C_206E_200C_200F_200F_202D_202A_206C_200B_202B_200D_200C_200D_206D_206A_200E_200B_202A_200B_206E_200C_202E_200C_202C_200E_206C_206C_206A_206B_200B_202C_202D_200B_206D_202E((ICharacter)playerCharacter) : 0);
|
|
IPlayerCharacter playerCharacter2 = _206C_202B_206B_200C_206A_200C_202D_206E_200C_206C_202B_202E_206E_202E_200D_202A_202B_200D_206D_206B_202C_200F_202D_206C_206D_202C_200E_202D_206D_200D_200E_202C_200E_202D_202B_200E_206F_206E_206B_206D_202E(_objectTable);
|
|
uint? num2 = ((playerCharacter2 != null) ? new uint?(_202D_206D_202A_200E_200D_202B_200C_202A_200B_202B_200C_202A_206A_200F_206C_200B_200F_202E_206F_202D_206F_206F_200D_206A_202C_202D_200D_206E_202E_202A_202A_200F_206D_206C_206B_202B_202C_206E_200F_206E_202E((ICharacter)playerCharacter2).RowId) : ((uint?)null));
|
|
int num3 = (num2.HasValue ? 990805798 : 990805822);
|
|
QuestResolution? questResolution = default(QuestResolution?);
|
|
EClassJob valueOrDefault = default(EClassJob);
|
|
while (true)
|
|
{
|
|
int num4 = num3;
|
|
int num5 = 990805812;
|
|
int num6 = num4;
|
|
int num7 = num6 + num5;
|
|
int num8 = num6 & num5;
|
|
EClassJob? obj;
|
|
EClassJob? eClassJob;
|
|
switch (num7 - (num8 + num8))
|
|
{
|
|
case 8:
|
|
return questResolution.GetValueOrDefault();
|
|
case 1:
|
|
num3 = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(resolvedMsqQuest.CurrentQuest, (ElementId)null)) ? 990805810 : 990805800);
|
|
break;
|
|
case 22:
|
|
questResolution = TryResolveClassJobPriority(valueOrDefault, resolvedMsqQuest.State);
|
|
num3 = ((!questResolution.HasValue) ? 990805813 : 990805823);
|
|
break;
|
|
case 25:
|
|
num3 = (_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(resolvedMsqQuest.CurrentQuest, (ElementId)null) ? 990805815 : 990805818);
|
|
break;
|
|
case 16:
|
|
questResolution = TryResolveLevelingMode(num, automationType, resolvedMsqQuest.State);
|
|
num3 = ((!questResolution.HasValue) ? 990805812 : 990805804);
|
|
break;
|
|
case 21:
|
|
questResolution = TryResolveTrackedQuest(resolvedMsqQuest.State);
|
|
num3 = ((!questResolution.HasValue) ? 990805817 : 990805816);
|
|
break;
|
|
case 13:
|
|
questResolution = TryResolveAutoPriority(resolvedMsqQuest.State);
|
|
num3 = ((!questResolution.HasValue) ? 990805819 : 990805792);
|
|
break;
|
|
case 10:
|
|
obj = null;
|
|
goto IL_030f;
|
|
case 4:
|
|
_202B_202C_200B_202B_200F_200B_202E_206B_206C_206B_200E_206B_206C_206E_200F_200B_206B_202C_206E_206F_206A_202A_202D_200C_206E_202B_200B_202E_206D_202A_206D_200C_206A_200B_200D_206A_206D_206F_206E_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>(1771545689), new object[2] { resolvedMsqQuest.CurrentQuest, num });
|
|
_lastLoggedLevelLockedMsq = resolvedMsqQuest.CurrentQuest;
|
|
_loggedNoClassQuestsAvailable = false;
|
|
_loggedAdventurerClass = false;
|
|
num3 = 990805807;
|
|
break;
|
|
case 9:
|
|
questResolution = TryResolveInProgressClassQuest(valueOrDefault, resolvedMsqQuest.State);
|
|
num3 = ((!questResolution.HasValue) ? 990805794 : 990805820);
|
|
break;
|
|
case 19:
|
|
num3 = 990805822;
|
|
break;
|
|
case 26:
|
|
return questResolution.GetValueOrDefault();
|
|
case 18:
|
|
obj = (EClassJob)num2.GetValueOrDefault();
|
|
goto IL_030f;
|
|
case 7:
|
|
return questResolution.GetValueOrDefault();
|
|
case 14:
|
|
num3 = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(resolvedMsqQuest.CurrentQuest) != 0) ? 990805814 : 990805815);
|
|
break;
|
|
case 27:
|
|
questResolution = TryResolveNewClassQuest(valueOrDefault, num, resolvedMsqQuest.State);
|
|
num3 = ((!questResolution.HasValue) ? 990805796 : 990805811);
|
|
break;
|
|
case 20:
|
|
{
|
|
QuestResolution valueOrDefault4 = questResolution.GetValueOrDefault();
|
|
return ApplyQuestRedirects(valueOrDefault4);
|
|
}
|
|
case 2:
|
|
return QuestResolution.None(resolvedMsqQuest.State, 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>(170717891));
|
|
case 29:
|
|
{
|
|
QuestResolution valueOrDefault3 = questResolution.GetValueOrDefault();
|
|
return ApplyQuestRedirects(valueOrDefault3);
|
|
}
|
|
case 6:
|
|
_lastLoggedLevelLockedMsq = null;
|
|
_lastLoggedForcedClassQuest = null;
|
|
_lastLoggedRegistryClassQuest = null;
|
|
_lastLoggedPriorityClassQuest = null;
|
|
_loggedNoClassQuestsAvailable = false;
|
|
_loggedAdventurerClass = false;
|
|
questResolution = TryResolveMsqImmediate(resolvedMsqQuest, allowNewMsq);
|
|
num3 = ((!questResolution.HasValue) ? 990805793 : 990805809);
|
|
break;
|
|
case 12:
|
|
{
|
|
QuestResolution valueOrDefault2 = questResolution.GetValueOrDefault();
|
|
return ApplyQuestRedirects(valueOrDefault2);
|
|
}
|
|
case 23:
|
|
num3 = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(_lastLoggedLevelLockedMsq, resolvedMsqQuest.CurrentQuest)) ? 990805807 : 990805808);
|
|
break;
|
|
case 28:
|
|
num3 = ((!IsMsqLevelLocked(resolvedMsqQuest, num, automationType)) ? 990805810 : 990805795);
|
|
break;
|
|
case 5:
|
|
return questResolution.GetValueOrDefault();
|
|
case 17:
|
|
return questResolution.GetValueOrDefault();
|
|
case 11:
|
|
return questResolution.GetValueOrDefault();
|
|
case 15:
|
|
questResolution = TryResolveMsqFallback(resolvedMsqQuest, allowNewMsq);
|
|
num3 = ((!questResolution.HasValue) ? 990805805 : 990805797);
|
|
break;
|
|
case 3:
|
|
questResolution = TryResolveStartingCity(resolvedMsqQuest.State);
|
|
num3 = ((!questResolution.HasValue) ? 990805814 : 990805806);
|
|
break;
|
|
case 0:
|
|
return QuestResolution.None(MainScenarioQuestState.Unavailable, 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>(-1554700140));
|
|
case 24:
|
|
{
|
|
return questResolution.GetValueOrDefault();
|
|
}
|
|
IL_030f:
|
|
eClassJob = obj;
|
|
valueOrDefault = eClassJob.GetValueOrDefault();
|
|
questResolution = TryResolveManualPriority(manualPriorityQuests, resolvedMsqQuest.State);
|
|
num3 = ((!questResolution.HasValue) ? 990805821 : 990805801);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestReference GetResolvedMsqQuest()
|
|
{
|
|
QuestReference questReference = _questFunctions.GetMainScenarioQuest().Item1;
|
|
int num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(questReference.CurrentQuest, (ElementId)null)) ? (-1219372527) : (-1219372523));
|
|
QuestId questId = default(QuestId);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1219372524;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 4:
|
|
num = -1219372523;
|
|
break;
|
|
case 2:
|
|
questReference = QuestReference.NoQuest(questReference.State);
|
|
num = -1219372527;
|
|
break;
|
|
case 1:
|
|
num = (_questRegistry.IsKnownQuest(questReference.CurrentQuest) ? (-1219372527) : (-1219372524));
|
|
break;
|
|
case 6:
|
|
num = ((!_alreadyLoggedUnobtainableQuests.Add(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E((ElementId)questId))) ? (-1219372522) : (-1219372521));
|
|
break;
|
|
case 0:
|
|
questId = questReference.CurrentQuest as QuestId;
|
|
num = (((object)questId == null) ? (-1219372522) : (-1219372526));
|
|
break;
|
|
case 5:
|
|
return ApplyMsqSpecialCases(questReference);
|
|
case 3:
|
|
_206E_206E_200E_206F_202B_200E_202D_206E_202B_206B_206D_202E_206F_202B_200B_200F_200B_206A_200E_206E_206B_206B_206D_200D_206E_206D_200C_200C_200C_200B_202B_206E_202C_200D_206C_202C_202C_206E_206C_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>(2137239165), new object[1] { questReference.CurrentQuest });
|
|
num = -1219372522;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
private QuestReference ApplyMsqSpecialCases(QuestReference msqQuest)
|
|
{
|
|
msqQuest.Deconstruct(out ElementId CurrentQuest, out byte Sequence, out MainScenarioQuestState State);
|
|
ElementId elementId = CurrentQuest;
|
|
byte sequence = Sequence;
|
|
MainScenarioQuestState state = State;
|
|
int num = (_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(elementId, (ElementId)null) ? 2062708693 : 2062708697);
|
|
ushort num7 = default(ushort);
|
|
ushort num8 = default(ushort);
|
|
QuestId questId = default(QuestId);
|
|
QuestReference result = default(QuestReference);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 2062708702;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 25:
|
|
num = ((!_questFunctions.IsQuestComplete(elementId)) ? 2062708701 : 2062708700);
|
|
break;
|
|
case 16:
|
|
num7 = num8;
|
|
num = ((num7 == 0) ? 2062708685 : 2062708674);
|
|
break;
|
|
case 23:
|
|
return new QuestReference(_202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E(num7), QuestManager.GetQuestSequence(num7), state);
|
|
case 27:
|
|
num8 = 701;
|
|
num = 2062708686;
|
|
break;
|
|
case 12:
|
|
num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId) != 3856) ? 2062708685 : 2062708694);
|
|
break;
|
|
case 18:
|
|
questId = _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)802);
|
|
num = ((!_questFunctions.IsQuestAccepted(questId)) ? 2062708692 : 2062708702);
|
|
break;
|
|
case 19:
|
|
num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId) != 801) ? 2062708692 : 2062708684);
|
|
break;
|
|
case 4:
|
|
goto IL_01c8;
|
|
case 28:
|
|
num = (QuestManager.IsQuestComplete(num7) ? 2062708685 : 2062708681);
|
|
break;
|
|
case 6:
|
|
result = QuestReference.NoQuest(MainScenarioQuestState.Unavailable);
|
|
num = 2062708680;
|
|
break;
|
|
case 13:
|
|
num = (_questFunctions.IsQuestAccepted(elementId) ? 2062708700 : 2062708679);
|
|
break;
|
|
case 26:
|
|
num = 2062708689;
|
|
break;
|
|
case 20:
|
|
result = new QuestReference(_202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)680), 0, state);
|
|
num = 2062708680;
|
|
break;
|
|
case 14:
|
|
num = 2062708696;
|
|
break;
|
|
case 24:
|
|
goto IL_0273;
|
|
case 22:
|
|
return result;
|
|
case 21:
|
|
num = 2062708697;
|
|
break;
|
|
case 10:
|
|
return msqQuest;
|
|
case 3:
|
|
switch (_configuration.General.GrandCompany)
|
|
{
|
|
case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.TwinAdder:
|
|
break;
|
|
case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.ImmortalFlames:
|
|
goto IL_0273;
|
|
default:
|
|
goto IL_02ca;
|
|
case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.Maelstrom:
|
|
goto IL_0351;
|
|
}
|
|
goto case 20;
|
|
case 9:
|
|
goto IL_02d6;
|
|
case 1:
|
|
num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId) != 681) ? 2062708690 : 2062708691);
|
|
break;
|
|
case 15:
|
|
num8 = 0;
|
|
num = 2062708686;
|
|
break;
|
|
case 2:
|
|
return new QuestReference(elementId, sequence, state);
|
|
case 17:
|
|
switch ((FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany)_200C_206C_202C_202E_206B_206B_200E_206C_200D_206D_206C_200E_206A_202B_206B_202B_202E_202D_206B_206E_200B_200F_206B_202E_202A_202A_206A_206D_202C_200D_200F_200F_202C_200D_206C_200B_202D_206C_206E_202E())
|
|
{
|
|
case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.Maelstrom:
|
|
break;
|
|
case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.ImmortalFlames:
|
|
goto IL_01c8;
|
|
case FFXIVClientStructs.FFXIV.Client.UI.Agent.GrandCompany.TwinAdder:
|
|
goto IL_02d6;
|
|
default:
|
|
goto IL_0345;
|
|
}
|
|
goto case 27;
|
|
case 5:
|
|
goto IL_0351;
|
|
case 7:
|
|
num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId) != 0) ? 2062708703 : 2062708693);
|
|
break;
|
|
case 8:
|
|
num = (_200E_202A_200B_206E_206D_200B_206F_202D_206D_202A_206F_206A_200D_206E_206A_202D_202D_206E_202A_202C_200F_202A_202E_202A_200B_200C_200D_202C_206E_200E_206A_200C_206C_206D_206D_206B_200D_206A_200C_200C_202E(1u) ? 2062708685 : 2062708687);
|
|
break;
|
|
case 11:
|
|
return msqQuest;
|
|
case 0:
|
|
{
|
|
return new QuestReference(questId, QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E((ElementId)questId)), state);
|
|
}
|
|
IL_01c8:
|
|
num8 = 702;
|
|
num = 2062708686;
|
|
break;
|
|
IL_0345:
|
|
num = 2062708676;
|
|
break;
|
|
IL_02d6:
|
|
num8 = 700;
|
|
num = 2062708686;
|
|
break;
|
|
IL_0351:
|
|
result = new QuestReference(_202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)681), 0, state);
|
|
num = 2062708680;
|
|
break;
|
|
IL_02ca:
|
|
num = 2062708688;
|
|
break;
|
|
IL_0273:
|
|
result = new QuestReference(_202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)682), 0, state);
|
|
num = 2062708680;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestResolution ApplyQuestRedirects(QuestResolution resolution)
|
|
{
|
|
ElementId questId = resolution.QuestId;
|
|
int num = (((object)questId == null) ? (-1525048564) : (-1525048561));
|
|
QuestId questId2 = default(QuestId);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1525048564;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 2:
|
|
questId2 = _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)802);
|
|
num = ((!_questFunctions.IsQuestAccepted(questId2)) ? (-1525048564) : (-1525048563));
|
|
break;
|
|
case 3:
|
|
num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(questId) != 801) ? (-1525048564) : (-1525048562));
|
|
break;
|
|
case 4:
|
|
num = -1525048561;
|
|
break;
|
|
case 1:
|
|
return resolution with
|
|
{
|
|
QuestId = questId2,
|
|
Sequence = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E((ElementId)questId2)),
|
|
DebugReason = 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>(1290516416)
|
|
};
|
|
case 0:
|
|
return resolution;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestResolution? TryResolveManualPriority(List<Questionable.Model.Quest> manualPriorityQuests, MainScenarioQuestState msqState)
|
|
{
|
|
int num = ((manualPriorityQuests.Count != 0) ? 1342469805 : 1342469803);
|
|
(ElementId, byte) tuple = default((ElementId, byte));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 1342469807;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 3:
|
|
{
|
|
ElementId item = tuple.Item1;
|
|
byte item2 = tuple.Item2;
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 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>(822211932));
|
|
defaultInterpolatedStringHandler.AppendFormatted(tuple.Item1);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.ManualPriority, item, item2, msqState, defaultInterpolatedStringHandler.ToStringAndClear());
|
|
}
|
|
case 2:
|
|
tuple = (from x in manualPriorityQuests.Where(delegate(Questionable.Model.Quest x)
|
|
{
|
|
int num7 = ((!_questFunctions.IsQuestAccepted(x.Id)) ? (-104589985) : (-104589987));
|
|
QuestId questId = default(QuestId);
|
|
while (true)
|
|
{
|
|
int num8 = num7;
|
|
int num9 = -104589989;
|
|
int num10 = num8;
|
|
switch ((num10 | num9) - (num10 & num9))
|
|
{
|
|
case 0:
|
|
num7 = ((!_questFunctions.WouldOvercapAlliedSocietyReputation(questId)) ? (-104589986) : (-104589990));
|
|
break;
|
|
case 5:
|
|
return true;
|
|
case 3:
|
|
num7 = -104589987;
|
|
break;
|
|
case 2:
|
|
questId = x.Id as QuestId;
|
|
num7 = (((object)questId == null) ? (-104589986) : (-104589989));
|
|
break;
|
|
case 4:
|
|
return _questFunctions.IsReadyToAcceptQuest(x.Id);
|
|
case 1:
|
|
return false;
|
|
case 6:
|
|
num7 = ((!_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp) ? (-104589986) : (-104589991));
|
|
break;
|
|
}
|
|
}
|
|
})
|
|
select (QuestId: x.Id, Sequence: _questFunctions.GetQuestProgressInfo(x.Id)?.Sequence ?? 0)).FirstOrDefault();
|
|
num = (((object)tuple.Item1 == null) ? 1342469806 : 1342469804);
|
|
break;
|
|
case 1:
|
|
return null;
|
|
case 0:
|
|
num = 1342469803;
|
|
break;
|
|
case 4:
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestResolution? TryResolveInProgressClassQuest(EClassJob currentClassJob, MainScenarioQuestState msqState)
|
|
{
|
|
int num = ((currentClassJob != EClassJob.Adventurer) ? 689468561 : 689468563);
|
|
QuestInfo questInfo = default(QuestInfo);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 689468562;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 4:
|
|
num = 689468563;
|
|
break;
|
|
case 2:
|
|
return null;
|
|
case 1:
|
|
return null;
|
|
case 3:
|
|
questInfo = (from x in _questData.GetClassJobQuests(currentClassJob).Where(delegate(QuestInfo x)
|
|
{
|
|
int num5 = ((x.Level <= 5) ? (-1239817522) : (-1239817521));
|
|
while (true)
|
|
{
|
|
int num6 = num5;
|
|
int num7 = -1239817522;
|
|
int num8 = num6;
|
|
int num9 = num8 + num7;
|
|
int num10 = num8 & num7;
|
|
switch (num9 - (num10 + num10))
|
|
{
|
|
case 3:
|
|
num5 = -1239817521;
|
|
break;
|
|
case 2:
|
|
return false;
|
|
case 4:
|
|
return !_questFunctions.IsQuestComplete(x.QuestId);
|
|
case 1:
|
|
num5 = (_configuration.Advanced.SkipClassJobQuests ? (-1239817524) : (-1239817522));
|
|
break;
|
|
case 0:
|
|
num5 = ((!_questFunctions.IsQuestAccepted(x.QuestId)) ? (-1239817524) : (-1239817526));
|
|
break;
|
|
}
|
|
}
|
|
})
|
|
orderby x.Level
|
|
select x).FirstOrDefault();
|
|
num = ((questInfo != null) ? 689468562 : 689468560);
|
|
break;
|
|
case 0:
|
|
{
|
|
_206F_202B_206B_200E_206F_202D_206D_202D_202B_202C_200D_202C_206D_202D_206D_206C_202C_202E_200F_200C_200B_200E_206E_206B_200F_200B_206A_200D_200E_206B_206A_202B_206B_206F_202B_202E_200E_200F_202A_202C_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>(993689286), new object[1] { questInfo.QuestId });
|
|
ElementId questId = questInfo.QuestId;
|
|
byte questSequence = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(questInfo.QuestId));
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(24, 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>(1432274121));
|
|
defaultInterpolatedStringHandler.AppendFormatted(questInfo.QuestId);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.InProgressClassQuest, questId, questSequence, msqState, defaultInterpolatedStringHandler.ToStringAndClear());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestResolution? TryResolveClassJobPriority(EClassJob currentClassJob, MainScenarioQuestState msqState)
|
|
{
|
|
int num = (_configuration.Advanced.SkipClassJobQuests ? (-864803797) : (-864803795));
|
|
HashSet<ElementId> classJobQuestIds;
|
|
ElementId elementId = default(ElementId);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -864803799;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 1:
|
|
return null;
|
|
case 4:
|
|
num = ((currentClassJob != EClassJob.Adventurer) ? (-864803799) : (-864803797));
|
|
break;
|
|
case 0:
|
|
classJobQuestIds = (from x in _questRegistry.GetKnownClassJobQuests(currentClassJob, includeRoleQuests: false)
|
|
select x.QuestId).ToHashSet();
|
|
elementId = (from x in _questFunctions.GetNextPriorityQuestsThatCanBeAccepted().Where(delegate(PriorityQuestInfo x)
|
|
{
|
|
int num5 = ((!x.IsAvailable) ? 161957132 : 161957135);
|
|
while (true)
|
|
{
|
|
int num6 = num5;
|
|
int num7 = 161957133;
|
|
int num8 = num6;
|
|
int num9 = num8 + num7;
|
|
int num10 = num8 & num7;
|
|
switch (num9 - (num10 + num10))
|
|
{
|
|
case 0:
|
|
goto IL_0048;
|
|
case 1:
|
|
return false;
|
|
case 2:
|
|
return classJobQuestIds.Contains(x.QuestId);
|
|
}
|
|
continue;
|
|
IL_0048:
|
|
num5 = 161957135;
|
|
}
|
|
})
|
|
select x.QuestId).FirstOrDefault();
|
|
num = ((!_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(elementId, (ElementId)null)) ? (-864803796) : (-864803800));
|
|
break;
|
|
case 3:
|
|
num = -864803795;
|
|
break;
|
|
case 5:
|
|
{
|
|
ElementId questId = elementId;
|
|
byte questSequence = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId));
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(25, 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>(-305237119));
|
|
defaultInterpolatedStringHandler.AppendFormatted(elementId);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, questId, questSequence, msqState, defaultInterpolatedStringHandler.ToStringAndClear());
|
|
}
|
|
case 2:
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool IsMsqLevelLocked(QuestReference msqQuest, int currentLevel, QuestController.EAutomationType automationType)
|
|
{
|
|
int num = ((!_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(msqQuest.CurrentQuest, (ElementId)null)) ? (-1809239787) : (-1809239792));
|
|
Questionable.Model.Quest quest = default(Questionable.Model.Quest);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1809239791;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 0:
|
|
num = -1809239792;
|
|
break;
|
|
case 6:
|
|
return false;
|
|
case 4:
|
|
num = (_questRegistry.TryGetQuest(msqQuest.CurrentQuest, out quest) ? (-1809239783) : (-1809239785));
|
|
break;
|
|
case 7:
|
|
return false;
|
|
case 5:
|
|
num = ((_configuration.General.MsqPriority != Configuration.EMsqPriorityMode.Manual) ? (-1809239789) : (-1809239790));
|
|
break;
|
|
case 1:
|
|
return false;
|
|
case 8:
|
|
num = ((!_questFunctions.IsQuestAccepted(msqQuest.CurrentQuest)) ? (-1809239788) : (-1809239786));
|
|
break;
|
|
case 3:
|
|
return false;
|
|
case 2:
|
|
return quest.Info.Level > currentLevel;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestResolution? TryResolveNewClassQuest(EClassJob currentClassJob, int currentLevel, MainScenarioQuestState msqState)
|
|
{
|
|
int num = ((currentClassJob != EClassJob.Adventurer) ? 212422902 : 212422895);
|
|
QuestInfo questInfo2 = default(QuestInfo);
|
|
List<QuestId> lockedQuests;
|
|
QuestInfo questInfo = default(QuestInfo);
|
|
ElementId elementId = default(ElementId);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 212422887;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 4:
|
|
num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(_lastLoggedRegistryClassQuest, questInfo2.QuestId)) ? 212422890 : 212422886);
|
|
break;
|
|
case 17:
|
|
lockedQuests = QuestData.GetLockedClassQuests();
|
|
questInfo = (from x in _questData.GetClassJobQuests(currentClassJob).Where(delegate(QuestInfo x)
|
|
{
|
|
int num7 = ((x.Level > currentLevel) ? (-789750315) : (-789750317));
|
|
while (true)
|
|
{
|
|
int num8 = num7;
|
|
int num9 = -789750319;
|
|
int num10 = num8;
|
|
int num11 = num10 + num9;
|
|
int num12 = num10 & num9;
|
|
switch (num11 - (num12 + num12))
|
|
{
|
|
case 0:
|
|
num7 = -789750317;
|
|
break;
|
|
case 2:
|
|
num7 = ((x.Level > 5) ? (-789750315) : (-789750320));
|
|
break;
|
|
case 4:
|
|
return false;
|
|
case 1:
|
|
num7 = (_questFunctions.IsQuestComplete(x.QuestId) ? (-789750315) : (-789750318));
|
|
break;
|
|
case 3:
|
|
return !lockedQuests.Contains(x.QuestId);
|
|
}
|
|
}
|
|
})
|
|
orderby x.Level
|
|
select x).FirstOrDefault();
|
|
num = ((questInfo == null) ? 212422889 : 212422894);
|
|
break;
|
|
case 7:
|
|
_206E_206E_200E_206F_202B_200E_202D_206E_202B_206B_206D_202E_206F_202B_200B_200F_200B_206A_200E_206E_206B_206B_206D_200D_206E_206D_200C_200C_200C_200B_202B_206E_202C_200D_206C_202C_202C_206E_206C_206B_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>(-1017698295), Array.Empty<object>());
|
|
_loggedAdventurerClass = true;
|
|
num = 212422901;
|
|
break;
|
|
case 8:
|
|
num = (_loggedAdventurerClass ? 212422901 : 212422880);
|
|
break;
|
|
case 18:
|
|
return null;
|
|
case 12:
|
|
num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(_lastLoggedPriorityClassQuest, elementId)) ? 212422900 : 212422882);
|
|
break;
|
|
case 3:
|
|
_202B_202C_200B_202B_200F_200B_202E_206B_206C_206B_200E_206B_206C_206E_200F_200B_206B_202C_206E_206F_206A_202A_202D_200C_206E_202B_200B_202E_206D_202A_206D_200C_206A_200B_200D_206A_206D_206F_206E_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>(915198093), new object[3] { questInfo.QuestId, currentClassJob, questInfo.Level });
|
|
_lastLoggedForcedClassQuest = questInfo.QuestId;
|
|
num = 212422885;
|
|
break;
|
|
case 13:
|
|
{
|
|
ElementId questId2 = questInfo2.QuestId;
|
|
byte questSequence2 = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(questInfo2.QuestId));
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(27, 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>(-1318858462));
|
|
defaultInterpolatedStringHandler2.AppendFormatted(questInfo2.QuestId);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, questId2, questSequence2, msqState, defaultInterpolatedStringHandler2.ToStringAndClear());
|
|
}
|
|
case 10:
|
|
num = (_loggedNoClassQuestsAvailable ? 212422887 : 212422881);
|
|
break;
|
|
case 14:
|
|
questInfo2 = (from x in _questRegistry.GetKnownClassJobQuests(currentClassJob, includeRoleQuests: false).Where(delegate(QuestInfo x)
|
|
{
|
|
int num7 = ((x.Level > currentLevel) ? 2044877120 : 2044877123);
|
|
while (true)
|
|
{
|
|
int num8 = num7;
|
|
int num9 = 2044877122;
|
|
int num10 = num8;
|
|
int num11 = num10 + num9;
|
|
int num12 = num10 & num9;
|
|
switch (num11 - (num12 + num12))
|
|
{
|
|
case 2:
|
|
return false;
|
|
case 1:
|
|
num7 = ((x.Level > 5) ? 2044877120 : 2044877121);
|
|
break;
|
|
case 3:
|
|
num7 = (_questFunctions.IsQuestAcceptedOrComplete(x.QuestId) ? 2044877120 : 2044877126);
|
|
break;
|
|
case 4:
|
|
return _questFunctions.IsReadyToAcceptQuest(x.QuestId);
|
|
case 0:
|
|
num7 = 2044877123;
|
|
break;
|
|
}
|
|
}
|
|
})
|
|
orderby x.Level
|
|
select x).FirstOrDefault();
|
|
num = ((questInfo2 == null) ? 212422903 : 212422883);
|
|
break;
|
|
case 15:
|
|
num = 212422895;
|
|
break;
|
|
case 19:
|
|
{
|
|
ElementId questId3 = elementId;
|
|
byte questSequence3 = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId));
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(27, 1);
|
|
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>(-1634688570));
|
|
defaultInterpolatedStringHandler3.AppendFormatted(elementId);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, questId3, questSequence3, msqState, defaultInterpolatedStringHandler3.ToStringAndClear());
|
|
}
|
|
case 11:
|
|
num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(_lastLoggedForcedClassQuest, questInfo.QuestId)) ? 212422885 : 212422884);
|
|
break;
|
|
case 5:
|
|
_202B_202C_200B_202B_200F_200B_202E_206B_206C_206B_200E_206B_206C_206E_200F_200B_206B_202C_206E_206F_206A_202A_202D_200C_206E_202B_200B_202E_206D_202A_206D_200C_206A_200B_200D_206A_206D_206F_206E_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>(-2031319638), new object[1] { elementId });
|
|
_lastLoggedPriorityClassQuest = elementId;
|
|
num = 212422900;
|
|
break;
|
|
case 16:
|
|
elementId = (from x in (from x in _questFunctions.GetNextPriorityQuestsThatCanBeAccepted()
|
|
where x.IsAvailable
|
|
select x).Where(delegate(PriorityQuestInfo x)
|
|
{
|
|
Questionable.Model.Quest quest;
|
|
int num7 = ((!_questRegistry.TryGetQuest(x.QuestId, out quest)) ? 323776079 : 323776077);
|
|
QuestInfo questInfo3 = default(QuestInfo);
|
|
while (true)
|
|
{
|
|
int num8 = num7;
|
|
int num9 = 323776079;
|
|
int num10 = num8;
|
|
int num11 = num10 + num9;
|
|
int num12 = num10 & num9;
|
|
switch (num11 - (num12 + num12))
|
|
{
|
|
case 5:
|
|
num7 = 323776077;
|
|
break;
|
|
case 4:
|
|
return questInfo3.ClassJobs.Any(delegate(EClassJob job)
|
|
{
|
|
int num13 = (_003C_003Ec._200C_200E_202A_206B_200D_206D_200F_206B_200D_202C_202D_202A_202D_206C_200F_206C_206D_200E_200E_202B_202C_206C_206E_202B_206B_200D_206D_206C_200C_200C_202C_206B_200F_206A_200E_200D_206C_206F_202A_206C_202E(job) ? 1077632249 : 1077632248);
|
|
while (true)
|
|
{
|
|
int num14 = num13;
|
|
int num15 = 1077632249;
|
|
int num16 = num14;
|
|
switch ((num16 | num15) - (num16 & num15))
|
|
{
|
|
case 0:
|
|
return false;
|
|
case 1:
|
|
return !_003C_003Ec._206C_200C_202D_200E_206E_202C_206F_202D_200F_200E_206C_200B_202B_202E_206C_202E_200F_200E_200D_202A_206B_200E_206D_200C_202A_200F_202E_202D_200D_202D_202B_200C_202E_202A_200E_206B_206D_200E_200C_206C_202E(job);
|
|
case 2:
|
|
goto IL_0052;
|
|
}
|
|
continue;
|
|
IL_0052:
|
|
num13 = 1077632248;
|
|
}
|
|
});
|
|
case 2:
|
|
num7 = ((quest.Info.Level > currentLevel) ? 323776079 : 323776076);
|
|
break;
|
|
case 3:
|
|
questInfo3 = quest.Info as QuestInfo;
|
|
num7 = ((questInfo3 == null) ? 323776079 : 323776078);
|
|
break;
|
|
case 0:
|
|
return false;
|
|
case 1:
|
|
num7 = ((questInfo3.ClassJobs.Count <= 0) ? 323776079 : 323776075);
|
|
break;
|
|
}
|
|
}
|
|
})
|
|
select x.QuestId).FirstOrDefault();
|
|
num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(elementId, (ElementId)null)) ? 212422893 : 212422891);
|
|
break;
|
|
case 0:
|
|
return null;
|
|
case 9:
|
|
num = (_questFunctions.IsQuestComplete(questInfo.QuestId) ? 212422889 : 212422892);
|
|
break;
|
|
case 6:
|
|
_206E_206E_200E_206F_202B_200E_202D_206E_202B_206B_206D_202E_206F_202B_200B_200F_200B_206A_200E_206E_206B_206B_206D_200D_206E_206D_200C_200C_200C_200B_202B_206E_202C_200D_206C_202C_202C_206E_206C_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>(2087960790), new object[2] { currentClassJob, currentLevel });
|
|
_loggedNoClassQuestsAvailable = true;
|
|
num = 212422887;
|
|
break;
|
|
case 1:
|
|
_202B_202C_200B_202B_200F_200B_202E_206B_206C_206B_200E_206B_206C_206E_200F_200B_206B_202C_206E_206F_206A_202A_202D_200C_206E_202B_200B_202E_206D_202A_206D_200C_206A_200B_200D_206A_206D_206F_206E_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>(-2057200465), new object[3] { questInfo2.QuestId, currentClassJob, questInfo2.Level });
|
|
_lastLoggedRegistryClassQuest = questInfo2.QuestId;
|
|
num = 212422890;
|
|
break;
|
|
case 2:
|
|
{
|
|
ElementId questId = questInfo.QuestId;
|
|
byte questSequence = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(questInfo.QuestId));
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 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>(-827615250));
|
|
defaultInterpolatedStringHandler.AppendFormatted(questInfo.QuestId);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.NewClassQuest, questId, questSequence, msqState, defaultInterpolatedStringHandler.ToStringAndClear());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestResolution? TryResolveMsqImmediate(QuestReference msqQuest, bool allowNewMsq)
|
|
{
|
|
int num = (_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(msqQuest.CurrentQuest, (ElementId)null) ? (-402712632) : (-402712625));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -402712629;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 8:
|
|
num = -402712625;
|
|
break;
|
|
case 4:
|
|
num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(msqQuest.CurrentQuest) != 0) ? (-402712638) : (-402712632));
|
|
break;
|
|
case 0:
|
|
num = (allowNewMsq ? (-402712631) : (-402712626));
|
|
break;
|
|
case 1:
|
|
return null;
|
|
case 7:
|
|
num = ((_configuration.General.MsqPriority == Configuration.EMsqPriorityMode.Always) ? (-402712629) : (-402712630));
|
|
break;
|
|
case 6:
|
|
return null;
|
|
case 9:
|
|
num = ((!_questFunctions.IsQuestAccepted(msqQuest.CurrentQuest)) ? (-402712628) : (-402712627));
|
|
break;
|
|
case 5:
|
|
return null;
|
|
case 3:
|
|
return null;
|
|
case 2:
|
|
{
|
|
ElementId? currentQuest = msqQuest.CurrentQuest;
|
|
byte sequence = msqQuest.Sequence;
|
|
MainScenarioQuestState state = msqQuest.State;
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(28, 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>(-161770655));
|
|
defaultInterpolatedStringHandler.AppendFormatted(msqQuest.CurrentQuest);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, currentQuest, sequence, state, defaultInterpolatedStringHandler.ToStringAndClear());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private unsafe QuestResolution? TryResolveTrackedQuest(MainScenarioQuestState msqState)
|
|
{
|
|
QuestManager* ptr = QuestManager.Instance();
|
|
int num = ((ptr != null) ? (-982372804) : (-982372807));
|
|
ElementId elementId = default(ElementId);
|
|
TrackingWork trackingWork = default(TrackingWork);
|
|
byte item4 = default(byte);
|
|
List<(ElementId, byte)> list = default(List<(ElementId, byte)>);
|
|
ElementId item3 = default(ElementId);
|
|
EAlliedSociety firstTrackedAlliedSociety = default(EAlliedSociety);
|
|
int num16 = default(int);
|
|
List<(ElementId, byte)> list3 = default(List<(ElementId, byte)>);
|
|
byte questType = default(byte);
|
|
ElementId item = default(ElementId);
|
|
byte item2 = default(byte);
|
|
QuestId questId2 = default(QuestId);
|
|
ElementId item5 = default(ElementId);
|
|
byte item6 = default(byte);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -982372812;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
default:
|
|
continue;
|
|
case 6:
|
|
elementId = _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E(ptr->NormalQuests[trackingWork.Index].QuestId);
|
|
num = ((!_questRegistry.IsKnownQuest(elementId)) ? (-982372808) : (-982372809));
|
|
continue;
|
|
case 18:
|
|
num = ((!_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp) ? (-982372831) : (-982372812));
|
|
continue;
|
|
case 19:
|
|
{
|
|
if (item4 == byte.MaxValue)
|
|
{
|
|
num = -982372815;
|
|
continue;
|
|
}
|
|
if (_questFunctions.IsOnAlliedSocietyMount())
|
|
{
|
|
break;
|
|
}
|
|
list.Insert(0, (item3, item4));
|
|
_alliedSocietyData.GetCommonAlliedSocietyNpcs(firstTrackedAlliedSociety, out uint[] normalNpcs, out uint[] _);
|
|
if (normalNpcs.Length != 0)
|
|
{
|
|
(ElementId, byte)? tuple2 = (from x in list
|
|
where x.Sequence < byte.MaxValue
|
|
where _questFunctions.IsInteractSequence(x.Quest, x.Sequence, normalNpcs)
|
|
select x).Cast<(ElementId, byte)?>().FirstOrDefault();
|
|
if (tuple2.HasValue)
|
|
{
|
|
ElementId item9 = tuple2.Value.Item1;
|
|
byte item10 = tuple2.Value.Item2;
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler5 = new DefaultInterpolatedStringHandler(31, 1);
|
|
defaultInterpolatedStringHandler5.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>(-2091308904));
|
|
defaultInterpolatedStringHandler5.AppendFormatted(tuple2.Value.Item1);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, item9, item10, msqState, defaultInterpolatedStringHandler5.ToStringAndClear());
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case 22:
|
|
num = ((num16 >= 0) ? (-982372816) : (-982372827));
|
|
continue;
|
|
case 11:
|
|
num = ((list3.Count <= 0) ? (-982372826) : (-982372811));
|
|
continue;
|
|
case 3:
|
|
num = (_questFunctions.IsQuestBlacklisted(elementId) ? (-982372808) : (-982372806));
|
|
continue;
|
|
case 21:
|
|
num = ((list3.Count != 0) ? (-982372802) : (-982372828));
|
|
continue;
|
|
case 7:
|
|
num = -982372807;
|
|
continue;
|
|
case 17:
|
|
num = ((!_configuration.General.SkipLowPriorityDuties) ? (-982372826) : (-982372801));
|
|
continue;
|
|
case 8:
|
|
list3 = new List<(ElementId, byte)>();
|
|
num16 = ptr->TrackedQuests.Length - 1;
|
|
num = -982372830;
|
|
continue;
|
|
case 1:
|
|
{
|
|
IReadOnlyList<(uint ContentFinderConditionId, ElementId QuestId, int Sequence)> lowPriorityQuests = _questRegistry.LowPriorityContentFinderConditionQuests;
|
|
list3.RemoveAll(((ElementId Quest, byte Sequence) x) => lowPriorityQuests.Any<(uint, ElementId, int)>(delegate((uint ContentFinderConditionId, ElementId QuestId, int Sequence) y)
|
|
{
|
|
int num18 = ((!_003C_003Ec__DisplayClass31_2._202B_200B_200D_206E_202C_206F_202A_202E_206D_200C_206C_206A_202C_206B_202D_200E_206F_206D_206F_202D_202E_202A_202D_206D_206F_206C_206F_202E_200B_202E_200B_206D_202D_200D_206E_206D_200C_206F_200F_202D_202E(x.Quest, y.QuestId)) ? (-1426961220) : (-1426961219));
|
|
while (true)
|
|
{
|
|
int num19 = num18;
|
|
int num20 = -1426961220;
|
|
int num21 = num19;
|
|
int num22 = num21 + num20;
|
|
int num23 = num21 & num20;
|
|
switch (num22 - (num23 + num23))
|
|
{
|
|
case 0:
|
|
return false;
|
|
case 1:
|
|
return x.Sequence == y.Sequence;
|
|
case 2:
|
|
goto IL_006e;
|
|
}
|
|
continue;
|
|
IL_006e:
|
|
num18 = -1426961219;
|
|
}
|
|
}));
|
|
num = -982372826;
|
|
continue;
|
|
}
|
|
case 13:
|
|
return null;
|
|
case 15:
|
|
list3.RemoveAll(delegate((ElementId Quest, byte Sequence) x)
|
|
{
|
|
QuestId questId5 = x.Quest as QuestId;
|
|
int num18 = (((object)questId5 == null) ? 1720897796 : 1720897799);
|
|
while (true)
|
|
{
|
|
int num19 = num18;
|
|
int num20 = 1720897797;
|
|
int num21 = num19;
|
|
int num22 = num21 + num20;
|
|
int num23 = num21 & num20;
|
|
switch (num22 - (num23 + num23))
|
|
{
|
|
case 1:
|
|
return false;
|
|
case 2:
|
|
return _questFunctions.WouldOvercapAlliedSocietyReputation(questId5);
|
|
case 0:
|
|
goto IL_0063;
|
|
}
|
|
continue;
|
|
IL_0063:
|
|
num18 = 1720897799;
|
|
}
|
|
});
|
|
num = -982372831;
|
|
continue;
|
|
case 14:
|
|
list3.Add((elementId, QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId))));
|
|
num = -982372808;
|
|
continue;
|
|
case 16:
|
|
return null;
|
|
case 20:
|
|
list = (from quest in list3.Skip(1)
|
|
where _alliedSocietyData.GetCommonAlliedSocietyTurnIn(quest.Quest) == firstTrackedAlliedSociety
|
|
select quest).ToList();
|
|
if (list.Count > 0)
|
|
{
|
|
num = -982372825;
|
|
continue;
|
|
}
|
|
break;
|
|
case 2:
|
|
num = ((questType == 2) ? (-982372808) : (-982372803));
|
|
continue;
|
|
case 10:
|
|
{
|
|
(ElementId, byte) tuple = list3.First();
|
|
item3 = tuple.Item1;
|
|
item4 = tuple.Item2;
|
|
firstTrackedAlliedSociety = _alliedSocietyData.GetCommonAlliedSocietyTurnIn(item3);
|
|
if (firstTrackedAlliedSociety != EAlliedSociety.None)
|
|
{
|
|
num = -982372832;
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
case 4:
|
|
trackingWork = ptr->TrackedQuests[num16];
|
|
questType = trackingWork.QuestType;
|
|
num = ((questType == 1) ? (-982372814) : (-982372810));
|
|
continue;
|
|
case 0:
|
|
num = ((list3.Count <= 0) ? (-982372831) : (-982372805));
|
|
continue;
|
|
case 9:
|
|
num = -982372808;
|
|
continue;
|
|
case 12:
|
|
{
|
|
int num17 = num16;
|
|
num3 = 1;
|
|
num4 = num17;
|
|
num16 = ~(~num4 + num3);
|
|
num = -982372830;
|
|
continue;
|
|
}
|
|
case 5:
|
|
{
|
|
using (List<(ElementId, byte)>.Enumerator enumerator = list.GetEnumerator())
|
|
{
|
|
num = -1720179368;
|
|
while (true)
|
|
{
|
|
int num7 = num;
|
|
num3 = -1720179364;
|
|
num4 = num7;
|
|
int num8 = num4 + num3;
|
|
int num9 = num4 & num3;
|
|
switch (num8 - (num9 + num9))
|
|
{
|
|
case 2:
|
|
num = -1720179368;
|
|
break;
|
|
case 0:
|
|
{
|
|
ElementId questId = item;
|
|
byte sequence = item2;
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(53, 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>(1020310285));
|
|
defaultInterpolatedStringHandler.AppendFormatted(item);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, questId, sequence, msqState, defaultInterpolatedStringHandler.ToStringAndClear());
|
|
}
|
|
case 1:
|
|
{
|
|
(ElementId, byte) current = enumerator.Current;
|
|
item = current.Item1;
|
|
item2 = current.Item2;
|
|
num = ((item2 == byte.MaxValue) ? (-1720179368) : (-1720179364));
|
|
break;
|
|
}
|
|
case 4:
|
|
num = (enumerator.MoveNext() ? (-1720179363) : (-1720179361));
|
|
break;
|
|
case 3:
|
|
goto end_IL_03fb;
|
|
}
|
|
continue;
|
|
end_IL_03fb:
|
|
break;
|
|
}
|
|
}
|
|
if (!_configuration.Advanced.AutoPrioritizeAlliedSocietyRankUp)
|
|
{
|
|
break;
|
|
}
|
|
List<(ElementId, byte)> list2 = new List<(ElementId, byte)> { (item3, item4) };
|
|
list2.AddRange(list);
|
|
list2.Sort(delegate((ElementId Quest, byte Sequence) a, (ElementId Quest, byte Sequence) b)
|
|
{
|
|
QuestId questId5 = a.Quest as QuestId;
|
|
int num18 = (((object)questId5 != null) ? (-1702301531) : (-1702301536));
|
|
QuestId questId6 = default(QuestId);
|
|
ushort num26 = default(ushort);
|
|
while (true)
|
|
{
|
|
int num19 = num18;
|
|
int num20 = -1702301535;
|
|
int num21 = num19;
|
|
int num22 = num21 + num20;
|
|
int num23 = num21 & num20;
|
|
int num25;
|
|
int num24;
|
|
ushort value;
|
|
switch (num22 - (num23 + num23))
|
|
{
|
|
default:
|
|
continue;
|
|
case 2:
|
|
num18 = -1702301536;
|
|
continue;
|
|
case 3:
|
|
num25 = _alliedSocietyQuestFunctions.GetQuestReputationReward(questId6);
|
|
goto IL_007d;
|
|
case 0:
|
|
num25 = 0;
|
|
goto IL_007d;
|
|
case 4:
|
|
num24 = _alliedSocietyQuestFunctions.GetQuestReputationReward(questId5);
|
|
break;
|
|
case 1:
|
|
{
|
|
num24 = 0;
|
|
break;
|
|
}
|
|
IL_007d:
|
|
value = (ushort)num25;
|
|
return num26.CompareTo(value);
|
|
}
|
|
num26 = (ushort)num24;
|
|
questId6 = b.Quest as QuestId;
|
|
num18 = (((object)questId6 != null) ? (-1702301534) : (-1702301535));
|
|
}
|
|
});
|
|
using (List<(ElementId, byte)>.Enumerator enumerator = list2.GetEnumerator())
|
|
{
|
|
num = 401947856;
|
|
while (true)
|
|
{
|
|
int num10 = num;
|
|
num3 = 401947857;
|
|
num4 = num10;
|
|
int num11 = num4 + num3;
|
|
int num12 = num4 & num3;
|
|
switch (num11 - (num12 + num12))
|
|
{
|
|
case 3:
|
|
num = (_alliedSocietyQuestFunctions.WouldOvercapReputation(questId2) ? 401947856 : 401947857);
|
|
break;
|
|
case 0:
|
|
{
|
|
ElementId questId3 = item5;
|
|
byte sequence2 = item6;
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(40, 1);
|
|
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>(-716893854));
|
|
defaultInterpolatedStringHandler2.AppendFormatted(item5);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, questId3, sequence2, msqState, defaultInterpolatedStringHandler2.ToStringAndClear());
|
|
}
|
|
case 2:
|
|
num = 401947856;
|
|
break;
|
|
case 1:
|
|
num = (enumerator.MoveNext() ? 401947861 : 401947860);
|
|
break;
|
|
case 4:
|
|
{
|
|
(ElementId, byte) current2 = enumerator.Current;
|
|
item5 = current2.Item1;
|
|
item6 = current2.Item2;
|
|
questId2 = item5 as QuestId;
|
|
num = (((object)questId2 == null) ? 401947856 : 401947858);
|
|
break;
|
|
}
|
|
case 5:
|
|
goto end_IL_0557;
|
|
}
|
|
continue;
|
|
end_IL_0557:
|
|
break;
|
|
}
|
|
}
|
|
QuestId rankUpQuestIfAtCapacity = _questFunctions.GetRankUpQuestIfAtCapacity(firstTrackedAlliedSociety);
|
|
num = ((!_202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E((ElementId)rankUpQuestIfAtCapacity, (ElementId)null)) ? (-140380390) : (-140380389));
|
|
while (true)
|
|
{
|
|
int num13 = num;
|
|
num3 = -140380385;
|
|
num4 = num13;
|
|
int num14 = num4 + num3;
|
|
int num15 = num4 & num3;
|
|
switch (num14 - (num15 + num15))
|
|
{
|
|
case 3:
|
|
num = ((!_questFunctions.IsReadyToAcceptQuest(rankUpQuestIfAtCapacity)) ? (-140380390) : (-140380386));
|
|
break;
|
|
case 5:
|
|
{
|
|
ElementId item7 = list2[0].Item1;
|
|
byte item8 = list2[0].Item2;
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler4 = new DefaultInterpolatedStringHandler(43, 1);
|
|
defaultInterpolatedStringHandler4.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>(-1624970154));
|
|
defaultInterpolatedStringHandler4.AppendFormatted(list2[0].Item1);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, item7, item8, msqState, defaultInterpolatedStringHandler4.ToStringAndClear());
|
|
}
|
|
case 4:
|
|
num = (_questFunctions.IsQuestComplete(rankUpQuestIfAtCapacity) ? (-140380390) : (-140380385));
|
|
break;
|
|
case 2:
|
|
num = -140380389;
|
|
break;
|
|
case 1:
|
|
{
|
|
int sequence3 = (_questFunctions.IsQuestAccepted(rankUpQuestIfAtCapacity) ? QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E((ElementId)rankUpQuestIfAtCapacity)) : 0);
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(29, 1);
|
|
defaultInterpolatedStringHandler3.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>(-184593145));
|
|
defaultInterpolatedStringHandler3.AppendFormatted(rankUpQuestIfAtCapacity);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, rankUpQuestIfAtCapacity, (byte)sequence3, msqState, defaultInterpolatedStringHandler3.ToStringAndClear());
|
|
}
|
|
case 0:
|
|
num = (_questFunctions.IsQuestAccepted(rankUpQuestIfAtCapacity) ? (-140380386) : (-140380388));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
ElementId questId4 = item3;
|
|
byte sequence4 = item4;
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler6 = new DefaultInterpolatedStringHandler(14, 1);
|
|
defaultInterpolatedStringHandler6.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>(1055042837));
|
|
defaultInterpolatedStringHandler6.AppendFormatted(item3);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.TrackedQuest, questId4, sequence4, msqState, defaultInterpolatedStringHandler6.ToStringAndClear());
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestResolution? TryResolveAutoPriority(MainScenarioQuestState msqState)
|
|
{
|
|
ElementId elementId = (from x in _questFunctions.GetNextPriorityQuestsThatCanBeAccepted()
|
|
where x.IsAvailable
|
|
select x.QuestId).FirstOrDefault();
|
|
int num = ((!_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(elementId, (ElementId)null)) ? 1077185998 : 1077185999);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 1077185998;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 2:
|
|
goto IL_00ae;
|
|
case 0:
|
|
{
|
|
byte questSequence = QuestManager.GetQuestSequence(_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(elementId));
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(20, 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>(-830193133));
|
|
defaultInterpolatedStringHandler.AppendFormatted(elementId);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.AutoPriority, elementId, questSequence, msqState, defaultInterpolatedStringHandler.ToStringAndClear());
|
|
}
|
|
case 1:
|
|
return null;
|
|
}
|
|
continue;
|
|
IL_00ae:
|
|
num = 1077185999;
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestResolution? TryResolveMsqFallback(QuestReference msqQuest, bool allowNewMsq)
|
|
{
|
|
int num = (_202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(msqQuest.CurrentQuest, (ElementId)null) ? (-509746362) : (-509746366));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -509746364;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 2:
|
|
return null;
|
|
case 6:
|
|
num = ((_202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(msqQuest.CurrentQuest) != 0) ? (-509746355) : (-509746362));
|
|
break;
|
|
case 9:
|
|
num = ((!_questFunctions.IsQuestAccepted(msqQuest.CurrentQuest)) ? (-509746361) : (-509746365));
|
|
break;
|
|
case 4:
|
|
return null;
|
|
case 7:
|
|
return null;
|
|
case 0:
|
|
{
|
|
ElementId? currentQuest = msqQuest.CurrentQuest;
|
|
byte sequence = msqQuest.Sequence;
|
|
MainScenarioQuestState state = msqQuest.State;
|
|
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 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>(-535126555));
|
|
defaultInterpolatedStringHandler.AppendFormatted(msqQuest.CurrentQuest);
|
|
return QuestResolution.ForQuest(EQuestResolutionType.MsqFallback, currentQuest, sequence, state, defaultInterpolatedStringHandler.ToStringAndClear());
|
|
}
|
|
case 3:
|
|
num = ((_configuration.General.MsqPriority != Configuration.EMsqPriorityMode.Manual) ? (-509746367) : (-509746363));
|
|
break;
|
|
case 8:
|
|
num = -509746366;
|
|
break;
|
|
case 1:
|
|
return null;
|
|
case 5:
|
|
num = (allowNewMsq ? (-509746364) : (-509746368));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
private QuestResolution? TryResolveStartingCity(MainScenarioQuestState msqState)
|
|
{
|
|
int num = ((_206D_200D_206F_200F_200F_206F_206D_200B_206E_200D_206A_202A_202B_200F_202D_202A_202D_200C_206F_206E_202B_202A_202D_206F_206F_202D_200D_200C_206C_202B_202E_200C_206F_200E_206A_206E_200F_200C_206C_206B_202E(_clientState) != 181) ? (-244287801) : (-244287802));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -244287801;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 0:
|
|
num = ((_206D_200D_206F_200F_200F_206F_206D_200B_206E_200D_206A_202A_202B_200F_202D_202A_202D_200C_206F_206E_202B_202A_202D_206F_206F_202D_200D_200C_206C_202B_202E_200C_206F_200E_206A_206E_200F_200C_206C_206B_202E(_clientState) != 182) ? (-244287803) : (-244287804));
|
|
break;
|
|
case 2:
|
|
num = ((_206D_200D_206F_200F_200F_206F_206D_200B_206E_200D_206A_202A_202B_200F_202D_202A_202D_200C_206F_206E_202B_202A_202D_206F_206F_202D_200D_200C_206C_202B_202E_200C_206F_200E_206A_206E_200F_200C_206C_206B_202E(_clientState) != 183) ? (-244287805) : (-244287807));
|
|
break;
|
|
case 5:
|
|
num = -244287802;
|
|
break;
|
|
case 6:
|
|
return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)39), 0, MainScenarioQuestState.Available, 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>(-1912103919));
|
|
case 3:
|
|
return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)594), 0, MainScenarioQuestState.Available, 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>(1218664531));
|
|
case 4:
|
|
return null;
|
|
case 1:
|
|
return QuestResolution.ForQuest(EQuestResolutionType.MsqImmediate, _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E((ushort)107), 0, MainScenarioQuestState.Available, 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>(1071401700));
|
|
}
|
|
}
|
|
}
|
|
|
|
private QuestResolution? TryResolveLevelingMode(int currentPlayerLevel, QuestController.EAutomationType automationType, MainScenarioQuestState msqState)
|
|
{
|
|
int num = (ShouldStartLevelingMode(currentPlayerLevel, automationType) ? (-430632054) : (-430632056));
|
|
int item = default(int);
|
|
string item2 = default(string);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -430632055;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 0:
|
|
num = -430632056;
|
|
break;
|
|
case 3:
|
|
{
|
|
(bool isLevelLocked, int levelsNeeded, int requiredLevel, string? questName) msqLevelLockInfo = _questFunctions.GetMsqLevelLockInfo();
|
|
bool item3 = msqLevelLockInfo.isLevelLocked;
|
|
item = msqLevelLockInfo.requiredLevel;
|
|
item2 = msqLevelLockInfo.questName;
|
|
num = (item3 ? (-430632051) : (-430632053));
|
|
break;
|
|
}
|
|
case 4:
|
|
return QuestResolution.Leveling(item, item2, msqState);
|
|
case 1:
|
|
return null;
|
|
case 2:
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public bool ShouldStartLevelingMode(int currentPlayerLevel, QuestController.EAutomationType automationType)
|
|
{
|
|
int num = ((automationType == QuestController.EAutomationType.Automatic) ? (-451706510) : (-451706507));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -451706509;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 3:
|
|
return true;
|
|
case 7:
|
|
return false;
|
|
case 0:
|
|
num = -451706507;
|
|
break;
|
|
case 2:
|
|
return false;
|
|
case 6:
|
|
return false;
|
|
case 1:
|
|
num = (_206B_206A_200F_200D_202A_206F_200F_200F_202C_206E_206E_200F_200E_200F_202A_200D_200C_202C_206A_202A_202A_200E_206C_202D_200F_206B_206A_200E_202E_202E_200C_206A_202D_200C_200B_206E_206A_202D_206D_206A_202E(_condition, ConditionFlag.BoundByDuty) ? (-451706508) : (-451706506));
|
|
break;
|
|
case 4:
|
|
num = (_autoDutyIpc.IsConfiguredToRunLevelingMode(currentPlayerLevel) ? (-451706512) : (-451706511));
|
|
break;
|
|
case 5:
|
|
num = ((!_206B_206A_200F_200D_202A_206F_200F_200F_202C_206E_206E_200F_200E_200F_202A_200D_200C_202C_206A_202A_202A_200E_206C_202D_200F_206B_206A_200E_202E_202E_200C_206A_202D_200C_200B_206E_206A_202D_206D_206A_202E(_condition, ConditionFlag.InDutyQueue)) ? (-451706505) : (-451706508));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
static IPlayerCharacter _206C_202B_206B_200C_206A_200C_202D_206E_200C_206C_202B_202E_206E_202E_200D_202A_202B_200D_206D_206B_202C_200F_202D_206C_206D_202C_200E_202D_206D_200D_200E_202C_200E_202D_202B_200E_206F_206E_206B_206D_202E(IObjectTable P_0)
|
|
{
|
|
return P_0.LocalPlayer;
|
|
}
|
|
|
|
static byte _202D_206D_206C_206A_202B_202A_200C_206E_200C_200F_200F_202D_202A_206C_200B_202B_200D_200C_200D_206D_206A_200E_200B_202A_200B_206E_200C_202E_200C_202C_200E_206C_206C_206A_206B_200B_202C_202D_200B_206D_202E(ICharacter P_0)
|
|
{
|
|
return P_0.Level;
|
|
}
|
|
|
|
static RowRef<ClassJob> _202D_206D_202A_200E_200D_202B_200C_202A_200B_202B_200C_202A_206A_200F_206C_200B_200F_202E_206F_202D_206F_206F_200D_206A_202C_202D_200D_206E_202E_202A_202A_200F_206D_206C_206B_202B_202C_206E_200F_206E_202E(ICharacter P_0)
|
|
{
|
|
return P_0.ClassJob;
|
|
}
|
|
|
|
static bool _202A_202A_202E_206E_206B_202D_206B_202A_200E_202E_200B_200F_206A_206B_200D_200C_206D_206A_202B_206E_202D_202E_202A_200F_200F_206E_202A_202E_200E_200D_202B_206B_200F_200E_206E_202E_200E_206B_206C_202E_202E(ElementId P_0, ElementId P_1)
|
|
{
|
|
return P_0 != P_1;
|
|
}
|
|
|
|
static void _202B_202C_200B_202B_200F_200B_202E_206B_206C_206B_200E_206B_206C_206E_200F_200B_206B_202C_206E_206F_206A_202A_202D_200C_206E_202B_200B_202E_206D_202A_206D_200C_206A_200B_200D_206A_206D_206F_206E_206C_202E(ILogger P_0, string P_1, object[] P_2)
|
|
{
|
|
P_0.LogInformation(P_1, P_2);
|
|
}
|
|
|
|
static bool _202C_200F_202D_202A_206B_206D_202A_202A_200C_202D_200B_200C_200B_206C_206A_202D_206D_202D_202A_206E_206C_202A_200B_202A_202E_206C_200D_200D_206C_206A_206C_206B_200F_202D_202E_200D_206B_206C_202A_206A_202E(ElementId P_0, ElementId P_1)
|
|
{
|
|
return P_0 == P_1;
|
|
}
|
|
|
|
static ushort _202E_206B_206E_200B_206A_202B_206C_202E_206E_202B_206E_206A_200B_202E_202A_206E_200E_202C_200F_206F_202E_206F_202E_200B_202B_200C_202D_200D_206A_202A_206E_200E_200B_202D_200E_206B_206A_200E_206C_206E_202E(ElementId P_0)
|
|
{
|
|
return P_0.Value;
|
|
}
|
|
|
|
static void _206E_206E_200E_206F_202B_200E_202D_206E_202B_206B_206D_202E_206F_202B_200B_200F_200B_206A_200E_206E_206B_206B_206D_200D_206E_206D_200C_200C_200C_200B_202B_206E_202C_200D_206C_202C_202C_206E_206C_206B_202E(ILogger P_0, string P_1, object[] P_2)
|
|
{
|
|
P_0.LogWarning(P_1, P_2);
|
|
}
|
|
|
|
static QuestId _202E_206A_206F_206E_202D_206B_206F_202A_202A_202A_202D_202C_206B_202B_202C_206B_202A_202E_202C_200F_200D_202E_200F_200B_202D_200E_202A_202A_200F_202E_206E_202E_202C_200E_202E_202B_202E_202C_206B_200F_202E(ushort P_0)
|
|
{
|
|
return new QuestId(P_0);
|
|
}
|
|
|
|
static bool _200E_202A_200B_206E_206D_200B_206F_202D_206D_202A_206F_206A_200D_206E_206A_202D_202D_206E_202A_202C_200F_202A_202E_202A_200B_200C_200D_202C_206E_200E_206A_200C_206C_206D_206D_206B_200D_206A_200C_200C_202E(uint P_0)
|
|
{
|
|
return PlayerStateHelper.IsMountUnlocked(P_0);
|
|
}
|
|
|
|
static byte _200C_206C_202C_202E_206B_206B_200E_206C_200D_206D_206C_200E_206A_202B_206B_202B_202E_202D_206B_206E_200B_200F_206B_202E_202A_202A_206A_206D_202C_200D_200F_200F_202C_200D_206C_200B_202D_206C_206E_202E()
|
|
{
|
|
return GrandCompanyHelper.GetGrandCompanyId();
|
|
}
|
|
|
|
static void _206F_202B_206B_200E_206F_202D_206D_202D_202B_202C_200D_202C_206D_202D_206D_206C_202C_202E_200F_200C_200B_200E_206E_206B_200F_200B_206A_200D_200E_206B_206A_202B_206B_206F_202B_202E_200E_200F_202A_202C_202E(ILogger P_0, string P_1, object[] P_2)
|
|
{
|
|
P_0.LogTrace(P_1, P_2);
|
|
}
|
|
|
|
static uint _206D_200D_206F_200F_200F_206F_206D_200B_206E_200D_206A_202A_202B_200F_202D_202A_202D_200C_206F_206E_202B_202A_202D_206F_206F_202D_200D_200C_206C_202B_202E_200C_206F_200E_206A_206E_200F_200C_206C_206B_202E(IClientState P_0)
|
|
{
|
|
return P_0.TerritoryType;
|
|
}
|
|
|
|
static bool _206B_206A_200F_200D_202A_206F_200F_200F_202C_206E_206E_200F_200E_200F_202A_200D_200C_202C_206A_202A_202A_200E_206C_202D_200F_206B_206A_200E_202E_202E_200C_206A_202D_200C_200B_206E_206A_202D_206D_206A_202E(ICondition P_0, ConditionFlag P_1)
|
|
{
|
|
return P_0[P_1];
|
|
}
|
|
}
|