Крафт
Специфичность информации
Все, написанное на этой страничке, писалось под конкретный ролевой проект, но вы легко можете подтюнить это под себя.
Блюпринты и технологии
В Спайсе нет крафта. На этом и закончим. Спасибо.
Ну, вообще его на самом деле нет, но Спайс можно использовать для хранения ключевых технологий и рецептов (как раз требующих тех или иных технологий). Начнем с рецептов.
Они называются Blueprint. У них нет никакой логики и они просто хранятся в БД, и их можно оттуда запросить; то есть смысл исключительно в том, чтобы передать внешнему клиенту инфу, которую уже он будет использовать для крафта.
Поля класса Blueprint
uid: str- Уникальный айдишник блюпринта.
soph: float- Стартовая проработанность рецепта. В подавляющем большинстве случаев равна 0.0 в этом месте.
ars: ArsItemEnum- Арс. Энам. Что тут еще сказать.
science_points_cost: int- Цена блюпринта в очках науки.
result: str- Итем, который должен возникнуть в результате блюпринта.
required_items: dict- Список предметов (ключ) с их количеством (значение), требуемый для крафта.
required_techs: list[Tech]- Список технологий, которые требуются у того, кто крафтит, для начала крафта.
quantity: int- То, сколько итемов должно получиться на выходе.
weighted: bool- По умолчанию False. Если это так, то это значит что рецепт качественного предмета, если True, то количественного. На что это влияет, знает клиент, где происходит крафт, для Спайса это иррелевантно.
time_mod: float- Модификатор времени к крафту.
Поля класса Tech
uid: str- Уникальный айдишник технологии.
- required_techs: list[Tech]
- Технологии, требуемые для изучения этой технологии.
- ars: ArsItemEnum
- Арс технологии.
- science_points_cost: int
- Требуемое кол-во очков науки для изучения технологии.