Table of Contents

Interface IHintsHelper

Namespace
Archipelago.MultiClient.Net.Helpers
Assembly
Archipelago.MultiClient.Net.dll

Provides information about the current state of the server

public interface IHintsHelper

Methods

CreateHints(HintStatus, params long[])

Tell the server to create hints for the specified locations. This version does not include the player id, and as such will only hint for locations in the active player's game. When creating hints, non-existing locations will be silently skipped.

NOTE: AP does not provide a way for you to know what locations exists in other players worlds, such information needs to be saved during generation if needed

void CreateHints(HintStatus hintStatus = HintStatus.Unspecified, params long[] locationIds)

Parameters

hintStatus HintStatus

If included, sets the status of the created hints to this status. Defaults to unspecified.

locationIds long[]

The location ids to create hints for.

Exceptions

ArchipelagoSocketClosedException

The websocket connection is not alive.

CreateHints(int, HintStatus, params long[])

Tell the server to create hints for the specified locations. When creating hints for another slot's locations, the packet will fail if any of those locations do not contain an item for the requesting slot. When creating hints for your own slot's locations, non-existing locations will be silently skipped.

NOTE: AP does not provide a way for you to know what locations exists in other players worlds, such information needs to be saved during generation if needed

void CreateHints(int player, HintStatus hintStatus = HintStatus.Unspecified, params long[] locationIds)

Parameters

player int

The ID of the player whose locations are being hinted for.

hintStatus HintStatus

If included, sets the status of the created hints to this status. Defaults to unspecified.

locationIds long[]

The location ids to create hints for.

Exceptions

ArchipelagoSocketClosedException

The websocket connection is not alive.

GetHints(int?, int?)

Retrieves all unlocked hints for the specified player slot and team

Hint[] GetHints(int? slot = null, int? team = null)

Parameters

slot int?

the slot id of the player to request hints for, defaults to the current player's slot if left empty

team int?

the team id of the player to request hints for, defaults to the current player's team if left empty

Returns

Hint[]

An array of unlocked hints or null if the slot or team does not exist

GetHintsAsync(Action<Hint[]>, int?, int?)

Retrieves all unlocked hints for the specified player slot and team

void GetHintsAsync(Action<Hint[]> onHintsRetrieved, int? slot = null, int? team = null)

Parameters

onHintsRetrieved Action<Hint[]>

the method to call with the retrieved hints

slot int?

the slot id of the player to request hints for, defaults to the current player's slot if left empty

team int?

the team id of the player to request hints for, defaults to the current player's team if left empty

TrackHints(Action<Hint[]>, bool, int?, int?)

Sets a callback to be called with all updates to the unlocked hints for the specified player slot and team

void TrackHints(Action<Hint[]> onHintsUpdated, bool retrieveCurrentlyUnlockedHints = true, int? slot = null, int? team = null)

Parameters

onHintsUpdated Action<Hint[]>

the method to call with the updated hints

retrieveCurrentlyUnlockedHints bool

should the currently unlocked hints be retrieved or just the updates

slot int?

the slot id of the player to request hints for, defaults to the current player's slot if left empty

team int?

the team id of the player to request hints for, defaults to the current player's team if left empty

UpdateHintStatus(int, long, HintStatus)

Update the hint status for a specific location in a specific players their world.

NOTE: AP does not provide a way for you to know what locations exists in other players worlds, such information needs to be saved during generation if needed

void UpdateHintStatus(int player, long locationId, HintStatus newHintStatus)

Parameters

player int

The ID of the player whose location's hint is being updated.

locationId long

The ID of the location in the players world to update

newHintStatus HintStatus

The new desired hint status for this hint, cannot be status HintStatus.Found as that is automaticly handled by AP