> For the complete documentation index, see [llms.txt](https://infinitypbr.gitbook.io/magic-pig-games/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://infinitypbr.gitbook.io/magic-pig-games/game-modules-4/module-documentation/quests/quest.md).

# Quest

v4.0

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

<figure><img src="https://2431624982-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MY3N_li2jPq7az6mYfq%2Fuploads%2FNJq4OlxusjqHj7l3OnK4%2FScreenshot%202023-06-24%20at%208.42.53%20PM.png?alt=media&amp;token=cf765475-ba1c-4613-81ad-9315370e693b" 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" %}
![](https://2431624982-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MY3N_li2jPq7az6mYfq%2Fuploads%2FWWfVOCg7mscz37KeSw7U%2FScreenshot%202023-06-24%20at%208.42.57%20PM.png?alt=media\&token=866457ad-deb8-4374-ba41-687f8e95458c)

{% 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" %}
![](https://2431624982-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MY3N_li2jPq7az6mYfq%2Fuploads%2FMXkThGnFTAm1gmjjXLcG%2FScreenshot%202023-06-24%20at%208.43.29%20PM.png?alt=media\&token=509eea60-9fb3-4920-b32c-1bcbf297e498)

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" %}
![](https://2431624982-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MY3N_li2jPq7az6mYfq%2Fuploads%2F1yyV7w9zkoCRDB4RkRQk%2FScreenshot%202023-06-24%20at%209.19.35%20PM.png?alt=media\&token=03fa7427-d697-4f52-bbc9-fb79374b008d)

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 %}
