1
0
Fork 0
forked from aly/qstbak

muffin v7.5.6

This commit is contained in:
alydev 2026-08-17 20:27:25 +10:00
parent 6266f9e6b7
commit addf2d530f
619 changed files with 264792 additions and 446022 deletions

View file

@ -1,19 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Game.Gui.ContextMenu;
using Dalamud.Game.Text;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.UI;
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using FFXIVClientStructs.FFXIV.Component.GUI;
using LLib.GameData;
using LLib.GameUI;
using LLib.Shop;
using Lumina.Excel;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using Questionable.Data;
using Questionable.Functions;
using Questionable.GameStructs;
using Questionable.Model;
using Questionable.Model.Gathering;
using Questionable.Model.Questing;
@ -22,6 +28,39 @@ namespace Questionable.Controller;
internal sealed class ContextMenuController : IDisposable
{
[Serializable]
[CompilerGenerated]
private sealed class _003C_003Ec
{
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
public static Func<IQuestInfo, bool> _003C_003E9__16_0;
public static Func<QuestStep, bool> _003C_003E9__16_1;
public static Func<QuestStep, bool> _003C_003E9__16_2;
internal bool _003CStartGathering_003Eb__16_0(IQuestInfo x)
{
return x is SatisfactionSupplyInfo;
}
internal bool _003CStartGathering_003Eb__16_1(QuestStep x)
{
return _200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.SwitchClass;
}
internal bool _003CStartGathering_003Eb__16_2(QuestStep x)
{
return _200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.Gather;
}
static EInteractionType _200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(QuestStep P_0)
{
return P_0.InteractionType;
}
}
private readonly IContextMenu _contextMenu;
private readonly QuestController _questController;
@ -42,13 +81,11 @@ internal sealed class ContextMenuController : IDisposable
private readonly IChatGui _chatGui;
private readonly IClientState _clientState;
private readonly IObjectTable _objectTable;
private readonly ILogger<ContextMenuController> _logger;
public ContextMenuController(IContextMenu contextMenu, QuestController questController, GatheringPointRegistry gatheringPointRegistry, GatheringData gatheringData, QuestRegistry questRegistry, QuestData questData, GameFunctions gameFunctions, QuestFunctions questFunctions, IGameGui gameGui, IChatGui chatGui, IClientState clientState, IObjectTable objectTable, ILogger<ContextMenuController> logger)
public ContextMenuController(IContextMenu contextMenu, QuestController questController, GatheringPointRegistry gatheringPointRegistry, GatheringData gatheringData, QuestRegistry questRegistry, QuestData questData, GameFunctions gameFunctions, QuestFunctions questFunctions, IGameGui gameGui, IChatGui chatGui, IObjectTable objectTable, ILogger<ContextMenuController> logger)
{
_contextMenu = contextMenu;
_questController = questController;
@ -60,164 +97,508 @@ internal sealed class ContextMenuController : IDisposable
_questFunctions = questFunctions;
_gameGui = gameGui;
_chatGui = chatGui;
_clientState = clientState;
_objectTable = objectTable;
_logger = logger;
_contextMenu.OnMenuOpened += MenuOpened;
_200F_206F_200F_206C_202E_200D_206B_206E_200B_206A_202A_206E_202C_200F_200B_206D_200C_206E_206F_202B_202E_202C_200C_206A_200C_206E_202D_200C_200F_200E_202A_202C_206E_206A_200B_206C_206F_202D_200D_202A_202E(_contextMenu, (IContextMenu.OnMenuOpenedDelegate)MenuOpened);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void MenuOpened(IMenuOpenedArgs args)
{
if (args.AddonName != null)
int num = ((_206F_200E_206E_206C_206D_206E_206C_202B_202C_206C_200D_202D_200D_202C_206D_206F_200C_202C_200D_202E_200E_202C_206A_200E_202D_202B_202B_202D_200D_206F_206B_206A_202A_200E_202B_206D_206E_206D_206B_206B_202E((IMenuArgs)args) == null) ? (-1062811854) : (-1062811842));
uint num6 = default(uint);
uint npcId = default(uint);
while (true)
{
return;
}
uint num = GetHoveredSatisfactionSupplyItemId();
if (num == 0)
{
_logger.LogTrace("Ignoring context menu, no item hovered");
return;
}
if (num > 1000000)
{
num -= 1000000;
}
if (num >= 500000)
{
num -= 500000;
}
if (_gatheringData.TryGetCustomDeliveryNpc(num, out var npcId))
{
AddContextMenuEntry(args, num, npcId, EClassJob.Miner, "Mine");
AddContextMenuEntry(args, num, npcId, EClassJob.Botanist, "Harvest");
}
else
{
_logger.LogDebug("No custom delivery NPC found for item {ItemId}.", num);
int num2 = num;
int num3 = -1062811852;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
case 0:
AddContextMenuEntry(args, num6, npcId, EClassJob.Miner, 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<string>(-1250223418));
AddContextMenuEntry(args, num6, npcId, EClassJob.Botanist, 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<string>(-1145016567));
return;
case 9:
_206F_200F_202B_206E_200F_200B_202E_202C_200D_202A_206B_206C_202D_202C_202C_200D_206D_202A_200F_200D_202E_206B_202D_200B_202E_202A_202E_202C_206A_200E_202D_206B_206D_200C_206E_206D_200C_200D_206E_200F_202E((ILogger)_logger, 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<string>(-1140543498), Array.Empty<object>());
return;
case 3:
num = ((!_gatheringData.TryGetCustomDeliveryNpc(num6, out npcId)) ? (-1062811856) : (-1062811852));
break;
case 7:
{
uint num7 = num6;
num3 = 500000;
num4 = (int)num7;
num6 = (uint)(~(~num4 + num3));
num = -1062811849;
break;
}
case 5:
num = ((num6 < 500000) ? (-1062811849) : (-1062811853));
break;
case 6:
num6 = GetHoveredSatisfactionSupplyItemId();
num = ((num6 != 0) ? (-1062811851) : (-1062811843));
break;
case 1:
num = ((num6 <= 1000000) ? (-1062811855) : (-1062811844));
break;
case 10:
return;
case 4:
_206C_206A_200B_202B_202B_206D_200C_200B_206F_206B_200B_200B_200B_206D_206B_202A_202D_202C_206E_202C_206C_206D_200C_206D_206D_206D_200D_206E_202C_206F_202D_202E_202A_206B_202A_200C_206D_206C_200D_202C_202E((ILogger)_logger, 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<string>(-965966202), new object[1] { num6 });
return;
case 8:
{
uint num5 = num6;
num3 = 1000000;
num4 = (int)num5;
num6 = (uint)(~(~num4 + num3));
num = -1062811855;
break;
}
case 2:
num = -1062811842;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe uint GetHoveredSatisfactionSupplyItemId()
{
AgentSatisfactionSupply* ptr = AgentSatisfactionSupply.Instance();
if (ptr == null || !ptr->IsAgentActive())
int num = ((ptr == null) ? (-247318127) : (-247318126));
int hoveredElementIndex = default(int);
AddonSatisfactionSupply* addonPtr = default(AddonSatisfactionSupply*);
while (true)
{
return 0u;
}
if (_gameGui.TryGetAddonByName<AddonSatisfactionSupply>("SatisfactionSupply", out var addonPtr) && LAddon.IsAddonReady(&addonPtr->AtkUnitBase))
{
int hoveredElementIndex = addonPtr->HoveredElementIndex;
if (hoveredElementIndex >= 0 && hoveredElementIndex <= 2)
int num2 = num;
int num3 = -247318122;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
hoveredElementIndex = addonPtr->HoveredElementIndex;
num = ((hoveredElementIndex < 0) ? (-247318114) : (-247318125));
break;
case 4:
num = (ptr->IsAgentActive() ? (-247318121) : (-247318127));
break;
case 7:
return 0u;
case 8:
return 0u;
case 2:
num = -247318126;
break;
case 6:
return ptr->Items[addonPtr->HoveredElementIndex].Id;
case 3:
num = ((!_200F_206B_200B_202D_200D_206B_202A_200F_202A_200D_202B_202C_202B_206D_202D_202C_202C_202A_200F_200E_200C_202D_200D_202D_206E_202A_200D_200C_206F_200F_206A_200E_202A_206D_206B_200B_202E_206C_200C_202D_202E(&addonPtr->AtkUnitBase)) ? (-247318114) : (-247318122));
break;
case 1:
num = ((!_gameGui.TryGetAddonByName<AddonSatisfactionSupply>(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<string>(1921233017), out addonPtr)) ? (-247318114) : (-247318123));
break;
case 5:
num = ((hoveredElementIndex > 2) ? (-247318114) : (-247318128));
break;
}
}
return 0u;
}
[MethodImpl(MethodImplOptions.NoInlining)]
private unsafe void AddContextMenuEntry(IMenuOpenedArgs args, uint itemId, uint npcId, EClassJob classJob, string verb)
{
if (!(_objectTable[0] is ICharacter { ClassJob: var classJob2 }))
ICharacter character = _200F_206F_202D_200D_202D_202C_206E_200B_206A_206F_202A_206C_202E_206F_202C_200C_202A_200E_200D_200C_206C_202B_202B_200E_202C_202C_206B_206D_202E_206E_206D_202B_200C_200C_206F_206D_202A_200B_200B_206C_202E(_objectTable);
int num = ((character != null) ? (-1338961886) : (-1338961880));
bool flag2 = default(bool);
AgentSatisfactionSupply* ptr = default(AgentSatisfactionSupply*);
SatisfactionSupplyActions.NpcState npcState = default(SatisfactionSupplyActions.NpcState);
string text2 = default(string);
int quantityToGather = default(int);
string text = default(string);
ushort collectability = default(ushort);
bool flag = default(bool);
EClassJob rowId = default(EClassJob);
while (true)
{
return;
}
EClassJob rowId = (EClassJob)classJob2.RowId;
bool flag = classJob != rowId;
if (flag)
{
bool flag2 = rowId - 16 <= EClassJob.Gladiator;
flag = flag2;
}
if (flag)
{
return;
}
if (!_gatheringPointRegistry.TryGetGatheringPointId(itemId, classJob, out GatheringPointId _))
{
_logger.LogInformation("No gathering point found for {ClassJob}.", classJob);
return;
}
ushort collectability = _gatheringData.GetRecommendedCollectability(itemId);
int quantityToGather = ((collectability > 0) ? 6 : int.MaxValue);
if (collectability != 0)
{
AgentSatisfactionSupply* ptr = AgentSatisfactionSupply.Instance();
if (ptr->IsAgentActive())
int num2 = num;
int num3 = -1338961879;
int num4 = num2;
int num5;
int num6;
switch ((num4 | num3) - (num4 & num3))
{
int maxTurnIns = ((ptr->NpcInfo.SatisfactionRank == 1) ? 3 : 6);
quantityToGather = Math.Min(ptr->NpcData.RemainingAllowances, ((AgentSatisfactionSupply2*)ptr)->CalculateTurnInsToNextRank(maxTurnIns));
case 16:
flag2 = true;
num = -1338961860;
break;
case 3:
{
uint id = ptr->NpcInfo.Id;
num3 = 1;
num4 = (int)id;
npcState = _200F_206E_206E_206C_206B_202B_202A_206F_200F_206C_206A_200C_206E_206E_206E_202B_206B_206D_200C_206A_200F_206E_206F_200D_206F_200F_202E_202C_202E_202A_202C_200E_202C_200C_200E_206C_206A_202B_202D_206B_202E(~(~num4 + num3));
num = ((ptr->NpcInfo.SatisfactionRank == 1) ? (-1338961874) : (-1338961864));
break;
}
string text = string.Empty;
if (!_questFunctions.IsClassJobUnlocked(classJob))
case 20:
num = ((!_gameFunctions.IsOccupied()) ? (-1338961877) : (-1338961862));
break;
case 0:
{
text = $"{classJob} not unlocked";
num = (_gatheringPointRegistry.TryGetGatheringPointId(itemId, classJob, out GatheringPointId _) ? (-1338961882) : (-1338961875));
break;
}
else if (quantityToGather == 0)
case 12:
text2 = string.Empty;
num = (_questFunctions.IsClassJobUnlocked(classJob) ? (-1338961873) : (-1338961861));
break;
case 1:
return;
case 6:
num = ((quantityToGather != 0) ? (-1338961884) : (-1338961881));
break;
case 25:
return;
case 19:
text2 = 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<string>(-631894183);
num = -1338961877;
break;
case 5:
flag2 = false;
num = -1338961860;
break;
case 23:
return;
case 2:
text = _202B_206C_206F_202D_202C_206C_206C_206C_200E_206B_202C_206A_200F_206A_206F_200C_200C_200E_206E_202E_200B_200F_206F_206D_206C_206D_206E_200E_202A_206A_202D_202B_206F_200F_206D_200E_202A_200B_200C_200E_202E(verb, 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<string>(-608478114));
num = (_200D_206D_206D_202B_202D_200E_202D_200D_200B_200D_200D_202C_206C_206F_206B_202C_200D_202C_202C_202B_200C_202B_206E_202E_206E_200C_202A_200B_206C_200F_202E_206D_200C_200E_202C_206A_202B_206E_200B_202E_202E(text2) ? (-1338961888) : (-1338961885));
break;
case 9:
{
text = "No allowances";
}
else if (quantityToGather > _gameFunctions.GetFreeInventorySlots())
{
text = "Inventory full";
}
else if (_gameFunctions.IsOccupied())
{
text = "Can't be used while interacting";
}
string text2 = verb + " with Questionable";
if (!string.IsNullOrEmpty(text))
{
text2 = text2 + " (" + text + ")";
}
args.AddMenuItem(new MenuItem
{
Prefix = SeIconChar.Hyadelyn,
PrefixColor = 52,
Name = text2,
OnClicked = delegate
MenuItem menuItem = _206C_200F_200F_202C_202B_206F_206B_202A_202A_206D_202E_206E_206E_200C_200F_206E_200E_206A_202D_202A_206E_206A_202C_206E_202C_200E_202A_206A_200B_200B_202E_200F_202C_200D_202C_206E_200C_202B_206F_206C_202E();
_200F_202B_206E_202E_200E_202E_206B_202A_206D_202C_206B_202C_206C_202B_202A_206A_202A_200C_202B_200B_200F_206D_202B_200D_200E_202D_200E_206B_202C_200B_206C_200F_206D_200E_202E_200C_200E_202B_200F_202C_202E(menuItem, (SeIconChar?)SeIconChar.Hyadelyn);
_202A_206C_200E_206B_206C_206C_206E_200C_200E_202C_202E_200C_200F_206D_202E_200C_202E_206C_202A_202E_200F_206B_206A_202D_206B_200F_200D_200C_200D_200D_206E_200C_200C_200E_200C_206B_200D_202C_202E(menuItem, (ushort)52);
_200E_206C_206D_202C_206A_200D_206A_202C_202D_202C_202E_200E_200C_200B_202A_202C_200C_206B_206E_206B_200F_200B_206A_206C_206F_206E_206F_200B_202C_200B_200C_200B_206F_206E_200B_200D_206B_206C_202A_200E_202E(menuItem, _202D_206A_202C_206F_202B_202B_206B_206B_206F_202A_202E_206C_202A_202B_206D_200F_206D_206E_206F_202B_200D_202D_202D_206F_200D_200F_202E_206B_202D_200E_200D_206F_206B_202C_200B_200D_206C_206F_206B_202C_202E(text));
_202C_206D_200F_202E_200F_200B_206A_200F_202B_206A_202B_206C_206E_202A_206E_202D_206D_200F_202B_206E_206B_206E_200D_200C_200E_200C_200D_200F_200E_206F_202D_206F_206D_206A_206D_206F_200D_202D_202D_202C_202E(menuItem, (Action<IMenuItemClickedArgs>)delegate
{
StartGathering(npcId, itemId, quantityToGather, collectability, classJob);
},
IsEnabled = string.IsNullOrEmpty(text)
});
});
_206E_202A_202E_200F_202D_200D_202B_202D_206C_202B_200E_202B_206D_202B_202E_202C_200E_202D_200D_200C_202E_200D_202D_202C_200E_202A_206D_200C_202C_206C_206B_202C_200B_202A_202C_200C_200C_206B_206E_206A_202E(menuItem, _200D_206D_206D_202B_202D_200E_202D_200D_200B_200D_200D_202C_206C_206F_206B_202C_200D_202C_202C_202B_200C_202B_206E_202E_206E_200C_202A_200B_206C_200F_202E_206D_200C_200E_202C_206A_202B_206E_200B_202E_202E(text2));
_200E_202A_200E_200B_202C_200E_206E_200C_206B_206E_202B_202E_206C_200D_200B_200D_202B_206F_200C_202D_202A_200D_200E_206E_206B_206C_202A_206A_202B_202B_206D_206D_206A_206E_206A_202D_202C_202E_200C_206E_202E(args, menuItem);
return;
}
case 7:
num5 = 3;
goto IL_0299;
case 15:
collectability = _gatheringData.GetRecommendedCollectability(itemId);
num = ((collectability != 0) ? (-1338961870) : (-1338961858));
break;
case 4:
_206C_206A_200B_202B_202B_206D_200C_200B_206F_206B_200B_200B_200B_206D_206B_202A_202D_202C_206E_202C_206C_206D_200C_206D_206D_206D_200D_206E_202C_206F_202D_202E_202A_206B_202A_200C_206D_206C_200D_202C_202E((ILogger)_logger, 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<string>(956356199), new object[1] { classJob });
return;
case 14:
text2 = 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<string>(782238798);
num = -1338961877;
break;
case 18:
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 1);
defaultInterpolatedStringHandler.AppendFormatted(classJob);
defaultInterpolatedStringHandler.AppendLiteral(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<string>(162231008));
text2 = defaultInterpolatedStringHandler.ToStringAndClear();
num = -1338961877;
break;
}
case 24:
text2 = 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<string>(-1616176717);
num = -1338961877;
break;
case 8:
num = ((!flag) ? (-1338961879) : (-1338961872));
break;
case 17:
num5 = 6;
goto IL_0299;
case 10:
text = _206E_200F_206C_202A_206A_206D_200B_202D_200F_202E_206C_206E_200B_200E_202A_206D_200C_206D_202A_206F_202C_202D_202C_200E_200B_202B_202A_200E_202D_206A_202D_202A_200D_202E_202C_202A_200F_200D_206B_206C_202E(text, 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<string>(-1495931675), text2, 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<string>(1735737295));
num = -1338961888;
break;
case 27:
quantityToGather = 6;
ptr = AgentSatisfactionSupply.Instance();
num = ((!ptr->IsAgentActive()) ? (-1338961883) : (-1338961878));
break;
case 26:
num = -1338961880;
break;
case 21:
flag = flag2;
num = -1338961887;
break;
case 22:
num = ((rowId - 16 > EClassJob.Gladiator) ? (-1338961876) : (-1338961863));
break;
case 11:
rowId = (EClassJob)_200B_206E_202D_206D_200F_200C_200D_206B_202D_200F_202B_206A_206F_200F_200E_202B_200E_206D_202C_202E_206C_206F_200B_200E_200E_206D_200F_202C_200E_206D_206D_202E_202C_200F_200E_206C_200F_202A_202D_206C_202E(character).RowId;
flag = classJob != rowId;
num = ((!flag) ? (-1338961887) : (-1338961857));
break;
case 13:
{
num = ((quantityToGather <= _gameFunctions.GetFreeInventorySlots()) ? (-1338961859) : (-1338961871));
break;
}
IL_0299:
num6 = num5;
quantityToGather = _206E_202E_206A_206F_200F_206B_206E_206F_202A_200C_200B_206A_200C_206D_206E_200E_200E_206A_200B_200D_202C_202E_200E_202C_206E_206E_202A_206B_206A_206B_200F_206B_206B_206A_202B_202D_206F_206E_206C_206C_202E((int)ptr->NpcData.RemainingAllowances, _200B_206A_202A_202D_202C_206C_202D_202C_206D_202E_200F_206C_202D_206F_202A_206C_206D_206E_202E_200D_202C_202D_206F_206E_200C_200F_202C_206F_206A_200F_206A_206D_206C_200B_202D_206A_200F_202D_200E_200F_202E((ushort)npcState.SatisfactionCurrent, (ushort)npcState.SatisfactionMax, num6));
num = -1338961883;
break;
}
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
private void StartGathering(uint npcId, uint itemId, int quantity, ushort collectability, EClassJob classJob)
{
SatisfactionSupplyInfo satisfactionSupplyInfo = (SatisfactionSupplyInfo)_questData.GetAllByIssuerDataId(npcId).Single((IQuestInfo x) => x is SatisfactionSupplyInfo);
if (_questRegistry.TryGetQuest(satisfactionSupplyInfo.QuestId, out Quest quest))
Questionable.Model.Quest quest;
int num = ((!_questRegistry.TryGetQuest(satisfactionSupplyInfo.QuestId, out quest)) ? (-1785451051) : (-1785451044));
EExtendedClassJob eExtendedClassJob = default(EExtendedClassJob);
QuestStep questStep = default(QuestStep);
QuestSequence questSequence = default(QuestSequence);
while (true)
{
QuestSequence questSequence = quest.FindSequence(0);
QuestStep questStep = questSequence.Steps.Single((QuestStep x) => x.InteractionType == EInteractionType.SwitchClass);
questStep.TargetClass = classJob switch
int num2 = num;
int num3 = -1785451052;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
EClassJob.Miner => EExtendedClassJob.Miner,
EClassJob.Botanist => EExtendedClassJob.Botanist,
_ => throw new ArgumentOutOfRangeException("classJob", classJob, null),
};
QuestStep questStep2 = questSequence.Steps.Single((QuestStep x) => x.InteractionType == EInteractionType.Gather);
int num = 1;
List<GatheredItem> list = new List<GatheredItem>(num);
CollectionsMarshal.SetCount(list, num);
CollectionsMarshal.AsSpan(list)[0] = new GatheredItem
case 3:
num = -1785451050;
break;
case 0:
eExtendedClassJob = EExtendedClassJob.Miner;
num = -1785451056;
break;
case 5:
num = -1785451044;
break;
case 4:
{
ItemId = itemId,
ItemCount = quantity,
Collectability = collectability
};
questStep2.ItemsToGather = list;
_questController.SetGatheringQuest(quest);
_questController.StartGatheringQuest("SatisfactionSupply prepare gathering");
}
else
{
_chatGui.PrintError($"No associated quest ({satisfactionSupplyInfo.QuestId}).", "Questionable");
_206E_206F_200D_202A_206B_202D_202A_206C_202E_200D_200B_200C_202D_206E_206E_202A_202B_206C_202B_200D_200C_200D_200B_206D_206D_200B_202C_202A_206E_200D_200D_202A_206D_206E_202A_202E_206E_202A_206A_206F_202E(questStep, eExtendedClassJob);
QuestStep questStep2 = _202D_202E_202E_200D_206D_206F_206E_200E_200E_206D_206D_202C_200B_206C_206D_206F_206D_206E_200E_206E_206B_202A_202E_206E_202C_202C_202B_202E_206A_206A_206F_200B_202D_206C_202A_200D_202C_200F_206E_202B_202E(questSequence).Single((QuestStep x) => _003C_003Ec._200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.Gather);
int num5 = 1;
List<GatheredItem> list = new List<GatheredItem>(num5);
CollectionsMarshal.SetCount(list, num5);
ref GatheredItem reference = ref CollectionsMarshal.AsSpan(list)[0];
GatheredItem gatheredItem = _206A_206F_200E_200E_206A_206E_202B_202B_206F_200B_200F_206E_200B_206E_200C_200E_206C_202C_202D_206A_202E_200E_206C_206D_202C_200B_206C_206C_202D_206E_200D_202C_200B_202D_200E_200F_202C_206E_206A_200C_202E();
_202D_200F_206F_202A_200F_202E_206C_206B_200F_200C_202C_206C_200D_202E_202D_202A_206A_200B_206F_206F_200B_200B_200E_202E_200E_206C_202A_202D_202A_206B_206A_202D_200E_206A_202C_202C_206D_200B_202B_206A_202E(gatheredItem, itemId);
_202C_200B_200D_206C_206A_202C_202A_206D_202C_206F_200B_200D_206F_202E_206E_202E_206D_206B_200F_202A_202A_206F_200C_202A_206E_200B_202D_206C_206A_206C_206C_206E_206F_206D_206E_200F_202D_200D_200C_200E_202E(gatheredItem, quantity);
_206A_206C_200E_206B_206D_200D_200B_200F_200F_202C_206F_200E_200C_206F_202B_206D_206B_202C_206F_202D_206F_202A_202B_206B_206C_200C_206C_202A_200E_200C_200F_200C_202C_206D_202C_206B_206B_206B_200F_206B_202E(gatheredItem, collectability);
reference = gatheredItem;
_206A_200B_202E_202E_206F_202C_206A_206C_206B_202A_200D_202A_206D_202C_202A_202C_202A_202C_202A_206F_202C_202D_200C_206F_200D_206C_202E_206E_206E_200E_200D_206E_206B_200C_206A_202A_200B_200F_202C_206B_202E(questStep2, list);
_questController.SetGatheringQuest(quest);
_questController.StartGatheringQuest(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<string>(1798633897));
return;
}
case 8:
questSequence = quest.FindSequence(0);
questStep = _202D_202E_202E_200D_206D_206F_206E_200E_200E_206D_206D_202C_200B_206C_206D_206F_206D_206E_200E_206E_206B_202A_202E_206E_202C_202C_202B_202E_206A_206A_206F_200B_202D_206C_202A_200D_202C_200F_206E_202B_202E(questSequence).Single((QuestStep x) => _003C_003Ec._200D_202A_206C_200F_200E_202D_206F_206E_200D_200E_200F_202B_206A_206C_202B_202E_206C_206B_200F_206E_202D_202D_202E_206F_202D_200B_206F_202B_200F_200C_206A_206C_202C_202E_202C_200C_206B_206C_200C_206A_202E(x) == EInteractionType.SwitchClass);
num = ((classJob == EClassJob.Miner) ? (-1785451052) : (-1785451054));
break;
case 2:
throw _206E_206B_202C_206A_200C_200E_202A_206A_200B_206F_202D_200D_200B_200E_200C_200F_206A_200E_200B_200D_202D_202A_200D_200D_202E_206F_206E_202E_202B_202A_202A_202E_206E_206B_206F_206C_202A_200C_200D_202C_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<string>(688705615), (object)classJob, (string)null);
case 6:
num = ((classJob == EClassJob.Botanist) ? (-1785451053) : (-1785451049));
break;
case 1:
{
IChatGui chatGui = _chatGui;
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(23, 1);
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<string>(-1157681140));
defaultInterpolatedStringHandler.AppendFormatted(satisfactionSupplyInfo.QuestId);
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<string>(126419176));
_202C_206D_206D_206D_206E_202C_206A_202A_200E_200C_206E_206F_206F_200F_200E_206A_200D_200F_200C_200D_206E_200B_202C_200C_206D_206C_200C_200F_206E_206F_202D_202D_206E_206A_206F_206E_206E_206F_200B_202C_202E(chatGui, defaultInterpolatedStringHandler.ToStringAndClear(), 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<string>(1231541163), (ushort?)(ushort)576);
return;
}
case 7:
eExtendedClassJob = EExtendedClassJob.Botanist;
num = -1785451056;
break;
}
}
}
public void Dispose()
{
_contextMenu.OnMenuOpened -= MenuOpened;
_202E_202B_202D_200F_206F_206B_200D_200B_200D_202C_206C_200F_200B_206B_202E_200D_206C_200E_206E_200B_200D_200D_202B_206A_200B_206E_206D_206B_202C_206D_200D_206B_206C_202E_200E_200E_206E_200C_200E_206A_202E(_contextMenu, (IContextMenu.OnMenuOpenedDelegate)MenuOpened);
}
void IDisposable.Dispose()
{
//ILSpy generated this explicit interface implementation from .override directive in Dispose
this.Dispose();
}
static void _200F_206F_200F_206C_202E_200D_206B_206E_200B_206A_202A_206E_202C_200F_200B_206D_200C_206E_206F_202B_202E_202C_200C_206A_200C_206E_202D_200C_200F_200E_202A_202C_206E_206A_200B_206C_206F_202D_200D_202A_202E(IContextMenu P_0, IContextMenu.OnMenuOpenedDelegate P_1)
{
P_0.OnMenuOpened += P_1;
}
static string _206F_200E_206E_206C_206D_206E_206C_202B_202C_206C_200D_202D_200D_202C_206D_206F_200C_202C_200D_202E_200E_202C_206A_200E_202D_202B_202B_202D_200D_206F_206B_206A_202A_200E_202B_206D_206E_206D_206B_206B_202E(IMenuArgs P_0)
{
return P_0.AddonName;
}
static void _206F_200F_202B_206E_200F_200B_202E_202C_200D_202A_206B_206C_202D_202C_202C_200D_206D_202A_200F_200D_202E_206B_202D_200B_202E_202A_202E_202C_206A_200E_202D_206B_206D_200C_206E_206D_200C_200D_206E_200F_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogTrace(P_1, P_2);
}
static void _206C_206A_200B_202B_202B_206D_200C_200B_206F_206B_200B_200B_200B_206D_206B_202A_202D_202C_206E_202C_206C_206D_200C_206D_206D_206D_200D_206E_202C_206F_202D_202E_202A_206B_202A_200C_206D_206C_200D_202C_202E(ILogger P_0, string P_1, object[] P_2)
{
P_0.LogDebug(P_1, P_2);
}
unsafe static bool _200F_206B_200B_202D_200D_206B_202A_200F_202A_200D_202B_202C_202B_206D_202D_202C_202C_202A_200F_200E_200C_202D_200D_202D_206E_202A_200D_200C_206F_200F_206A_200E_202A_206D_206B_200B_202E_206C_200C_202D_202E(AtkUnitBase* P_0)
{
return LAddon.IsAddonReady(P_0);
}
static IPlayerCharacter _200F_206F_202D_200D_202D_202C_206E_200B_206A_206F_202A_206C_202E_206F_202C_200C_202A_200E_200D_200C_206C_202B_202B_200E_202C_202C_206B_206D_202E_206E_206D_202B_200C_200C_206F_206D_202A_200B_200B_206C_202E(IObjectTable P_0)
{
return P_0.LocalPlayer;
}
static RowRef<ClassJob> _200B_206E_202D_206D_200F_200C_200D_206B_202D_200F_202B_206A_206F_200F_200E_202B_200E_206D_202C_202E_206C_206F_200B_200E_200E_206D_200F_202C_200E_206D_206D_202E_202C_200F_200E_206C_200F_202A_202D_206C_202E(ICharacter P_0)
{
return P_0.ClassJob;
}
static SatisfactionSupplyActions.NpcState _200F_206E_206E_206C_206B_202B_202A_206F_200F_206C_206A_200C_206E_206E_206E_202B_206B_206D_200C_206A_200F_206E_206F_200D_206F_200F_202E_202C_202E_202A_202C_200E_202C_200C_200E_206C_206A_202B_202D_206B_202E(int P_0)
{
return SatisfactionSupplyActions.GetNpcState(P_0);
}
static int _200B_206A_202A_202D_202C_206C_202D_202C_206D_202E_200F_206C_202D_206F_202A_206C_206D_206E_202E_200D_202C_202D_206F_206E_200C_200F_202C_206F_206A_200F_206A_206D_206C_200B_202D_206A_200F_202D_200E_200F_202E(ushort P_0, ushort P_1, int P_2)
{
return SatisfactionSupplyHelper.CalculateTurnInsToNextRank(P_0, P_1, P_2);
}
static int _206E_202E_206A_206F_200F_206B_206E_206F_202A_200C_200B_206A_200C_206D_206E_200E_200E_206A_200B_200D_202C_202E_200E_202C_206E_206E_202A_206B_206A_206B_200F_206B_206B_206A_202B_202D_206F_206E_206C_206C_202E(int P_0, int P_1)
{
return Math.Min(P_0, P_1);
}
static string _202B_206C_206F_202D_202C_206C_206C_206C_200E_206B_202C_206A_200F_206A_206F_200C_200C_200E_206E_202E_200B_200F_206F_206D_206C_206D_206E_200E_202A_206A_202D_202B_206F_200F_206D_200E_202A_200B_200C_200E_202E(string P_0, string P_1)
{
return P_0 + P_1;
}
static bool _200D_206D_206D_202B_202D_200E_202D_200D_200B_200D_200D_202C_206C_206F_206B_202C_200D_202C_202C_202B_200C_202B_206E_202E_206E_200C_202A_200B_206C_200F_202E_206D_200C_200E_202C_206A_202B_206E_200B_202E_202E(string P_0)
{
return string.IsNullOrEmpty(P_0);
}
static string _206E_200F_206C_202A_206A_206D_200B_202D_200F_202E_206C_206E_200B_200E_202A_206D_200C_206D_202A_206F_202C_202D_202C_200E_200B_202B_202A_200E_202D_206A_202D_202A_200D_202E_202C_202A_200F_200D_206B_206C_202E(string P_0, string P_1, string P_2, string P_3)
{
return P_0 + P_1 + P_2 + P_3;
}
static MenuItem _206C_200F_200F_202C_202B_206F_206B_202A_202A_206D_202E_206E_206E_200C_200F_206E_200E_206A_202D_202A_206E_206A_202C_206E_202C_200E_202A_206A_200B_200B_202E_200F_202C_200D_202C_206E_200C_202B_206F_206C_202E()
{
return new MenuItem();
}
static void _200F_202B_206E_202E_200E_202E_206B_202A_206D_202C_206B_202C_206C_202B_202A_206A_202A_200C_202B_200B_200F_206D_202B_200D_200E_202D_200E_206B_202C_200B_206C_200F_206D_200E_202E_200C_200E_202B_200F_202C_202E(MenuItem P_0, SeIconChar? P_1)
{
P_0.Prefix = P_1;
}
static void _202A_206C_200E_206B_206C_206C_206E_200C_200E_202C_202E_200C_200F_206D_202E_200C_202E_206C_202A_202E_200F_206B_206A_202D_206B_200F_200D_200C_200D_200D_206E_200C_200C_200E_200C_206B_200D_202C_202E(MenuItem P_0, ushort P_1)
{
P_0.PrefixColor = P_1;
}
static SeString _202D_206A_202C_206F_202B_202B_206B_206B_206F_202A_202E_206C_202A_202B_206D_200F_206D_206E_206F_202B_200D_202D_202D_206F_200D_200F_202E_206B_202D_200E_200D_206F_206B_202C_200B_200D_206C_206F_206B_202C_202E(string P_0)
{
return P_0;
}
static void _200E_206C_206D_202C_206A_200D_206A_202C_202D_202C_202E_200E_200C_200B_202A_202C_200C_206B_206E_206B_200F_200B_206A_206C_206F_206E_206F_200B_202C_200B_200C_200B_206F_206E_200B_200D_206B_206C_202A_200E_202E(MenuItem P_0, SeString P_1)
{
P_0.Name = P_1;
}
static void _202C_206D_200F_202E_200F_200B_206A_200F_202B_206A_202B_206C_206E_202A_206E_202D_206D_200F_202B_206E_206B_206E_200D_200C_200E_200C_200D_200F_200E_206F_202D_206F_206D_206A_206D_206F_200D_202D_202D_202C_202E(MenuItem P_0, Action<IMenuItemClickedArgs> P_1)
{
P_0.OnClicked = P_1;
}
static void _206E_202A_202E_200F_202D_200D_202B_202D_206C_202B_200E_202B_206D_202B_202E_202C_200E_202D_200D_200C_202E_200D_202D_202C_200E_202A_206D_200C_202C_206C_206B_202C_200B_202A_202C_200C_200C_206B_206E_206A_202E(MenuItem P_0, bool P_1)
{
P_0.IsEnabled = P_1;
}
static void _200E_202A_200E_200B_202C_200E_206E_200C_206B_206E_202B_202E_206C_200D_200B_200D_202B_206F_200C_202D_202A_200D_200E_206E_206B_206C_202A_206A_202B_202B_206D_206D_206A_206E_206A_202D_202C_202E_200C_206E_202E(IMenuOpenedArgs P_0, MenuItem P_1)
{
P_0.AddMenuItem(P_1);
}
static List<QuestStep> _202D_202E_202E_200D_206D_206F_206E_200E_200E_206D_206D_202C_200B_206C_206D_206F_206D_206E_200E_206E_206B_202A_202E_206E_202C_202C_202B_202E_206A_206A_206F_200B_202D_206C_202A_200D_202C_200F_206E_202B_202E(QuestSequence P_0)
{
return P_0.Steps;
}
static ArgumentOutOfRangeException _206E_206B_202C_206A_200C_200E_202A_206A_200B_206F_202D_200D_200B_200E_200C_200F_206A_200E_200B_200D_202D_202A_200D_200D_202E_206F_206E_202E_202B_202A_202A_202E_206E_206B_206F_206C_202A_200C_200D_202C_202E(string P_0, object P_1, string P_2)
{
return new ArgumentOutOfRangeException(P_0, P_1, P_2);
}
static void _206E_206F_200D_202A_206B_202D_202A_206C_202E_200D_200B_200C_202D_206E_206E_202A_202B_206C_202B_200D_200C_200D_200B_206D_206D_200B_202C_202A_206E_200D_200D_202A_206D_206E_202A_202E_206E_202A_206A_206F_202E(QuestStep P_0, EExtendedClassJob P_1)
{
P_0.TargetClass = P_1;
}
static GatheredItem _206A_206F_200E_200E_206A_206E_202B_202B_206F_200B_200F_206E_200B_206E_200C_200E_206C_202C_202D_206A_202E_200E_206C_206D_202C_200B_206C_206C_202D_206E_200D_202C_200B_202D_200E_200F_202C_206E_206A_200C_202E()
{
return new GatheredItem();
}
static void _202D_200F_206F_202A_200F_202E_206C_206B_200F_200C_202C_206C_200D_202E_202D_202A_206A_200B_206F_206F_200B_200B_200E_202E_200E_206C_202A_202D_202A_206B_206A_202D_200E_206A_202C_202C_206D_200B_202B_206A_202E(GatheredItem P_0, uint P_1)
{
P_0.ItemId = P_1;
}
static void _202C_200B_200D_206C_206A_202C_202A_206D_202C_206F_200B_200D_206F_202E_206E_202E_206D_206B_200F_202A_202A_206F_200C_202A_206E_200B_202D_206C_206A_206C_206C_206E_206F_206D_206E_200F_202D_200D_200C_200E_202E(GatheredItem P_0, int P_1)
{
P_0.ItemCount = P_1;
}
static void _206A_206C_200E_206B_206D_200D_200B_200F_200F_202C_206F_200E_200C_206F_202B_206D_206B_202C_206F_202D_206F_202A_202B_206B_206C_200C_206C_202A_200E_200C_200F_200C_202C_206D_202C_206B_206B_206B_200F_206B_202E(GatheredItem P_0, ushort P_1)
{
P_0.Collectability = P_1;
}
static void _206A_200B_202E_202E_206F_202C_206A_206C_206B_202A_200D_202A_206D_202C_202A_202C_202A_202C_202A_206F_202C_202D_200C_206F_200D_206C_202E_206E_206E_200E_200D_206E_206B_200C_206A_202A_200B_200F_202C_206B_202E(QuestStep P_0, List<GatheredItem> P_1)
{
P_0.ItemsToGather = P_1;
}
static void _202C_206D_206D_206D_206E_202C_206A_202A_200E_200C_206E_206F_206F_200F_200E_206A_200D_200F_200C_200D_206E_200B_202C_200C_206D_206C_200C_200F_206E_206F_202D_202D_206E_206A_206F_206E_206E_206F_200B_202C_202E(IChatGui P_0, string P_1, string P_2, ushort? P_3)
{
P_0.PrintError(P_1, P_2, P_3);
}
static void _202E_202B_202D_200F_206F_206B_200D_200B_200D_202C_206C_200F_200B_206B_202E_200D_206C_200E_206E_200B_200D_200D_202B_206A_200B_206E_206D_206B_202C_206D_200D_206B_206C_202E_200E_200E_206E_200C_200E_206A_202E(IContextMenu P_0, IContextMenu.OnMenuOpenedDelegate P_1)
{
P_0.OnMenuOpened -= P_1;
}
}