Skip to content
This repository has been archived by the owner on Oct 15, 2023. It is now read-only.

Fixed clouds and sleeping #197

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

FlutterSnedDraw
Copy link
Contributor

Описание

Добавить спрайты облачков с анимацией для существ, управляемых игроком, а именно - как и обычные, но голубого оттенка во время написания эмоута; для спящих карбонов - вылетающие буквы z.Так же добавлена новая механика сна ,которая теперь действует по принципу нажал и спишь ,пока не нажал снова.

Ссылка на предложение/Причина создания ПР

https://discord.com/channels/1097181193939730453/1100595358238789683/1100595358238789683

Демонстрация изменений

SleepingIN
i-see-you
image
image

@github-actions github-actions bot added the DMI label Jul 8, 2023
@AyIong
Copy link
Contributor

AyIong commented Jul 8, 2023

image

@FlutterSnedDraw
Copy link
Contributor Author

Сейчас поправлю,в старом почему-то atom не прочитал

@AyIong
Copy link
Contributor

AyIong commented Jul 8, 2023

Вроде всё ворк

@FlutterSnedDraw
Copy link
Contributor Author

PepeHands

@Furrior
Copy link
Collaborator

Furrior commented Jul 9, 2023

Вы тоже ирл по кнопке просыпаетесь?

@Furrior
Copy link
Collaborator

Furrior commented Jul 9, 2023

А еще текущая иконка эмоций лучше

@PhantornRU
Copy link
Contributor

Fixed clouds
Добавить спрайты облачков с анимацией

Я немного фишки не понял почему это 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]
Copy link
Contributor

Choose a reason for hiding this comment

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

мы не добавляем overlays вручную, только через add_overlays

Comment on lines +38 to +41
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]
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
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)

Copy link
Contributor

Choose a reason for hiding this comment

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

  1. Не создаём каждый раз новую image для sleeping_icon в том случае, если она уже есть в глобальном списке
  2. Добавляем в глобальный список НОВУЮ sleeping_icon только в том случае, если её там нет
  3. Мы не добавляем overlays вручную, только через add_overlays, так как для работы над оверлеями есть целая сабсистема, которая по очереди их добавляет

Comment on lines +45 to 46
overlays -= GLOB.typing_indicator[bubble_sleeping_icon]
clear_alert("asleep")
Copy link
Contributor

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])

@Gaxeer
Copy link
Contributor

Gaxeer commented Jul 9, 2023

Ну и в заключение хочу сказать, что мне в целом идея с добавлением индикатора сна не нравится. Но это моё ИМХО.
Ревью сделал, так как хочу чтобы подмеченые мной ошибки больше не повторялись.

Comment on lines +216 to +217
if(sleeping == 0 || player_triggered_sleeping)
src.player_triggered_sleeping = 0
Copy link
Contributor

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 - спит - не спит. Всё что я написал - истинно только для булевых значений. Для других - есть свои тонкости - в бьенде для всех значений есть своё булевое соответствие.

Suggested change
if(sleeping == 0 || player_triggered_sleeping)
src.player_triggered_sleeping = 0
if(!sleeping || player_triggered_sleeping)
player_triggered_sleeping = FALSE

src - явно обращаться к src надо только тогда, когда существует локальная с таким же названием как и вызываемая у src. В противном случае просто вызывай переменную, без обращения к src

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

Successfully merging this pull request may close these issues.

5 participants