> 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

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