# Quest

Create a **Quest** object by right-clicking in the Project, and selecting `Create/Game Modules/Quest/Quest`

<figure><img src="/files/oD5dihzNLVyUlBjqwojN" alt=""><figcaption></figcaption></figure>

Each Quest, like other Game Module objects, can effect Stats, and has a Dictionaries object attached to it.

{% tabs %}
{% tab title="Main Settings" %}
![](/files/ywGQZuhoAXkJSvQFxRzJ)

{% content-ref url="/pages/SExh0gf1CmP1fZ0va2MF" %}
[Main Settings](/magic-pig-games/game-modules-4/module-documentation/quests/quest/main-settings.md)
{% endcontent-ref %}

{% content-ref url="/pages/zGMu2wBSIETR6zUX2Tbq" %}
[Quest Step Settings](/magic-pig-games/game-modules-4/module-documentation/quests/quest/quest-step-settings.md)
{% endcontent-ref %}
{% endtab %}

{% tab title="Stat Effects" %}
![](/files/McBfD6NEphU5wsvIczmQ)

Once you have **Stats** set up, you can set how this **Quest** will affect them here. Learn more about the details of this panel on the [**Item Objects**](/magic-pig-games/game-modules-4/module-documentation/items/itemobject.cs.md) page.

Quests can affect Stats based on the quest status: `InProgress`, `Succeeded`, or `Failed`. The setup for the effects are the same for each, but this will allow you to provide temporary stat benefits for quests which are `InProgress`, or permanent benefits for those which are `Succeeded` or `Failed`.

As an example, perhaps if a player succeeds in a specific quest, their "Likability" stat goes up, while if they fail, there is no effect -- or even a negative effect!

{% hint style="info" %}
`GameModulesActor` has a `GameQuestList` `quests` on it. If you inherit your Actor from this or from `GameModulesInventoryActor`, you will have access to this list.

The `GetOtherLevels()` method, which is required by any IHaveStats object to compute final stat values, is already created, though you can override it if you'd like.

The `ModificationLevels` property on the `GameQuest` object returns the `ModificationLevel` based on the status of the quest.

**All of this is automatic if you inherit from `GameModulesActor` or `GameModulesInventoryActor`.**
{% endhint %}
{% endtab %}

{% tab title="Dictionaries" %}
![](/files/CDjccZUawvhpJZC1Paul)

Here you can manage the values on the various [**Dictionaries**](/magic-pig-games/game-modules-4/module-documentation/dictionaries.md) key/value pairs set up. Each one is a `List` and you can add and re-order the entires as you'd like. Each KeyValue can hold many different types, including Game Module types.

{% hint style="success" %}
To add keys to individual `Quest` objects, you will need click the "Manage Quests" button at the top of the Inspector. **Dictionaries** keys are the same for all **Quests** of the same `objectType`. On the "Manage Quests" panel you can set up Keys, and optionally choose to display `strings` in those keys as a `textbox`.
{% endhint %}
{% endtab %}
{% endtabs %}


---

# 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/quests/quest.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.
