Разработка модов для Terraria 1.4.4. Часть 4 - Создание своего зелья и переезд на версию 1.4.4
Доброго дня! Сегодня я покажу, как создать своё собственное зелье, а также сделаю небольшое дополнение для второй части про переход на новую версию!
Переезд на версию 1.4.4
Название и описание предмета
Во второй части я показывал, как добавить название и описание для предмета, оно выглядело так:
В новой версии это было изменено, и теперь можно смело удалять функцию SetStaticDefaults. Теперь, с версии 1.4.4, название и описание меняется следующим образом: в папке с нашим проектом находим папку Localisation
Открываем её, а затем открываем файл en-US_Mods.CoolMod.hjson, именно здесь у нас хранится всё в нашем проекте, что связанно с текстом
На данный момент файл выглядит следующим образом:
Здесь, внутри кавычек рядом с Tooltip, можно написать описание, а после двоеточия DisplayName - название вашего предмета. Я изменил строчки следующим образом:
Как видите, в игре всё работает как надо
Кстати говоря, именно благодаря hjson файлам можно добавлять перевод на другие языки для вашего мода! Но я об этом расскажу в будущем, когда в проекте появится больше текста
Изменение строчки "Condition"
В третьей части появилась следующая строчка:
Всё, что нужно сделать для её работоспособности - удалить Recipe., чтобы получилось следующим образом:
На этом с переездом покончено! Давайте перейдём к следующей части статьи -
Создание своего зелья
Итак, для создания своего зелья нам потребуется следующее: привычным движением руки создаём новый файл в папке Items
Видим наш файл, удаляем все библиотеки без слова Terraria, в строчке с нашим классом заменяем слово internal на public и добавляем : ModItem, получаем следующее:
А теперь, самое страшное... Добавляем функцию SetDefaults со следующими строчками:
Да, кажется, что строчек много, но сейчас мы с ними разберёмся. Некоторые строчки, разобранные во второй части я не буду затрагивать. Ну да перейдём к делу:
- уже знакомый нам useStyle в нашем случае использует тип анимации DrinkLiquid, то есть, будет проигрываться анимация питья
- useTurn - переменная, отвечающая за поворот персонажа влево - вправо, пока применяется анимация.
- maxStack - максимальное количество предмета в одном слоте в инвентаре
- consumable - тратится ли наш предмет при использовании
- potion - будет ли накладываться Potion Sickness(Послезельевая болезнь) при применении этого предмета
- healLife и healMana отвечают за количество восполненного при использовании здоровья или маны соответственно
- buffType - какой бафф(или дебафф) будет накладываться на игрока при применении, список buffID вы можете найти здесь
- buffTime - как долго будет длиться бафф, который вы указали, 3600 = 1 минуте
Вы могли бы меня спросить: "А что, если я захочу, чтобы игроку давались все баффы мира?" - и я отвечу: OnConsumeItem
OnConsumeItem - это функция, позволяющая делать что-то, когда игрок использует тратящийся предмет. В нашем случае, мы сделаем следующим образом:
Здесь, мы добавляем игроку бафф Железная Кожа на 1 минуту. Таким образом, можно добавить сколько угодно баффов, дебаффов или что-нибудь ещё.
Также, не забываем и про рецепт! Я сделал следующий:
Не забываем также, что нашему предмету нужен спрайт. Напомню, что он должен называться также, как и наш скрипт(CoolPotion.cs) и иметь формат .png. В моём случае получилось так:
На этом всё! Теперь давайте проверим, что всё в порядке и правильно работает
Поздравляю! Вы научились делать собственные зелья!
Не забывайте ставить лайки, подписываться, а также комментировать мои статьи! Также, я создал дискорд сервер, на котором вы можете задать свои вопросы, а также лично со мной пообщаться! А теперь я прощаюсь и уже по традиции говорю вам...
Удачи и не забывайте играть в игры!