Консольные команды

*В этой статье упоминаются и оригинальный «Мор» (2005), и его ремейк (2019).*

**Внимание! Используйте команды на свой страх и риск. Некоторые команды могут привести к критическим ошибкам или вылетам.**

## Pathologic

Указанные ниже команды применимы как к *Pathologic 2005 года*, так и к *Pathologic Classic HD.*

### Включение консоли

Откройте папку с игрой, а затем перейдите в каталог `data`.
Для **Steam-версии**: `(Диск):\steam\steamapps\common\Pathologic Classic HD\data`
Для **GOG-версии**: `(Диск):\GOG\Pathologic Classic HD\data`
В папке`data` откройте файл `config.ini` с помощью текстового редактора. Найдите раздел `[General]`, введите `ShowConsoleLog = 1.
На следующей строке введите EnableConsole = 1`. Сохраните изменения и закройте файл.

* Примечание: Включение журнала консоли командой `ShowConsoleLog` не является необходимым требованием для доступа к самой консоли, но ввод команды рекомендован.

Для доступа к консоли в самой игре нажмите клавишу ```. Если окно консоли не появилось - смените раскладку сочетанием клавиш Alt+Shift.

### Графические команды

Указанные команды влияют на изменение параметров света и цветокоррекции, и не имеют прямого влияния на игровой процесс.

 `sepia [яркость: 0.0 - 1.0] [оттенок: 0.0 - 1.0]`  | Применяет фильтр конкретного цвета к области обзора. Оттенок варьируется от 0 до 1, где 0.1 - пурпурный, а 1 - красный.
Пример: `sepia 0.5 0.95` - применяет эффект "сепия" к области обзора.

### Изменение параметров персонажа игрока

С помощью консоли, игрок может взаимодействовать с 6 шкалами параметров. Их можно свободно менять, в зависимости от поставленной цели.
Используйте команду: `propl **[id\_игрока] [название параметра] [значение]**`
Пример: `propl 6986 health 1` (Устанавливает здоровье персонажа на максимальную отметку)
Вы также можете использовать эту команду для изменения количества денег у главного героя.
Пример: `propl 6986 money 5000` (Устанавливает количество денег главного героя на 5000)

* Примечание: команда `propl` работает только с целыми числами. Для работы с десятыми используется команда `propf`. Пример: `propf 6986 health 0.5` установит здоровье персонажа игрока на половине шкалы.

Названия параметров и их значения
 `reputation` | 0 - минимальная репутация; 1 - максимальная репутация

Игрок также может манипулировать значениями защиты от урона и заражения, что в обычном прохождении зависит от надетой на персонажа одежды.

### Горячие клавиши

Консоль также позволяет назначить команды на нажатие определённых клавиш, с помощью строчки `bindcmd [клавиша] [команда]`.
К примеру, если игрок хочет назначить выполнение команды `propl health 1` на клавишу F1, для этого нужно ввести команду `bindcmd F1 propl health 1`.
Настройки команды `bindcmd` хранятся в файлах настроек самой игры, поэтому назначить горячую клавишу достаточно только один раз. Клавиши остаются назначенными до тех пор, пока игрок вручную их не отвяжет.

### Предметы

Команды чувствительны к регистру. Попытка добавить предмет с неверным регистром приведёт к ошибке "Unknown item". Не рекомендуется добавлять более 50 предметов за раз.

#### Вырезанные предметы

Указанные ниже предметы были частично или полностью вырезаны из игры. Те предметы, что всё же можно получить с помощью консольных команд, не играют роли в сюжете.

## Pathologic 2

В *Pathologic 2* доступ консоли можно получить через окно Инспектора движка Unity. Доступ к Инспектору осуществляется одновременным нажатием комбинации клавиш Ctrl+Shift+F4. Все указанные ниже команды чувствительны к регистру.

### Предметы

Предметы могут быть добавлены в инвентарь игрока (при наличии достаточного количества свободных ячеек) командой `add_storable -storable:[itemid] [количество]`.

### Инспектор

В виду вяда особенностей движка Unity, все операции, возникающие в Инспекторе обновляются в реальном времени. По этой причине не рекомендуется работать с Инспектором в режиме паузы, особенно если изменения касаются параметров персонажа.

#### Параметры персонажа

Все параметры персонажа редактируются в меню Инспектора, доступном по следующему пути:

* `UpdateService (UpdateService)`
	+ `PlayerUpdater (DelayUpdater)`
		- `Updatable [9]`
			* `Element # (PlayerControllerComponent : Simulation/Objects/X)`

Символ '#' заменяет собой произвольное число, как правило 0, которое может изменяться, в зависимости от загруженной в данный момент сцены. Важная информация находится в разделе `(Simulation/Objects/X)`. 'X' - это объект игрока в той или иной области: игра расценивает город, сны и Бойни как различные локации с различным набором правил.

Применимыми к игроку локациями являются:

* `Player` - Город.
* `PlayerAbbatoir` - Бойни.

Как только соответствующий элемент раскрывается, Инспектор открывает возможность игроку работать с параметрами игрока, относящимся к выбранному элементу.

##### Бессмертие

Раскройте элемент `IsImmortal (ParameterValue<bool>)`, а затем перейдите в параметр `Parameter (BoolParameter : Immortal | False)`. Отметьте поле, помеченное словом `Value`, после чего Инспектор заменит значение `Immortal | False` на `Immortal | True`.
Будучи бессмертным, персонаж не будет получать урон, шкала выносливости не будет снижаться, а шкала жажды - расти. Шкалы голода и усталости, в свою очередь, продолжат заполнятся, и могут наносить урон здоровью персонажа. Шкала иммунитета также будет понижаться, и герой сможет заразится. Однако получение урона таким способом не приведёт к смерти.
* Есть вероятность, что при смене загруженной сцене, а также ряде игровых событий, Инспектор самостоятельно внесёт правки в некоторые Элементы, что может также привести к потере статуса `Immortal | True` из раздела `Simulation/Objects/Player`.

##### Здоровье

Раскройте элемент `Health (ParameterValue<float>)`, а затем перейдите в параметр  `Parameter (Parameter : Health | #)`, где '#' - число, между 0 и 1. Редактирование поля `Value` числами от 0 до 1 приведёт к изменению уровня здоровья героя. Число 1 установит уровень здоровья на максимальной отметке, тогда как число 0 полностью опустошит упомянутую шкалу, и мгновенно убьет героя.
* В виду особенностей движка Unity, введённое десятичное число может быть автоматически округлено до 0 или 1.

##### Голод

Раскройте элемент `Hunger (ParameterValue<float>)`, а затем перейдите в параметр `Parameter (Parameter : Hunger | #)`, где '#' - число, между 0 и 1. Редактирование поля `Value` числами от 0 до 1 приведёт к изменению уровня голода героя. Число 1 установит уровень голода на максимальной отметке, что приведёт к потере здоровья героем, тогда как число 0 полностью опустошит упомянутую шкалу.
* В виду особенностей движка Unity, введённое десятичное число может быть автоматически округлено до 0 или 1.

##### Усталость

Раскройте элемент `Fatigue (ParameterValue<float>)`, а затем перейдите в параметр `Parameter (Parameter : Fatigue | #)`, где '#' - число, между 0 и 1. Редактирование поля `Value` числами от 0 до 1 приведёт к изменению уровня усталости героя. Число 1 установит уровень усталости на максимальной отметке, что приведёт к потере здоровья героем, тогда как число 0 полностью опустошит упомянутую шкалу.
* В виду особенностей движка Unity, введённое десятичное число может быть автоматически округлено до 0 или 1.

##### Жажда

Раскройте элемент `Thirst (ParameterValue<float>)`, а затем перейдите в параметр `Parameter (Thirst : Fatigue | #)`, где '#' - число, между 0 и 1. Редактирование поля `Value` числами от 0 до 1 приведёт к изменению уровня жажды героя. Число 1 установит уровень жажды на максимальной отметке, тогда как число 0 полностью опустошит упомянутую шкалу.
* В виду особенностей движка Unity, введённое десятичное число может быть автоматически округлено до 0 или 1.

##### Иммунитет

Раскройте элемент `Immunity (ParameterValue<float>)`, а затем перейдите в параметр `Parameter (Immunity : Fatigue | #)`, где '#' - число, между 0 и 2. Редактирование поля `Value` числами от 0 до 2 приведёт к изменению уровня жажды героя. Число 2 установит уровень иммунитета на максимальной отметке, тогда как число 0 полностью опустошит упомянутую шкалу.
* В виду особенностей движка Unity, введённое десятичное число может быть автоматически округлено до целого числа.

##### Уязвимость для инфекции

Раскройте элемент `PreInfection (ParameterValue<float>)`, а затем перейдите в параметр `Parameter (PreInfection : Fatigue | #)`, где '#' - число, между 0 и 1. Редактирование поля `Value` числами от 0 до 1 приведёт к изменению уровня уязвимости героя для инфекции. Число 1 установит уровень уязвимости для инфекции на максимальной отметке, что приведёт к заражению персонажа, тогда как число 0 полностью обнулит упомянутый параметр.
* В виду особенностей движка Unity, введённое десятичное число может быть автоматически округлено до 0 или 1.

##### Инфекция

Раскройте элемент `Infection (ParameterValue<float>)`, а затем перейдите в параметр `Parameter (Infection : Fatigue | #)`, где '#' - число, между 0 и 1. Редактирование поля `Value` числами от 0 до 1 приведёт к изменению уровня инфекции. Число 1 установит уровень инфекции на максимальной отметке, тогда как число 0 полностью опустошит упомянутую шкалу.
* В виду особенностей движка Unity, введённое десятичное число может быть автоматически округлено до 0 или 1.

##### Репутация

Команды, связанные с репутацией героя работают по иным правилам, и используют другие числа. Несмотря на то, что Инспектор позволяет вносить изменения в параметр, аналогичные с вышеуказанными элементами, данное действие никак не отразится на уровне репутации ни в одном из кварталов города.
Для изменения уровня репутации, раскройте элемент `Reputations [30]`. В выпадающем меню будут перечислены различные действия, приводящие к изменению уровня репутации, которые может совершить персонаж. Раскрытие любого из действий откроет игроку доступ к кнопке `Apply`, нажатие на которую соответствующим образом влияет на уровень репутации.
Пример: выполнение параметра `Element 9 (ReputationInfo: MurderNPC)` приведёт к потере того же количества репутации, как и при убийстве героем NPC.
* Все доступные в меню опции, помеченные как `ReputationInfo: AttackNPC` и `ReputationInfo: MurderNPC` приводят к падению репутации, как при атаке обычного горожанина, или патрульного.
* Несмотря на то, что элемент `Element 11` относится к убийству бандитов, его выполнение также вызывает потерю репутации.