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

4 Стикера #13652

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

Conversation

DarthSidiousPalpatine
Copy link
Contributor

Описание изменений

Добавлены 4 стикера которые можно клеить на всякое и писать на них надписи.
image
image

Почему и что этот ПР улучшит

Начинаю парад атомизации своих непропущенных ПРов.

Авторство

AndreyGysev

Чеинжлог

🆑

  • rscadd: Добавлены 4 стикера которые можно клеить на всякое и писать на них надписи

Добавлены 4 стикера которые можно клеить на всякое и писать на них надписи.
@TauKitty
Copy link
Contributor

Changelog status: ✔️

@TauKitty TauKitty added Feature Новая фича Sprites labels Nov 25, 2024
@TauKitty TauKitty requested a review from a team November 25, 2024 06:58
Добавлена забытая пустая строчка на конце файла.
@MrPerenka
Copy link

Гусев респект. Да просто декор, но хоть что-то

@DarthSidiousPalpatine
Copy link
Contributor Author

DarthSidiousPalpatine commented Nov 25, 2024

Гусев респект. Да просто декор, но хоть что-то

Это кусок моего старого ПРа годовой давности. Там просили разделить на несколько. Вот, спустя год и рост над собой, пришёл и просто разделил.

@Tap0r
Copy link
Contributor

Tap0r commented Nov 25, 2024

срочно мерж это ахуенно

data = "[infolinks ? info_links : info][stamp_text]"

if(view)
var/datum/browser/popup = new(user, "window=[name]", "[name]", 200, 200, ntheme = theme_color)
Copy link
Member

Choose a reason for hiding this comment

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

Мб просто вынести эти параметры в /obj/item/weapon/paper, а не копипастить прок? Я про тему и размеры окошка

Copy link
Contributor Author

Choose a reason for hiding this comment

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

оки

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Сделано

transform = M
user.drop_from_inventory(src, target.loc, text2num(click_params[ICON_X]) + target.pixel_x - world.icon_size / 2, text2num(click_params[ICON_Y]) + target.pixel_y - world.icon_size / 2)

AddComponent(/datum/component/bounded, target, 0, 0, CALLBACK(src, PROC_REF(resolve_stranded)))
Copy link
Member

Choose a reason for hiding this comment

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

А точно компонента нужна? Оно точно нормально перемещается вместе с объектами?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Да, я тестил, норм перемещается с объектами.

Comment on lines 52 to 54
if(!proximity) return
if(!istype(target, /obj/structure) && !ismachinery(target)) return
if(src.loc != user) return
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
if(!proximity) return
if(!istype(target, /obj/structure) && !ismachinery(target)) return
if(src.loc != user) return
if(!proximity)
return
if(!istype(target, /obj/structure) && !ismachinery(target))
return
if(loc != user)
return

Вроде как, проверка loc != user лишняя, так как афтер аттак только так и вызывается, но не уверен.

Ну и, а если я хочу прилепить стикер к моей любимой корове и назвать её "Бетси", почему нельзя? Почему к мобам нельзя приклеивать и к любым и темам?

Copy link
Member

Choose a reason for hiding this comment

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

К айтемам нельзя клеить, я так понимаю, из-за компоненты, которая заставляет следовать стикер за таргетом, но это же кринж? Может вместо компоненты, у всем /obj будет лист стикеров, а сами стикеры добавляются через vis_contents (чтобы были кликабельными) ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

звучит замудрённо. Да и мой стикер, например, может от ветра улететь. Норм. Ну и сгореть может, и вообще, существует в мире как бумажка.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Почему там эти проверки? По факту, код нагло скопирован у бумажки. Там есть эти проверки. Вот и себе забрал в стикер.

Наследовать не вышло бы потому что, ну, стикером вытирать кровь не хочу.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

А на мобов нельзя вешать потому что тогда имбазавешался стикерами и у тебя мегаброня от мили ударов. Или у моба. Крч, не оч.

Copy link
Member

Choose a reason for hiding this comment

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

У бумажки другие проверки. тоже нету про лок==юзер
image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

а у меня почему-то, есть, хм, стой, я перепутал чтоль.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Да, путаю. В любом случае, я не вижу где у афтераттак есть проверка на то что итем не в юзере.

Я уберу и проверю, мб это я так баг фиксил.

Copy link
Contributor

Choose a reason for hiding this comment

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

А на мобов нельзя вешать потому что тогда имбазавешался стикерами и у тебя мегаброня от мили ударов. Или у моба. Крч, не оч.

почему нельзя сделать чтоб клик по стикеру засчитывался как клик по мобу.....

Copy link
Contributor Author

Choose a reason for hiding this comment

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

А, да, забыл написать. Я убрал проверку на лок == юзер и ничего не сломалось. Хз зачем она существовала тогда, я потестил и так, и эдак - всё норм. Крч, вот, сделано, получается.

if(dist >= bounds.min_dist && dist <= bounds.max_dist)
return TRUE

qdel(GetComponent(/datum/component/bounded))
Copy link
Member

Choose a reason for hiding this comment

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

А как же RemoveComponent() ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Прикол в том что у нас везде в билде "qdel(GetComponent", потому я и выбрал абсолютно такую же вещь.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Точно RemoveComponent работает так как мне надо?

Copy link
Contributor

Choose a reason for hiding this comment

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

removecomponent это другое
на тг уже споткнулись об это и переименовали в ClearFromParent()

Copy link
Member

Choose a reason for hiding this comment

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

пепец

Comment on lines 95 to 98
var/prev_intent = user.a_intent
user.set_a_intent(INTENT_GRAB)
attack_hand(user)
user.set_a_intent(prev_intent)
Copy link
Member

Choose a reason for hiding this comment

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

Убери это переключение интентов.. Это же 💀. Я думаю сам поймешь как

Copy link
Contributor Author

Choose a reason for hiding this comment

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

та прост параметр у атакхенда добавлю форсграб или тип того

Copy link
Contributor Author

Choose a reason for hiding this comment

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

На самом деле я просто скопировал свой код годовалой давности в этих ПРах и сам в афиге зачем тут сет интент...

Почему мне тогда казалось это хорошей идеей...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Сделано

Copy link
Member

Choose a reason for hiding this comment

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

Не-не-не. Не через добавление параметра, так модифицировать сигнатуру функции может вызвать неожиданное поведение потом.

Ты просто вынеси код в другую функцию и вызывай её из аттак_хенда и отсюда
image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

А. ахаха, я понял откуда этот код. Он из PaperBin.
image

Смешное. Ладно, я просто переписываю на то чтобы пробовать по маус_дроп банально в руку переложить пачку стикеров.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

без вызова аттак_хенд из маус_дроп

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Переписал

Убрано насильное изменение интента игрока на Граб чтобы поднять пачку стикеров путём добавления переменной forceGrab что обходит проверку на граб в функции attack_hand
Убран копипаст функции show_content путём добавления трёх переменных в /obj/item/weapon/paper.

windowX, windowY, windowTheme для ширины, высоты и темы окошка соответственно.
Переписал маусдроп на попытку положить стопку стикеров в руку вместо вызова аттак_хенд.

Не берите, дети, легасикод в свои фичи. Может легасикод быть по-дебильному написан и замержен легасимейнтейнером.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Новая фича Sprites
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants