muffin v7.38.7
This commit is contained in:
parent
317800fb39
commit
5e2d8f648b
7 changed files with 703 additions and 486 deletions
|
|
@ -137,6 +137,14 @@ internal sealed class QuestionableIpc : IDisposable
|
|||
|
||||
private const string IpcSetSequenceStopCondition = "Questionable.SetSequenceStopCondition";
|
||||
|
||||
private const string IpcGetQuestSequenceStopCondition = "Questionable.GetQuestSequenceStopCondition";
|
||||
|
||||
private const string IpcSetQuestSequenceStopCondition = "Questionable.SetQuestSequenceStopCondition";
|
||||
|
||||
private const string IpcRemoveQuestSequenceStopCondition = "Questionable.RemoveQuestSequenceStopCondition";
|
||||
|
||||
private const string IpcGetAllQuestSequenceStopConditions = "Questionable.GetAllQuestSequenceStopConditions";
|
||||
|
||||
private const string IpcGetAlliedSocietyRemainingAllowances = "Questionable.AlliedSociety.GetRemainingAllowances";
|
||||
|
||||
private const string IpcGetAlliedSocietyTimeUntilReset = "Questionable.AlliedSociety.GetTimeUntilReset";
|
||||
|
|
@ -259,6 +267,14 @@ internal sealed class QuestionableIpc : IDisposable
|
|||
|
||||
private readonly ICallGateProvider<bool, int, bool> _setSequenceStopCondition;
|
||||
|
||||
private readonly ICallGateProvider<string, int> _getQuestSequenceStopCondition;
|
||||
|
||||
private readonly ICallGateProvider<string, int, bool> _setQuestSequenceStopCondition;
|
||||
|
||||
private readonly ICallGateProvider<string, bool> _removeQuestSequenceStopCondition;
|
||||
|
||||
private readonly ICallGateProvider<Dictionary<string, int>> _getAllQuestSequenceStopConditions;
|
||||
|
||||
private readonly ICallGateProvider<int> _getAlliedSocietyRemainingAllowances;
|
||||
|
||||
private readonly ICallGateProvider<long> _getAlliedSocietyTimeUntilReset;
|
||||
|
|
@ -376,6 +392,14 @@ internal sealed class QuestionableIpc : IDisposable
|
|||
_getSequenceStopCondition.RegisterFunc(GetSequenceStopCondition);
|
||||
_setSequenceStopCondition = pluginInterface.GetIpcProvider<bool, int, bool>("Questionable.SetSequenceStopCondition");
|
||||
_setSequenceStopCondition.RegisterFunc(SetSequenceStopCondition);
|
||||
_getQuestSequenceStopCondition = pluginInterface.GetIpcProvider<string, int>("Questionable.GetQuestSequenceStopCondition");
|
||||
_getQuestSequenceStopCondition.RegisterFunc(GetQuestSequenceStopCondition);
|
||||
_setQuestSequenceStopCondition = pluginInterface.GetIpcProvider<string, int, bool>("Questionable.SetQuestSequenceStopCondition");
|
||||
_setQuestSequenceStopCondition.RegisterFunc(SetQuestSequenceStopCondition);
|
||||
_removeQuestSequenceStopCondition = pluginInterface.GetIpcProvider<string, bool>("Questionable.RemoveQuestSequenceStopCondition");
|
||||
_removeQuestSequenceStopCondition.RegisterFunc(RemoveQuestSequenceStopCondition);
|
||||
_getAllQuestSequenceStopConditions = pluginInterface.GetIpcProvider<Dictionary<string, int>>("Questionable.GetAllQuestSequenceStopConditions");
|
||||
_getAllQuestSequenceStopConditions.RegisterFunc(GetAllQuestSequenceStopConditions);
|
||||
_getAlliedSocietyRemainingAllowances = pluginInterface.GetIpcProvider<int>("Questionable.AlliedSociety.GetRemainingAllowances");
|
||||
_getAlliedSocietyRemainingAllowances.RegisterFunc(GetAlliedSocietyRemainingAllowances);
|
||||
_getAlliedSocietyTimeUntilReset = pluginInterface.GetIpcProvider<long>("Questionable.AlliedSociety.GetTimeUntilReset");
|
||||
|
|
@ -925,6 +949,7 @@ internal sealed class QuestionableIpc : IDisposable
|
|||
bool num = _configuration.Stop.QuestsToStopAfter.Remove(elementId);
|
||||
if (num)
|
||||
{
|
||||
_configuration.Stop.QuestSequences.Remove(questId);
|
||||
_pluginInterface.SavePluginConfig(_configuration);
|
||||
}
|
||||
return num;
|
||||
|
|
@ -935,6 +960,7 @@ internal sealed class QuestionableIpc : IDisposable
|
|||
private bool ClearStopQuests()
|
||||
{
|
||||
_configuration.Stop.QuestsToStopAfter.Clear();
|
||||
_configuration.Stop.QuestSequences.Clear();
|
||||
_pluginInterface.SavePluginConfig(_configuration);
|
||||
return true;
|
||||
}
|
||||
|
|
@ -981,6 +1007,49 @@ internal sealed class QuestionableIpc : IDisposable
|
|||
return true;
|
||||
}
|
||||
|
||||
private int GetQuestSequenceStopCondition(string questId)
|
||||
{
|
||||
if (_configuration.Stop.QuestSequences.TryGetValue(questId, out var value) && value.HasValue)
|
||||
{
|
||||
return value.Value;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
private bool SetQuestSequenceStopCondition(string questId, int targetSequence)
|
||||
{
|
||||
if (targetSequence < 0 || targetSequence > 255)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (ElementId.TryFromString(questId, out ElementId elementId) && elementId != null && _questRegistry.IsKnownQuest(elementId))
|
||||
{
|
||||
if (!_configuration.Stop.QuestsToStopAfter.Contains(elementId))
|
||||
{
|
||||
_configuration.Stop.QuestsToStopAfter.Add(elementId);
|
||||
}
|
||||
_configuration.Stop.QuestSequences[questId] = targetSequence;
|
||||
_pluginInterface.SavePluginConfig(_configuration);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool RemoveQuestSequenceStopCondition(string questId)
|
||||
{
|
||||
bool num = _configuration.Stop.QuestSequences.Remove(questId);
|
||||
if (num)
|
||||
{
|
||||
_pluginInterface.SavePluginConfig(_configuration);
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
private Dictionary<string, int> GetAllQuestSequenceStopConditions()
|
||||
{
|
||||
return _configuration.Stop.QuestSequences.Where<KeyValuePair<string, int?>>((KeyValuePair<string, int?> kvp) => kvp.Value.HasValue).ToDictionary((KeyValuePair<string, int?> kvp) => kvp.Key, (KeyValuePair<string, int?> kvp) => kvp.Value.Value);
|
||||
}
|
||||
|
||||
private unsafe int GetAlliedSocietyRemainingAllowances()
|
||||
{
|
||||
QuestManager* ptr = QuestManager.Instance();
|
||||
|
|
@ -1179,6 +1248,10 @@ internal sealed class QuestionableIpc : IDisposable
|
|||
_reorderPriorityQuest.UnregisterFunc();
|
||||
_removePriorityQuest.UnregisterFunc();
|
||||
_getPriorityQuests.UnregisterFunc();
|
||||
_getAllQuestSequenceStopConditions.UnregisterFunc();
|
||||
_removeQuestSequenceStopCondition.UnregisterFunc();
|
||||
_setQuestSequenceStopCondition.UnregisterFunc();
|
||||
_getQuestSequenceStopCondition.UnregisterFunc();
|
||||
_setSequenceStopCondition.UnregisterFunc();
|
||||
_getSequenceStopCondition.UnregisterFunc();
|
||||
_setLevelStopCondition.UnregisterFunc();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue