.Where(x => x.RowId > 0 && x.TerritoryType.RowId == targetTerritoryId);
foreach (var entry in warps)
{
- string excelName = entry.Name.ToString();
- string excelQuestion = entry.Question.ToString();
+ string excelName = entry.Name.WithCertainMacroCodeReplacements();
+ string excelQuestion = entry.Question.WithCertainMacroCodeReplacements();
if (!string.IsNullOrEmpty(excelQuestion) && GameFunctions.GameStringEquals(excelQuestion, actualPrompt))
{
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Text.RegularExpressions;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Plugin.Services;
private readonly InterruptHandler _interruptHandler;
private readonly ILogger<T> _logger;
- private readonly string _actionCanceledText;
+ private readonly Regex _actionCanceledText;
private readonly string _eventCanceledText;
private readonly string _cantExecuteDueToStatusText;
_condition = condition;
_eventCanceledText = dataManager.GetString<LogMessage>(1318, x => x.Text)!;
- _actionCanceledText = dataManager.GetString<LogMessage>(1314, x => x.Text)!;
+ _actionCanceledText = dataManager.GetRegex<LogMessage>(1314, x => x.Text)!;
_cantExecuteDueToStatusText = dataManager.GetString<LogMessage>(7728, x => x.Text)!;
_interruptHandler.Interrupted += HandleInterruption;
}
if (!isHandled)
{
- if (GameFunctions.GameStringEquals(_actionCanceledText, message.TextValue) &&
+ if (_actionCanceledText.IsMatch(message.TextValue) &&
!_condition[ConditionFlag.InFlight] &&
_taskQueue.CurrentTaskExecutor?.ShouldInterruptOnDamage() == true)
InterruptQueueWithCombat();
if (isRegex)
return new StringOrRegex(seString.ToRegex());
else
- return new StringOrRegex(seString?.ToDalamudString().ToString());
+ return new StringOrRegex(seString?.WithCertainMacroCodeReplacements());
}
public ReadOnlySeString? GetRawDialogueText(Quest? currentQuest, string? excelSheetName, string key)