Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion RemoteAgents/AgentDawn.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,26 @@

namespace LlamaLibrary.RemoteAgents
{
/// <summary>
/// Remote agent for the "Dawn" (Trust / Duty Support) system interface.
/// Manages selection and state of NPCs for NPC-assisted duties.
/// </summary>
public class AgentDawn : AgentInterface<AgentDawn>, IAgent
{
/// <inheritdoc/>
public IntPtr RegisteredVtable => AgentDawnOffsets.DawnVtable;


/// <summary>
/// Initializes a new instance of the <see cref="AgentDawn"/> class.
/// </summary>
/// <param name="pointer">The memory address of the agent.</param>
protected AgentDawn(IntPtr pointer) : base(pointer)
{
}

/// <summary>
/// Gets or sets the ID of the currently selected Trust/Duty Support NPC or content row.
/// </summary>
public int TrustId
{
get => Core.Memory.Read<byte>(Pointer + AgentDawnOffsets.DawnTrustId);
Expand Down
14 changes: 13 additions & 1 deletion RemoteAgents/AgentHandIn.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,27 @@

namespace LlamaLibrary.RemoteAgents
{
/// <summary>
/// Remote agent for the item hand-in interface (e.g., for Grand Company deliveries or quest turn-ins).
/// Facilitates the selection and submission of items from the player's inventory.
/// </summary>
public class AgentHandIn : AgentInterface<AgentHandIn>, IAgent
{
/// <inheritdoc/>
public IntPtr RegisteredVtable => AgentHandInOffsets.VTable;


/// <summary>
/// Initializes a new instance of the <see cref="AgentHandIn"/> class.
/// </summary>
/// <param name="pointer">The memory address of the agent.</param>
protected AgentHandIn(IntPtr pointer) : base(pointer)
{
}

/// <summary>
/// Executes the hand-in action for a specific item slot.
/// </summary>
/// <param name="slot">The <see cref="BagSlot"/> containing the item to be handed in.</param>
public void HandIn(BagSlot slot)
{
Core.Memory.CallInjectedWraper<uint>(
Expand Down
10 changes: 9 additions & 1 deletion RemoteAgents/AgentTradeMultiple.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,18 @@

namespace LlamaLibrary.RemoteAgents;

public class AgentTradeMultiple: AgentInterface<AgentTradeMultiple>, IAgent
/// <summary>
/// Remote agent for managing multi-item trade interfaces (e.g., trading multiple items to an NPC for a single reward).
/// </summary>
public class AgentTradeMultiple : AgentInterface<AgentTradeMultiple>, IAgent
{
/// <inheritdoc/>
public IntPtr RegisteredVtable => PlatypusOffsets.AgentTradeMultiple;

/// <summary>
/// Initializes a new instance of the <see cref="AgentTradeMultiple"/> class.
/// </summary>
/// <param name="pointer">The memory address of the agent.</param>
protected AgentTradeMultiple(IntPtr pointer) : base(pointer)
{
}
Expand Down