91 lines
2.7 KiB
C#
91 lines
2.7 KiB
C#
using Questionable.Functions;
|
|
using Questionable.Model.Questing;
|
|
using SmartNav;
|
|
using SmartNav.Model;
|
|
|
|
namespace Questionable.Navigation;
|
|
|
|
internal sealed class QuestionablePlayerContext(Configuration configuration, QuestFunctions questFunctions, AetheryteFunctions aetheryteFunctions, GameFunctions gameFunctions) : IPlayerContext
|
|
{
|
|
public uint? CurrentMsqQuestId
|
|
{
|
|
get
|
|
{
|
|
QuestId questId = questFunctions.GetMainScenarioQuest().Item1.CurrentQuest as QuestId;
|
|
int num = (((object)questId != null) ? (-685921250) : (-685921251));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -685921249;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 0:
|
|
goto IL_005f;
|
|
case 1:
|
|
return _200C_206B_206B_206B_202C_200D_206B_202E_200C_206D_206A_200E_202B_202A_200D_200F_206B_202C_206C_202D_202B_202C_206E_200D_202B_200B_206F_206B_206D_206A_202A_200D_206F_202C_206F_200E_202B_206F_202C_202A_202E((ElementId)questId);
|
|
case 2:
|
|
return null;
|
|
}
|
|
continue;
|
|
IL_005f:
|
|
num = -685921251;
|
|
}
|
|
}
|
|
}
|
|
|
|
public int GilReserve => configuration.Navigation.GilReserve;
|
|
|
|
public bool PreferFreeTravel => configuration.Navigation.PreferFreeTravel;
|
|
|
|
public bool UseTeleportTickets => configuration.Navigation.UseTeleportTickets;
|
|
|
|
public bool IsAetheryteUnlocked(EAetheryteLocation aetheryte)
|
|
{
|
|
return aetheryteFunctions.IsAetheryteUnlocked(aetheryte);
|
|
}
|
|
|
|
bool IPlayerContext.IsAetheryteUnlocked(EAetheryteLocation aetheryte)
|
|
{
|
|
//ILSpy generated this explicit interface implementation from .override directive in IsAetheryteUnlocked
|
|
return this.IsAetheryteUnlocked(aetheryte);
|
|
}
|
|
|
|
public bool IsFlyingUnlocked(uint territoryId)
|
|
{
|
|
return gameFunctions.IsFlyingUnlockedPersistent(territoryId);
|
|
}
|
|
|
|
bool IPlayerContext.IsFlyingUnlocked(uint territoryId)
|
|
{
|
|
//ILSpy generated this explicit interface implementation from .override directive in IsFlyingUnlocked
|
|
return this.IsFlyingUnlocked(territoryId);
|
|
}
|
|
|
|
public bool IsTeleportUnlocked()
|
|
{
|
|
return aetheryteFunctions.IsTeleportUnlocked();
|
|
}
|
|
|
|
bool IPlayerContext.IsTeleportUnlocked()
|
|
{
|
|
//ILSpy generated this explicit interface implementation from .override directive in IsTeleportUnlocked
|
|
return this.IsTeleportUnlocked();
|
|
}
|
|
|
|
public bool IsReturnAvailable()
|
|
{
|
|
return aetheryteFunctions.IsReturnAvailable();
|
|
}
|
|
|
|
bool IPlayerContext.IsReturnAvailable()
|
|
{
|
|
//ILSpy generated this explicit interface implementation from .override directive in IsReturnAvailable
|
|
return this.IsReturnAvailable();
|
|
}
|
|
|
|
static ushort _200C_206B_206B_206B_202C_200D_206B_202E_200C_206D_206A_200E_202B_202A_200D_200F_206B_202C_206C_202D_202B_202C_206E_200D_202B_200B_206F_206B_206D_206A_202A_200D_206F_202C_206F_200E_202B_206F_202C_202A_202E(ElementId P_0)
|
|
{
|
|
return P_0.Value;
|
|
}
|
|
}
|