using System; using System.Linq; using System.Runtime.CompilerServices; using System.Text.RegularExpressions; using Dalamud.Game.Text.SeStringHandling; using Dalamud.Plugin.Services; using Dalamud.Utility; using LLib; using Lumina.Excel.Exceptions; using Lumina.Excel.Sheets; using Lumina.Text.ReadOnly; using Microsoft.Extensions.Logging; using Questionable.Model; using Questionable.Model.Questing; namespace Questionable.Functions; internal sealed class ExcelFunctions { private readonly IDataManager _dataManager; private readonly ILogger _logger; public ExcelFunctions(IDataManager dataManager, ILogger logger) { _dataManager = dataManager; _logger = logger; } public StringOrRegex GetDialogueText(Questionable.Model.Quest? currentQuest, string? excelSheetName, string key, bool isRegex) { ReadOnlySeString? rawDialogueText = GetRawDialogueText(currentQuest, excelSheetName, key); int num = ((!isRegex) ? 1072501571 : 1072501572); while (true) { int num2 = num; int num3 = 1072501568; int num4 = num2; object str; switch ((num4 | num3) - (num4 & num3)) { case 0: num = 1072501572; break; case 3: num = (rawDialogueText.HasValue ? 1072501570 : 1072501569); break; case 1: str = null; goto IL_009e; case 2: str = _200D_206F_206A_202A_202D_200D_206B_202E_206C_202D_202A_200C_202E_200C_202B_200E_200C_202E_206C_202D_200C_202A_200C_200F_200C_200E_200D_206A_202E_202E_202B_200F_200C_206E_200D_202B_202A_200F_200D_206D_202E(rawDialogueText.GetValueOrDefault()); goto IL_009e; case 4: { return new StringOrRegex(_202D_202D_206D_202A_206F_202D_200F_206A_200B_206D_206E_200B_206C_202B_202B_200C_206B_200D_206C_202D_206F_202C_200E_206D_206B_200E_200E_200B_206B_202C_206D_202B_200B_206C_202C_206D_202A_206F_202D_206C_202E(rawDialogueText)); } IL_009e: return new StringOrRegex((string?)str); } } } [MethodImpl(MethodImplOptions.NoInlining)] public ReadOnlySeString? GetRawDialogueText(Questionable.Model.Quest? currentQuest, string? excelSheetName, string key) { int num = ((currentQuest == null) ? 29428304 : 29428309); Lumina.Excel.Sheets.Quest? rowOrDefault = default(Lumina.Excel.Sheets.Quest?); while (true) { int num2 = num; int num3 = 29428305; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 0: num = 29428309; break; case 2: rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault((uint)(_206E_202E_206E_200E_206E_200E_202C_200F_206E_206C_200C_202E_200B_202B_206E_200B_206D_202C_206E_206F_200E_202B_200B_202D_206D_206C_202A_200F_200C_206C_200E_206C_202C_200B_200D_202A_200E_200F_206F_200E_202E(currentQuest.Id) + 65536)); num = (rowOrDefault.HasValue ? 29428308 : 29428306); break; case 4: num = ((excelSheetName != null) ? 29428304 : 29428307); break; case 5: { DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(7, 2); 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(-1117536650)); defaultInterpolatedStringHandler.AppendFormatted(_206E_202E_206E_200E_206E_200E_202C_200F_206E_206C_200C_202E_200B_202B_206E_200B_206D_202C_206E_206F_200E_202B_200B_202D_206D_206C_202A_200F_200C_206C_200E_206C_202C_200B_200D_202A_200E_200F_206F_200E_202E(currentQuest.Id) / 100, 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(1475235233)); 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(503298330)); defaultInterpolatedStringHandler.AppendFormatted(rowOrDefault.Value.Id); excelSheetName = defaultInterpolatedStringHandler.ToStringAndClear(); num = 29428304; break; } case 3: _202A_206D_200D_202A_200D_202C_200F_206C_202E_202A_200E_206B_200C_200E_200B_202D_200E_200F_202B_202A_200F_206C_200B_200F_200B_206A_200F_202C_200B_206D_202B_206A_202E_200F_202B_200E_202C_200D_206F_200F_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(1164547809), new object[1] { currentQuest.Id }); return null; case 1: _200B_200E_202A_202E_206D_206D_200D_202D_206E_206D_206E_206D_206E_202C_202A_206B_202A_206B_206F_206B_202D_202D_200B_202A_206F_206B_206B_202C_206D_202E_202C_206E_200E_206A_202E_202C_202D_200C_200C_206D_202E((object)excelSheetName, 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(-1394089071)); try { IDataManager dataManager = _dataManager; string name = excelSheetName; return dataManager.GetExcelSheet(null, name).Cast().FirstOrDefault((QuestDialogueText? x) => x.Value.Key == key)?.Value; } catch (SheetNotFoundException ex) { throw _202C_202B_202E_200D_202B_206A_200D_206B_200C_200C_206F_200D_200C_206A_200D_200F_200D_202B_206B_200E_206B_200D_206C_200B_206E_206D_200C_200C_200E_206C_206B_206C_202A_206E_206F_202B_202E_202D_206D_202C_202E(_202E_202B_200D_206E_202D_200B_206E_202E_206C_206E_206E_202C_200B_200C_202C_206C_206E_200B_200D_206F_206E_206E_206A_206E_206E_206E_202C_202C_206A_200D_200C_200B_200D_200C_206B_202D_206E_206D_202B_206A_202E(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(517692364), excelSheetName, 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(-1767050032)), (Exception)ex); } } } } public StringOrRegex GetDialogueTextByRowId(string? excelSheet, uint rowId, bool isRegex) { ReadOnlySeString? rawDialogueTextByRowId = GetRawDialogueTextByRowId(excelSheet, rowId); int num = ((!isRegex) ? 22562861 : 22562856); object str; while (true) { int num2 = num; int num3 = 22562857; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { default: continue; case 0: str = null; break; case 1: return new StringOrRegex(_202D_202D_206D_202A_206F_202D_200F_206A_200B_206D_206E_200B_206C_202B_202B_200C_206B_200D_206C_202D_206F_202C_200E_206D_206B_200E_200E_200B_206B_202C_206D_202B_200B_206C_202C_206D_202A_206F_202D_206C_202E(rawDialogueTextByRowId)); case 4: num = (rawDialogueTextByRowId.HasValue ? 22562858 : 22562857); continue; case 2: num = 22562856; continue; case 3: str = _202E_200B_206D_206C_206E_202A_200E_202B_206B_206C_202A_200C_202E_206E_206A_206E_202E_206F_202B_200D_202D_206A_202D_200C_200B_206A_202D_206E_206E_200C_200F_202A_200F_206E_206A_200B_202C_202E_202D_202E((object)_202E_206E_206A_206A_206E_200F_202D_200E_206E_200E_200D_200D_200E_202B_200B_200B_206C_202A_206C_200C_200B_200F_202D_200E_206D_200B_206E_202A_202A_206E_206C_206C_200B_202C_200B_206F_200D_202D_200E_206C_202E(rawDialogueTextByRowId.GetValueOrDefault())); break; } break; } return new StringOrRegex((string?)str); } [MethodImpl(MethodImplOptions.NoInlining)] public ReadOnlySeString? GetRawDialogueTextByRowId(string? excelSheet, uint rowId) { int num = ((!_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, 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(-1570338980))) ? (-409733808) : (-409733813)); GilShop? rowOrDefault3 = default(GilShop?); Addon? rowOrDefault4 = default(Addon?); ContentTalk? rowOrDefault = default(ContentTalk?); bool flag = default(bool); EventPathMove? rowOrDefault6 = default(EventPathMove?); Warp? rowOrDefault5 = default(Warp?); GimmickYesNo? rowOrDefault2 = default(GimmickYesNo?); while (true) { int num2 = num; int num3 = -409733800; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 3: rowOrDefault3 = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); num = (rowOrDefault3.HasValue ? (-409733798) : (-409733820)); break; case 11: num = ((excelSheet != null) ? (-409733821) : (-409733807)); break; case 22: return rowOrDefault4.GetValueOrDefault().Text; case 5: rowOrDefault = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); num = (rowOrDefault.HasValue ? (-409733793) : (-409733800)); break; case 21: rowOrDefault4 = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); num = (rowOrDefault4.HasValue ? (-409733810) : (-409733816)); break; case 0: return null; case 18: num = ((!_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, 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(1839428582))) ? (-409733801) : (-409733797)); break; case 27: flag = false; num = -409733803; break; case 6: return rowOrDefault6.GetValueOrDefault().Unknown0; case 10: num = -409733813; break; case 9: flag = true; num = -409733803; break; case 2: return rowOrDefault3.GetValueOrDefault().Name; case 24: throw _206A_202E_206F_200C_206F_202E_202C_202B_202A_206C_200C_206F_200E_206B_200E_202E_202E_202D_200B_200B_200F_206B_202D_202C_206F_206F_200D_200C_202C_202B_206C_200B_202C_200C_202B_206A_202E_206A_200B_206A_202E(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(-1185562918), _206C_206C_200E_200C_206A_200F_202A_206A_206A_202D_206E_206A_200D_200D_206E_202B_200B_200B_200D_206F_200B_206F_206D_200F_202D_206E_202D_206D_202C_206D_200B_206D_206E_200C_206E_206D_206A_206B_202A_206F_202E(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(2034463000), excelSheet)); case 4: return null; case 13: num = ((!flag) ? (-409733824) : (-409733795)); break; case 14: num = ((!_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, 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(1204948289))) ? (-409733814) : (-409733804)); break; case 8: num = ((!_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, 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(1428251349))) ? (-409733812) : (-409733822)); break; case 12: rowOrDefault6 = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); num = (rowOrDefault6.HasValue ? (-409733794) : (-409733823)); break; case 1: return rowOrDefault5.GetValueOrDefault().Name; case 23: return null; case 26: rowOrDefault5 = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); num = (rowOrDefault5.HasValue ? (-409733799) : (-409733809)); break; case 16: return null; case 17: return rowOrDefault2.GetValueOrDefault().Message; case 20: num = ((!_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, 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(322628157))) ? (-409733802) : (-409733811)); break; case 15: num = (_200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(excelSheet, 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(492487113)) ? (-409733807) : (-409733805)); break; case 19: rowOrDefault2 = _dataManager.GetExcelSheet().GetRowOrDefault(rowId); num = (rowOrDefault2.HasValue ? (-409733815) : (-409733796)); break; case 7: return rowOrDefault.GetValueOrDefault().Text; case 28: return null; case 25: return null; } } } static Regex _202D_202D_206D_202A_206F_202D_200F_206A_200B_206D_206E_200B_206C_202B_202B_200C_206B_200D_206C_202D_206F_202C_200E_206D_206B_200E_200E_200B_206B_202C_206D_202B_200B_206C_202C_206D_202A_206F_202D_206C_202E(ReadOnlySeString? P_0) { return P_0.ToRegex(); } static string _200D_206F_206A_202A_202D_200D_206B_202E_206C_202D_202A_200C_202E_200C_202B_200E_200C_202E_206C_202D_200C_202A_200C_200F_200C_200E_200D_206A_202E_202E_202B_200F_200C_206E_200D_202B_202A_200F_200D_206D_202E(ReadOnlySeString P_0) { return P_0.WithCertainMacroCodeReplacements(); } static ushort _206E_202E_206E_200E_206E_200E_202C_200F_206E_206C_200C_202E_200B_202B_206E_200B_206D_202C_206E_206F_200E_202B_200B_202D_206D_206C_202A_200F_200C_206C_200E_206C_202C_200B_200D_202A_200E_200F_206F_200E_202E(ElementId P_0) { return P_0.Value; } static void _202A_206D_200D_202A_200D_202C_200F_206C_202E_202A_200E_206B_200C_200E_200B_202D_200E_200F_202B_202A_200F_206C_200B_200F_200B_206A_200F_202C_200B_206D_202B_206A_202E_200F_202B_200E_202C_200D_206F_200F_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogError(P_1, P_2); } static void _200B_200E_202A_202E_206D_206D_200D_202D_206E_206D_206E_206D_206E_202C_202A_206B_202A_206B_206F_206B_202D_202D_200B_202A_206F_206B_206B_202C_206D_202E_202C_206E_200E_206A_202E_202C_202D_200C_200C_206D_202E(object P_0, string P_1) { ArgumentNullException.ThrowIfNull(P_0, P_1); } static string _202E_202B_200D_206E_202D_200B_206E_202E_206C_206E_206E_202C_200B_200C_202C_206C_206E_200B_200D_206F_206E_206E_206A_206E_206E_206E_202C_202C_206A_200D_200C_200B_200D_200C_206B_202D_206E_206D_202B_206A_202E(string P_0, string P_1, string P_2) { return P_0 + P_1 + P_2; } static SheetNotFoundException _202C_202B_202E_200D_202B_206A_200D_206B_200C_200C_206F_200D_200C_206A_200D_200F_200D_202B_206B_200E_206B_200D_206C_200B_206E_206D_200C_200C_200E_206C_206B_206C_202A_206E_206F_202B_202E_202D_206D_202C_202E(string P_0, Exception P_1) { return new SheetNotFoundException(P_0, P_1); } static SeString _202E_206E_206A_206A_206E_200F_202D_200E_206E_200E_200D_200D_200E_202B_200B_200B_206C_202A_206C_200C_200B_200F_202D_200E_206D_200B_206E_202A_202A_206E_206C_206C_200B_202C_200B_206F_200D_202D_200E_206C_202E(ReadOnlySeString P_0) { return P_0.ToDalamudString(); } static string _202E_200B_206D_206C_206E_202A_200E_202B_206B_206C_202A_200C_202E_206E_206A_206E_202E_206F_202B_200D_202D_206A_202D_200C_200B_206A_202D_206E_206E_200C_200F_202A_200F_206E_206A_200B_202C_202E_202D_202E(object P_0) { return P_0.ToString(); } static bool _200B_202C_200E_206D_202B_206C_206B_206E_206F_206F_202D_200D_202C_206A_202D_200E_206E_206D_200E_200B_202C_200F_200D_202B_202E_200E_200D_200D_202B_206F_202A_206C_206B_206D_200C_200F_202B_200C_206F_200C_202E(string P_0, string P_1) { return P_0 == P_1; } static string _206C_206C_200E_200C_206A_200F_202A_206A_206A_202D_206E_206A_200D_200D_206E_202B_200B_200B_200D_206F_200B_206F_206D_200F_202D_206E_202D_206D_202C_206D_200B_206D_206E_200C_206E_206D_206A_206B_202A_206F_202E(string P_0, string P_1) { return P_0 + P_1; } static ArgumentOutOfRangeException _206A_202E_206F_200C_206F_202E_202C_202B_202A_206C_200C_206F_200E_206B_200E_202E_202E_202D_200B_200B_200F_206B_202D_202C_206F_206F_200D_200C_202C_202B_206C_200B_202C_200C_202B_206A_202E_206A_200B_206A_202E(string P_0, string P_1) { return new ArgumentOutOfRangeException(P_0, P_1); } }