-
Notifications
You must be signed in to change notification settings - Fork 39
Fixed clouds and sleeping #197
base: master
Are you sure you want to change the base?
Fixed clouds and sleeping #197
Conversation
Сейчас поправлю,в старом почему-то atom не прочитал |
Вроде всё ворк |
PepeHands |
Вы тоже ирл по кнопке просыпаетесь? |
А еще текущая иконка эмоций лучше |
Я немного фишки не понял почему это Fixed. |
GLOB.typing_indicator[bubble_sleeping_icon] = image('icons/mob/talk.dmi', null, "[bubble_sleeping_icon]", FLY_LAYER) | ||
var/image/I = GLOB.typing_indicator[bubble_sleeping_icon] | ||
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | ||
overlays += GLOB.typing_indicator[bubble_sleeping_icon] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
мы не добавляем overlays
вручную, только через add_overlays
GLOB.typing_indicator[bubble_sleeping_icon] = image('icons/mob/talk.dmi', null, "[bubble_sleeping_icon]", FLY_LAYER) | ||
var/image/I = GLOB.typing_indicator[bubble_sleeping_icon] | ||
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | ||
overlays += GLOB.typing_indicator[bubble_sleeping_icon] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GLOB.typing_indicator[bubble_sleeping_icon] = image('icons/mob/talk.dmi', null, "[bubble_sleeping_icon]", FLY_LAYER) | |
var/image/I = GLOB.typing_indicator[bubble_sleeping_icon] | |
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | |
overlays += GLOB.typing_indicator[bubble_sleeping_icon] | |
var/image/bubble_sleeping_icon_to_display = GLOB.typing_indicator[bubble_sleeping_icon] | |
if (!bubble_sleeping_icon_to_display) | |
bubble_sleeping_icon_to_display = image('icons/mob/talk.dmi', null, "[bubble_sleeping_icon]", FLY_LAYER) | |
GLOB.typing_indicator[bubble_sleeping_icon] = bubble_sleeping_icon_to_display | |
FLY_LAYER) | |
bubble_sleeping_icon_to_display.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | |
add_overlays(bubble_sleeping_icon_to_display) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Не создаём каждый раз новую image для
sleeping_icon
в том случае, если она уже есть в глобальном списке - Добавляем в глобальный список НОВУЮ
sleeping_icon
только в том случае, если её там нет - Мы не добавляем overlays вручную, только через add_overlays, так как для работы над оверлеями есть целая сабсистема, которая по очереди их добавляет
overlays -= GLOB.typing_indicator[bubble_sleeping_icon] | ||
clear_alert("asleep") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Тут аналогично с add_overlays
, используется cut_overlays
cut_overlays(GLOB.typing_indicator[bubble_sleeping_icon])
Ну и в заключение хочу сказать, что мне в целом идея с добавлением индикатора сна не нравится. Но это моё ИМХО. |
if(sleeping == 0 || player_triggered_sleeping) | ||
src.player_triggered_sleeping = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
в случаях, где 0
и 1
используются как булевые значения, то есть 0 - это FALSE, то есть ложность выражения и 1 - это TRUE, то есть истинность выражения, то необходимо их и использовать.
Вместо 0 - FALSE.
Вместо 1 - TRUE.
Так же, не обязательно писать полностью sleeping == 0
, достаточно просто !sleeping
- где ! - это оператор отрицания, то есть читаем ! - не, sleeping - спит
- не спит. Всё что я написал - истинно только для булевых значений. Для других - есть свои тонкости - в бьенде для всех значений есть своё булевое соответствие.
if(sleeping == 0 || player_triggered_sleeping) | |
src.player_triggered_sleeping = 0 | |
if(!sleeping || player_triggered_sleeping) | |
player_triggered_sleeping = FALSE |
src - явно обращаться к src надо только тогда, когда существует локальная с таким же названием как и вызываемая у src
. В противном случае просто вызывай переменную, без обращения к src
Описание
Добавить спрайты облачков с анимацией для существ, управляемых игроком, а именно - как и обычные, но голубого оттенка во время написания эмоута; для спящих карбонов - вылетающие буквы z.Так же добавлена новая механика сна ,которая теперь действует по принципу нажал и спишь ,пока не нажал снова.
Ссылка на предложение/Причина создания ПР
https://discord.com/channels/1097181193939730453/1100595358238789683/1100595358238789683
Демонстрация изменений