Требуется создать возможность задавать персонажам зависимость от определенных реагентов. Очевидный пример - алкоголики и курильщики. Отсутствие реагента вызывает увеличивающиеся со временем дебаффа, наличие реагента убирает дебаффы и вызывает довольство персонажа, с каждым разом все меньше и меньше.
База
Каждый реагент должен иметь поле в прототипе, отвечающее за зависимости, где есть ответы на следующие вопросы:
- Вызывает ли зависимость?
- Какая доза вызывает зависимость?
- Степень зависимости (В виде енума, подробнее про степени позже)
Можно создать отдельный прототип зависимости, без разницы. Важна ли сама возможность конфигурации этого через прототипы.
Должен существовать компонент, который отвечает за возможность персонажу получить зависимости. В нем должен писать разрешенных реагентов-зависимостей. Если список пуст - поддерживаются все зависимости
Если персонаж получил зависимость от реагента - на него должен надеваться компонент, где будет храниться список структур, в которых перечислено следующее:
- От чего зависим?
- Степень зависимости?
- Требуемый объем реагента для поддержания состояния нормы
Компонент зависимости должен поддерживать выдачу его через прототипы, а не только через код, с сохранением функционала
Степени зависимости:
Их будет 3 для простоты понимания. Легкая, средняя и тяжелая.
Каждая степень хранит в себе:
- Время, за которое игрок должен принять указанное в компоненте зависимости число юнитов реагента
- ПротоАйди дебаффа к настроению при невыполнении условий
- ПротоАйди баффа к настроению при выполнении условий
- Список эффектов, которые будут даны персонажу при невыполнении
- Список эффектов, которые будут даны при выполнении
Параметры времени и баффы дебаффы потом подумаем че куда, просто сделай заготовки для, где останется поменять только цифры.
Если игрок не получает нужное количество реагентов в указанный срок - он получает дебафф к настроению, указанный в зависимости, и все эффекты от невыполнения в срок.
Таймер начала следующего цикла потребностей начинается заново. Если игрок его выполняет - с него снимаются все негативные эффекты и дебаффы настроения и добавляются новые, баффы настроения и положительные эффекты.
Трейты
Должна быть возможность выбрать все возможные зависимости в качестве трейтов персонажа в редакторе. Это даст персонажу выбранную раундстартовую зависимость.
Showcase
В качестве примера готовой работы требуется сделать 2 самые базовые зависимости - от алкоголя и от сигарет.
Это послужит примером того, как в целом добавлять эти зависимости.
Требуется создать возможность задавать персонажам зависимость от определенных реагентов. Очевидный пример - алкоголики и курильщики. Отсутствие реагента вызывает увеличивающиеся со временем дебаффа, наличие реагента убирает дебаффы и вызывает довольство персонажа, с каждым разом все меньше и меньше.
База
Каждый реагент должен иметь поле в прототипе, отвечающее за зависимости, где есть ответы на следующие вопросы:
Можно создать отдельный прототип зависимости, без разницы. Важна ли сама возможность конфигурации этого через прототипы.
Должен существовать компонент, который отвечает за возможность персонажу получить зависимости. В нем должен писать разрешенных реагентов-зависимостей. Если список пуст - поддерживаются все зависимости
Если персонаж получил зависимость от реагента - на него должен надеваться компонент, где будет храниться список структур, в которых перечислено следующее:
Компонент зависимости должен поддерживать выдачу его через прототипы, а не только через код, с сохранением функционала
Степени зависимости:
Их будет 3 для простоты понимания. Легкая, средняя и тяжелая.
Каждая степень хранит в себе:
Параметры времени и баффы дебаффы потом подумаем че куда, просто сделай заготовки для, где останется поменять только цифры.
Если игрок не получает нужное количество реагентов в указанный срок - он получает дебафф к настроению, указанный в зависимости, и все эффекты от невыполнения в срок.
Таймер начала следующего цикла потребностей начинается заново. Если игрок его выполняет - с него снимаются все негативные эффекты и дебаффы настроения и добавляются новые, баффы настроения и положительные эффекты.
Трейты
Должна быть возможность выбрать все возможные зависимости в качестве трейтов персонажа в редакторе. Это даст персонажу выбранную раундстартовую зависимость.
Showcase
В качестве примера готовой работы требуется сделать 2 самые базовые зависимости - от алкоголя и от сигарет.
Это послужит примером того, как в целом добавлять эти зависимости.