Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Paintable multi-tile airlocks #1378

Merged
merged 5 commits into from
Jul 18, 2024
Merged

Paintable multi-tile airlocks #1378

merged 5 commits into from
Jul 18, 2024

Conversation

ThaumicNik
Copy link

@ThaumicNik ThaumicNik commented Jul 11, 2024

Что этот PR делает

Добавляет возможность использовать краситель шлюзов на двойных шлюзах. При выборе стилей, у которых нету спрайтов двойных шлюзов выводит сообщение об этом пользователю.

Почему это хорошо для игры

Больше кастомизации при строительстве.

Изображения изменений

image

Тестирование

Пробежался на локалочке, всё покрасил, всё красивенько. Багов не заметил.

Changelog

🆑
tweak: Двойные шлюзы теперь можно красить (но только в определённые стили).
/:cl:

A.update_icon()
return TRUE

return TRUE
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вот тут я накосячил, нужен просто return

Copy link
Collaborator

@dj-34 dj-34 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не уверен что аирлок пейнтер нужно в объекте пихать, тут мне кажется лучше aesthetics...?

modular_ss220/objects/code/airlock_painter.dm Outdated Show resolved Hide resolved
modular_ss220/objects/_objects.dme Outdated Show resolved Hide resolved
modular_ss220/objects/code/airlock_painter.dm Outdated Show resolved Hide resolved
modular_ss220/objects/code/airlock_painter.dm Outdated Show resolved Hide resolved
modular_ss220/objects/code/airlock_painter.dm Outdated Show resolved Hide resolved
@ThaumicNik
Copy link
Author

Не уверен что аирлок пейнтер нужно в объекте пихать, тут мне кажется лучше aesthetics...?

Руководствовался тем, что именно спрайтов я не менял. Описание модуля эстетики говорит "Обновление визуального ряда". Визуал я не менял, я добавил функционал объекту.

Copy link
Collaborator

@AyIong AyIong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ты сделал полную перезапись прока, что не есть хорошо, плюс скорее всего сломал покраску обычных аирлоков, так как ретурн происходит если аирлок не двойной.

Просто засунь в /datum/painter/airlock свой статик лист, а мультитайл дверям поставь paintable = TRUE
Должно работать по идее.

modular_ss220/objects/code/airlock_painter.dm Show resolved Hide resolved
Comment on lines 19 to 26
var/static/list/multi_paint_jobs = list(
"Atmospherics" = /obj/machinery/door/airlock/multi_tile/atmospheric,
"Command" = /obj/machinery/door/airlock/multi_tile/command,
"Engineering" = /obj/machinery/door/airlock/multi_tile/engineering,
"Mining" = /obj/machinery/door/airlock/multi_tile/supply,
"Public" = /obj/machinery/door/airlock/multi_tile,
"Security" = /obj/machinery/door/airlock/multi_tile/security,
)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Этот код нужно перенести прямо в датум, а не оставлять в проке, как сделано в оригинале.

@ThaumicNik
Copy link
Author

Ты сделал полную перезапись прока, что не есть хорошо, плюс скорее всего сломал покраску обычных аирлоков, так как ретурн происходит если аирлок не двойной.

Просто засунь в /datum/painter/airlock свой статик лист, а мультитайл дверям поставь paintable = TRUE
Должно работать по идее.

Мой прок вызывает оригинальный в случае, если клик происходит не по двойному шлюзу. Случай если клик был по обычному шлюзу хендлит родительский прок.

Статик лист могу засунуть. Просто не хотел оставлять мусорные поля внутри датума.

Нет, не будет работать без переопределение прока (Если я правильно понял контекст твоего комментария). Он будет перекрашивать двойной шлюз в спрайт одинарного.

@AyIong
Copy link
Collaborator

AyIong commented Jul 13, 2024

Ты сделал полную перезапись прока, что не есть хорошо, плюс скорее всего сломал покраску обычных аирлоков, так как ретурн происходит если аирлок не двойной.
Просто засунь в /datum/painter/airlock свой статик лист, а мультитайл дверям поставь paintable = TRUE
Должно работать по идее.

Мой прок вызывает оригинальный в случае, если клик происходит не по двойному шлюзу. Случай если клик был по обычному шлюзу хендлит родительский прок.

Статик лист могу засунуть. Просто не хотел оставлять мусорные поля внутри датума.

Нет, не будет работать без переопределение прока (Если я правильно понял контекст твоего комментария). Он будет перекрашивать двойной шлюз в спрайт одинарного.

Ну тогда просто перенеси лист с прока в датум

@ThaumicNik
Copy link
Author

Ты сделал полную перезапись прока, что не есть хорошо, плюс скорее всего сломал покраску обычных аирлоков, так как ретурн происходит если аирлок не двойной.
Просто засунь в /datum/painter/airlock свой статик лист, а мультитайл дверям поставь paintable = TRUE
Должно работать по идее.

Мой прок вызывает оригинальный в случае, если клик происходит не по двойному шлюзу. Случай если клик был по обычному шлюзу хендлит родительский прок.
Статик лист могу засунуть. Просто не хотел оставлять мусорные поля внутри датума.
Нет, не будет работать без переопределение прока (Если я правильно понял контекст твоего комментария). Он будет перекрашивать двойной шлюз в спрайт одинарного.

Ну тогда просто перенеси лист с прока в датум

Done

@AyIong AyIong merged commit 58dbad5 into ss220club:master Jul 18, 2024
13 checks passed
@m-dzianishchyts m-dzianishchyts linked an issue Sep 23, 2024 that may be closed by this pull request
3 tasks
@m-dzianishchyts
Copy link
Collaborator

#1374

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants