Compare commits
1 Commits
master
...
NeverPortI
Author | SHA1 | Date | |
---|---|---|---|
|
b6ee34d338 |
@ -53,6 +53,8 @@ internal sealed class Configuration : IPluginConfiguration
|
||||
{
|
||||
public bool DebugOverlay { get; set; }
|
||||
public bool NeverFly { get; set; }
|
||||
|
||||
public bool NeverPortInSameZone { get; set; }
|
||||
public bool AdditionalStatusInformation { get; set; }
|
||||
}
|
||||
|
||||
|
@ -179,12 +179,10 @@ internal static class AethernetShortcut
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (clientState.TerritoryType == aetheryteData.TerritoryIds[Task.To])
|
||||
logger.LogWarning(
|
||||
"Aethernet shortcut not unlocked (from: {FromAetheryte}, to: {ToAetheryte}), skipping as we are already in the destination territory",
|
||||
Task.From, Task.To);
|
||||
else
|
||||
throw new TaskException($"Aethernet shortcut not unlocked (from: {Task.From}, to: {Task.To})");
|
||||
logger.LogWarning(
|
||||
"Aethernet shortcut not unlocked (from: {FromAetheryte}, to: {ToAetheryte}), walking manually",
|
||||
Task.From, Task.To);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -58,6 +58,7 @@ internal static class AetheryteShortcut
|
||||
IClientState clientState,
|
||||
IChatGui chatGui,
|
||||
ICondition condition,
|
||||
Configuration configuration,
|
||||
AetheryteData aetheryteData) : TaskExecutor<Task>
|
||||
{
|
||||
private bool _teleported;
|
||||
@ -154,7 +155,7 @@ internal static class AetheryteShortcut
|
||||
{
|
||||
if (!skipConditions.Never)
|
||||
{
|
||||
if (skipConditions is { InSameTerritory: true })
|
||||
if (skipConditions is { InSameTerritory: true } || configuration.Advanced.NeverPortInSameZone)
|
||||
{
|
||||
logger.LogInformation("Skipping aetheryte teleport due to SkipCondition (InSameTerritory)");
|
||||
return true;
|
||||
|
21
Questionable/External/TextAdvanceIpc.cs
vendored
21
Questionable/External/TextAdvanceIpc.cs
vendored
@ -22,16 +22,13 @@ internal sealed class TextAdvanceIpc : IDisposable
|
||||
private readonly string _pluginName;
|
||||
private readonly ExternalTerritoryConfig _externalTerritoryConfig = new();
|
||||
|
||||
public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework,
|
||||
QuestController questController, Configuration configuration)
|
||||
public TextAdvanceIpc(IDalamudPluginInterface pluginInterface, IFramework framework, QuestController questController, Configuration configuration)
|
||||
{
|
||||
_framework = framework;
|
||||
_questController = questController;
|
||||
_configuration = configuration;
|
||||
_isInExternalControl = pluginInterface.GetIpcSubscriber<bool>("TextAdvance.IsInExternalControl");
|
||||
_enableExternalControl =
|
||||
pluginInterface.GetIpcSubscriber<string, ExternalTerritoryConfig, bool>(
|
||||
"TextAdvance.EnableExternalControl");
|
||||
_enableExternalControl = pluginInterface.GetIpcSubscriber<string, ExternalTerritoryConfig, bool>("TextAdvance.EnableExternalControl");
|
||||
_disableExternalControl = pluginInterface.GetIpcSubscriber<string, bool>("TextAdvance.DisableExternalControl");
|
||||
_pluginName = pluginInterface.InternalName;
|
||||
_framework.Update += OnUpdate;
|
||||
@ -40,7 +37,7 @@ internal sealed class TextAdvanceIpc : IDisposable
|
||||
public void Dispose()
|
||||
{
|
||||
_framework.Update -= OnUpdate;
|
||||
if (_isExternalControlActivated)
|
||||
if(_isExternalControlActivated)
|
||||
{
|
||||
_disableExternalControl.InvokeFunc(_pluginName);
|
||||
}
|
||||
@ -48,13 +45,11 @@ internal sealed class TextAdvanceIpc : IDisposable
|
||||
|
||||
private void OnUpdate(IFramework framework)
|
||||
{
|
||||
bool hasActiveQuest = _questController.IsRunning ||
|
||||
_questController.AutomationType != QuestController.EAutomationType.Manual;
|
||||
if (_configuration.General.ConfigureTextAdvance && hasActiveQuest)
|
||||
if(_configuration.General.ConfigureTextAdvance && _questController.IsRunning)
|
||||
{
|
||||
if (!_isInExternalControl.InvokeFunc())
|
||||
if(!_isInExternalControl.InvokeFunc())
|
||||
{
|
||||
if (_enableExternalControl.InvokeFunc(_pluginName, _externalTerritoryConfig))
|
||||
if(_enableExternalControl.InvokeFunc(_pluginName, _externalTerritoryConfig))
|
||||
{
|
||||
_isExternalControlActivated = true;
|
||||
}
|
||||
@ -62,9 +57,9 @@ internal sealed class TextAdvanceIpc : IDisposable
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_isExternalControlActivated)
|
||||
if(_isExternalControlActivated)
|
||||
{
|
||||
if (_disableExternalControl.InvokeFunc(_pluginName) || !_isInExternalControl.InvokeFunc())
|
||||
if(_disableExternalControl.InvokeFunc(_pluginName) || !_isInExternalControl.InvokeFunc())
|
||||
{
|
||||
_isExternalControlActivated = false;
|
||||
}
|
||||
|
@ -452,6 +452,13 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
||||
Save();
|
||||
}
|
||||
|
||||
bool neverPortInSameZone = this._configuration.Advanced.NeverPortInSameZone;
|
||||
if (ImGui.Checkbox("Disable Aetheryte teleport in same zone", ref neverPortInSameZone))
|
||||
{
|
||||
_configuration.Advanced.NeverPortInSameZone = neverPortInSameZone;
|
||||
Save();
|
||||
}
|
||||
|
||||
bool additionalStatusInformation = _configuration.Advanced.AdditionalStatusInformation;
|
||||
if (ImGui.Checkbox("Draw additional status information", ref additionalStatusInformation))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user