[Community Development] Симпл-мобы и ползанье

Сейчас в тестмерже находится ПР на объединение Crawl и Rest вербов (кнопок на панели справа).

Так как сейчас верб Crawl даётся всем живым мобам (тобишь находится в файле living.dm и имеет путь /mob/living/crawl), подпадающие в этот список simple_animals имеют возможность кравлить (ползать).
Однако, рядом с дружелюбными обычными животными в одном типе находятся и такие ребята, как Халк image, конструкторы image, и другие (с протеоном уже жаловались).

Ознакомится с полным списком

Заходим на наш билд на Гитхабе

И всем им даётся не контролирующая скорость возможность кравлить без никакого спрайта.
А2

В связи с этим сейчас всем simple_animal’s я выключил кравл. Однако мне кажется такие парни как кошки, мопсы и краб вполне безобидно могут иметь возможность ползать.

Как выключается кравл кому-либо

Вверху путь файла (в примере файл для всего типа, а не конкретный моб)
А3
Прописываем путь, вставляем в конце crawl(), определяя когда вызываться будет эта часть кода, и запрещаем что-либо делать при его вызове return FALSE

То есть для халка нужно менять файл hulk.dm и вписывать туда /mob/living/simple_animal/hulk/crawl() с ретурном

Суть в чём: я прошу создать спрайты для всех негрифозных (пока их скорость в кравле не будет контролироваться [никогда, пока сами не закодите]) мобов, которые находятся в симпл энималах. На примере я покажу как их засунуть в игру самим. Надеюсь, коммунити подхватит идею и сделает красоту.

Так как я не знаю ничего про создание спрайтов, я не могу объяснить как создать новые, либо даже изменить старые. Я могу только посоветовать найти гайды на форуме/вики, либо спросить самих спрайтеров или того кто точно знает [UDaV73rus (Удав окружен), andrgysev02 (AndreyGysev), cnaper_dodo , Zickusable , Tap0r (DeFour), Liljard, WalterJe].

Под спойлером я покажу как спрайт засунуть в игру

ИНСТРУКЦИЯ ДЛЯ ЧАЙНИКОВ

Менять спрайты скорее всего вам никто не даст, но добавить свой к старым думаю можно.

  1. Получаем копию билда
    Если ПР ещё не замержили
    Если ПР уже в билде

    Распаковываем где вам удобно и можно начинать работать.
  2. Находим файл, где хранятся спрайты животных и вставляем свой спрайт туда, подписав правильно (если спрайт гуся, то в названии должен быть goose_…)

Все файлы должны спокойно открываться без сторонних програм в дриммейкере вот так:


  1. Открываем код и копипастим то что нам нужно из Яна (в примере ниже краб).
3.0. Если вы не уверены в себе, вот вам для копирования. (ДЛИННОСПИСОК)

#define POSE_NORM 1

#define POSE_SIT 2

#define POSE_REST 4

#define POSE_STAT 8

var/pose_prev = 0
var/pose_last = 0

/mob/living/simple_animal/crab/update_transform()

if(pose_last == pose_prev)

    return

pose_prev = pose_last

switch(pose_last)

    if(POSE_NORM)

        icon_state = "crab"

    if(POSE_SIT)

        icon_state = "crab_old"

    if(POSE_REST)

        icon_state = "crab_old"

    if(POSE_STAT)

        icon_state = "crab_old_dead"

/mob/living/simple_animal/crab/update_canmove()

. = ..(TRUE)

if(buckled)

    pose_last = POSE_SIT

else if(stat || weakened || stunned)

    pose_last = POSE_STAT

else if(crawling)

    pose_last = POSE_REST

else

    pose_last = POSE_NORM

if(pose_last != pose_prev)

    update_transform()

3.1. Находим файл животного, которому вы добавили спрайт
А8
3.2. Открываем и вписываем дефайны поз (POSE) в него (если вы уже делаете не для одного моба, вписываем дефайны в файл всех симпл мобов simple_animal.dm, чтобы не дублировать это в каждом мобе). Можно не записывать неиспользованные позы в конце.
А7
3.3. Вводим переменные в моба, определяющие смену “поз”, которые будут менять спрайты моба. Для отступов используйте ТОЛЬКО “Tab” или “Enter”
А9
3.4. Выставляем зависимость спрайтов от поз через update_transform()
А10
я вставил спрайт старого краба.
У вас должно быть icon_state = ваше название спрайта.
3.5. Записываем зависимость поз от состояний моба в update_canmove()
А11
4. Проверяем, что симпл энималы не имеют запрета на кравл
Тобишь открываем файл simple_animal.dm и убеждаемся что нет конструкций
…/crawl()
return FALSE
Если есть - удаляем.
5. Заходим в игру и тестим.
А12

Таким образом нужно изменить (не обязательно перерисовывать всего моба, достаточно сделать из его цветов и форм “лежачую позу”) всех мобов, которым можно дать Crawl, а в каждого остального прописать запрет.

Ваши готовые спрайты лучше отправлять в дискорд канал #sprites , чтобы их увидели и покритиковали.
Я не знаю можно ли добавлять новые спрайты, которые пока не будут использоваться в игре, но если можно Делайте ПР на Гитхабе и вводите их в игру, а после одним ПРом мы все готовые спрайты “активируем” в коде (как в инструкции).

После этого можно рисовать Халка, который становится четвереньки и вводить ему кравл тоже, с остальными хз.

Голосование!!
  • Обязательно поучаствую, ведь я люблю нашу Таву Киту
  • Я не буду участвовать/Я набегатор/Я хочу ТГ билд

0 голосов

1 симпатия

поворачиваешь на 90 градусов и готово

13 симпатий

стоп что блять

1 симпатия

Это мой протеже

Может проще не давать возможность симпл-димпл мобам кравлить? Как бы я не до конца улавливаю суть того, что у них есть эта фича, для чего она им?

3 симпатии

Если бы я искал то, что “проще”, я бы не сделал темку. И сделав то, что хочу, не делая вышеперечисленное, это не замержат.

Я так и не понял, нахуя мобам кравл?

2 симпатии

Чтобы культ через симпл мобов ебашил жёстко

Невероятный побочный эффект: пристегнутые симпл-мобы типа мартышек на операционных столах начинают лежа ползать по полу, и их невозможно пристегнуть, они убегают

Ты бы лучше баги фиксил, а не создавал априори мертвые темки на форуме. Баг в билде, а значит я могу на протеоне идти робастить прямо щас.

Какие баги всё пофикшено за 2 секунды. тестмерж вообще по-моему не обновлялся с первого раза как залили на сервер

Мартышка не симпл-моб, а что-то на уровне борера и нимфы, (а точнее даже разновидность карбона) симпл-моб это другое.
И зачем кому-то пристёгивать мартышку к операционному столу?

ксенобиологам например, с нее кровь черпают
а еще тот же механ у кроватей ксеноморфов

Убедил, пофиксил

Заметил что пёсель теперь делает автоматический dance в сидячем положении. И автоматический спринт до еды поблизости тоже на заду пролетает. Ручник сломался короче. И это довольно быстро начинает напрягать!

А ещё я не врубаюсь зачем вообще
zachemblyat
которую нужно выискивать по вкладкам, если есть
sitdownpls
которая всегда на виду и отлично до этого справлялась.

Она и используется. Просто раньше это был рест.
А насчёт всяких денсов и прочего дерьма — я вообще не понимаю для чего оно вам надо. Если что-то не так — пишите сразу, будет бекфлип делать каждые 2 секунды. Чем бы дитинка не баловалась.

Да оно не особо то и надо, но теперь он это делает ещё и сидя.