-
-
Notifications
You must be signed in to change notification settings - Fork 106
[TM] ADD: Меняем работу кобуры на парадайз-стайл #2218
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
base: beta-dev
Are you sure you want to change the base?
The head ref may contain hidden characters: "\u041A\u043E\u0431\u0443\u0440\u0430-(Paradise)"
Conversation
Меняем работу кобуры на парадайз-стайл
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.
Это конечно хорошо, но почему не улучшить тогда обычный холстер без переписывания методов?
Мне не очень нравится вообще что у нас в билде существуют функциональные предметы что цепляются на одежду, это только путает.
Если хочешь улучшить попробуй через метод on_alt_click_async(datum/source, mob/user)
что я разбирал в #2215
Ну и хоткей добавить отдельно с той же проверкой на холстер и оружие.
// Chameleon holster | ||
/obj/item/clothing/accessory/holster/chameleon | ||
name = "syndicate holster" | ||
desc = "A two pouched hip holster that uses chameleon technology to disguise itself and any guns in it." | ||
var/datum/action/item_action/chameleon/change/chameleon_action | ||
|
||
/obj/item/clothing/accessory/holster/chameleon/Initialize() | ||
. = ..() | ||
|
||
chameleon_action = new(src) | ||
chameleon_action.chameleon_type = /obj/item/clothing/accessory | ||
chameleon_action.chameleon_name = "Accessory" | ||
chameleon_action.initialize_disguises() | ||
|
||
/obj/item/clothing/accessory/holster/chameleon/Destroy() | ||
QDEL_NULL(chameleon_action) | ||
return ..() | ||
|
||
/obj/item/clothing/accessory/holster/chameleon/emp_act(severity) | ||
. = ..() | ||
if(. & EMP_PROTECT_SELF) | ||
return | ||
chameleon_action.emp_randomise() | ||
|
||
/obj/item/clothing/accessory/holster/chameleon/broken/Initialize() | ||
. = ..() | ||
chameleon_action.emp_randomise(INFINITY) |
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.
А зачем...?
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.
зачем что ? зачем кобура хамелеон ? ну хз , сложный вопрос
Немного не так но по сути реализовано , хотя считаю что это лишнее |
Я абстрактно говорил, не суть. |
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.
Тяжело, сильно много багов будет...
Это я ещё про дубляж кода умолчал.
Попытка рефактора , надеюсь удачная , чуть разнесли код и убрали косяки
Убираем лишнюю проверку
Надеюсь последние правки , косметику править уже не буду
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.
Чет смущает подробнейшая логирование
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.
Напомни а зачем нам такое подробное логирование кобуры?
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.
Выглядит так как будто это лишнее
Убираем лишние логирование
Test merge deployment history:Test Merge Deployed @ 10/04/2025 16:26:02 +00:00:Server InstanceShiptest_Alpha Merged ByDe-Grand RevisionOrigin: ed76e50 Test Merge Updated @ 10/05/2025 15:52:02 +00:00:Server InstanceShiptest_Alpha Merged ByVoiko RevisionOrigin: ed76e50 Test Merge Updated @ 10/05/2025 16:23:30 +00:00:Server InstanceShiptest_Alpha Merged ByVoiko RevisionOrigin: ed76e50 |
Описание / Что этот PR делает
Изменяет работу кобуры , теперь это не только дополнительный карман на рубашке а удобный предмет для быстрой работы с оружием.
Причина создания ПР / Почему это хорошо для игры
Мне всегда не нравилась механика кобур ТГ , открой доп карман , кликни мимо кобуры , умри пока доставал пушку , а если еще чтото в руке есть , то надо сначало сбросить , что не всегда из за лагов удается быстро сделать.
Стиль парадиз кобур вводит четкое обещание , после нажатия кнопки , то что было в кобуре , появится в активной руке.
Демонстрация изменений / Тестирование
1.Установить кейбинд на удобную кнопку
2.Надеть кобуру на одежду либо взять в руки( не сработает кейбинд , только в ручную работать )
3.Взять оружие подходящее для кобуры , нажать кейбинд либо кликнуть оружием по кобуре или одежде с кобурой
4.Оружие вложится в кобуру если позволяют условия
5.Достать можно либо повторным нажатием на кейбинд либо альт клик по униформе с кобурой либо кобуре , откроется ui окно с содержимым
6.Оружие снова появится в руке.
Список изменений
Изменена работа кобуры , теперь она имеет всего один слот.
В кобуру можно положить только оружие смолл размера и без авто режима.
Кобура nuke может принимать оружие большего размера.
Добавлена unbind кнопка для действия holster/unholster.