# Game Module "Lists"

Most **Game Module** types (**Stat**, **Condition**, **Quest**, etc) have "List" objects, such as `GameStatList`, `GameConditionList`, and so on. Some will have unique methods, but all will have common methods that handle the same operations, but specific to their type.

{% hint style="success" %}
Each subsection of this topic shows the common methods that each Game Module List has, such as `Get()` or `Count()`, along with all of the variations of those shared methods.

Each subsection will then show the methods that are unique to each Game Module type.
{% endhint %}

{% hint style="info" %}
The common methods can be found in GameModuleListExtensions.cs
{% endhint %}

{% hint style="warning" %}
Some methods which all Game Module Lists have, such as `SetOwner`, require a different type, depending on the list. For example, in `GameStatList` and `GameItemObjectList`, the method `SetOwner()` takes in a `IHaveStats value`.

However, the same method in `GameConditionsList` takes in a `IHaveConditions` `value`, and the same method in `GameQuestList` takes in a `IHaveQuests value`.

You can cast your `Actor` or other class which implements various "`IHave`" interfaces like this:

```csharp
// Assumes this is run on the Actor who implements IHaveStats etc
public void SetOwner()
{
    partyStats.SetOwner((IHaveStats)this);
    quests.SetOwner((IHaveQuests)this);
}
```

{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://infinitypbr.gitbook.io/magic-pig-games/game-modules-4/module-documentation/game-module-lists.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
