Раз у нас игра в стиле RPG, то, конечно же, у нас есть и квесты.  

## Запуск квеста

Активация нужного квеста:  
`$ quest_start("some_quest")`  
Этим:
* `some_quest` будет добавлен в список активных квестов,
* Будет вызвана метка `some_quest__start`, если она есть.

***

## Завершение квеста

`$ quest_end("some_quest")`

Эта функция, аналогично `quest_start`, вызывает `some_quest__end` (если есть) после удаления.

## События

Квесты также поддерживают систему событий, т. е. при совершении какого-то действия игроком
(вход в место, запрет на переход, действие, сесть/встать, инвентарь)
будет вызвана метка `some_quest__location__place`, где:
* `some_quest` - квест,
* `location` - имя текущей локации,
* `place` - имя текущего места.

Подробности см. в [Событиях](./События).


***

## Запущен ли квест

Узнать, запущен ли квест `some_quest`, можно функцией `quest_started("some_quest")`.  
Она вернёт `True`, если запущен, иначе `False`.

***

## Запущенные квесты

Функция `get_started_quests()` возвращает список запущенных квестов.

***

## Название квеста

Может быть получено функцией `get_quest_name("some_quest")`.  
Оно берётся из переменной `some_quest__name`, но если она не задана, то возвращается просто `"some_quest"`.

***

## Описание квеста

Может быть получено функцией `get_quest_description("some_quest")`.  
Оно берётся из переменной `some_quest__description`, но если она не задана, то возвращается просто `"No description."`.

***

[Далее ->](./Инвентарь)  
[<- Назад](./Запреты-и-разрешения)
