Это неофициальное и неполное руководство. В будущем оно будет обновлено и заменено официальным документом.
БЫСТРЫЙ ЧЕКЛИСТ
Body/Species/species.yml должен содержать:- MarkingsGroup
- AppearanceSpecies, изменённый из Body/Prototypes/species.yml
- MobSpecies, изменённый из Entities/Mobs/Species/species.yml
- Внешние органы (ранее ‘parts’), изменённые из Body/Organs/species.yml
- Внутренние органы, изменённые из Body/Parts/species.yml
- Body/Prototypes/species.yml
- Entities/Mobs/Species/species.yml
- Body/Organs/species.yml
- Body/Parts/species.yml
- Species. Вот и всё
- Удалить
spritesвида - Удалить
markingLimitsвида - Заменить
dollPrototypeMobSpeciesDummyentity наAppearanceSpeciesentity - Удалить
speciesBaseSprites - Удалить
humanoidBaseSprite - Вырезать
markingPoints, вставить в начало Body/Species/species.yml. Это наш новый MarkingsGroup
- Удалить
markingCategory - Удалить
followSkinColor - Переименовать
speciesRestrictionвgroupWhitelist.
Markings
Это наследуется от группы markingUndergarments и определяет лимиты для того, какие markings может иметь вид. Числовые лимиты, логические требования и markings по умолчанию имеют более или менее такой же синтаксис, как и предыдущие MarkingPoints — просто замените слои humanoid visual на enum.HumanoidVisualLayers.что-то и измените points на limit.
Вам нужно будет разделить руки и ноги на LArm, RArm и т.д. Лимиты на них были уменьшены вдвое для компенсации. Я не уверен, как обрабатывать виды, которые используют одно marking для изменения обеих рук или ног одновременно, к сожалению.
Внешний вид вида
Насколько я могу судить, это заменяет систему, соединяющую части тела друг с другом. Эта entity должна наследоватьBaseSpeciesAppearance и содержать информацию о InventoryComponent, InitialBodyComponent и HumanoidProfile.
Поле organs в InitialBodyComponent имеет словарь типов органов, соответствующих внутренним или внешним органам моба. Если вам нужно определить новый тип органа, вы можете сделать это где-нибудь в отдельном yml-файле, так же, как и в предыдущей системе.
HumanoidProfile — это замена HumanoidAppearance. Просто измените имя и дело с концом.
Сам моб
Должен наследоватьBaseSpeciesMobOrganic и соответствующий внешний вид вида. Всё, что было у старого моба, идёт сюда, за вычетом того, что вы переместили во внешний вид. Убедитесь, что вы избавились от InventoryComponent в частности.
Органы
Итак, части тела теперь тоже органы. Мы называем части тела ‘внешними органами’ в отличие от существующих органов, которые мы называем ‘внутренними органами’. Вам понадобятся:- OrganSpecies, наследующий OrganBase, с суффиксом вида
- OrganSpeciesMetabolizer, с MetabolizerComponent. Возможно, он вам не понадобится.
- OrganSpeciesInternal (мозг, глаза и т.д.), наследующий OrganSpecies, путь к спрайту organs.rsi
- OrganSpeciesExternal (голова, стопа и т.д.), наследующий OrganSpecies, путь к спрайту parts.rsi
- OrganSpeciesVisual, наследующий OrganSpecies, с
VisualOrganComponentиVisualOrganMarkingsComponent.
VisualOrganComponent на parts.rsi, а его VisualOrganMarkings — на созданную ранее группу marking (может быть ‘None’). Глаза (и другие внутренние органы, влияющие на markings, если они у вас есть) также должны наследовать OrganSpeciesVisual.
Markings
Вы можете просто удалитьmarkingCategory и followSkinColor, а также переименовать speciesRestriction в groupWhitelist, и всё должно быть в порядке. К сожалению, в апстриме нет ничего с пользовательскими визуальными слоями, так что я здесь бессилен.