Skip to content

Новые предметы для растяжек + камера в автолат#8849

Open
SCPfollower wants to merge 43 commits into
ss220-space:master220from
SCPfollower:rastyazhki_hotfixes
Open

Новые предметы для растяжек + камера в автолат#8849
SCPfollower wants to merge 43 commits into
ss220-space:master220from
SCPfollower:rastyazhki_hotfixes

Conversation

@SCPfollower

@SCPfollower SCPfollower commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

Что этот ПР делает

Добавляет возможность цеплять патроны для дробовиков (с 50% урона), все пушки, огнетушители (они могут взрываться, да) и однабаллонки. Ну и добавляет рецептик камеры (которая делает фотки) в автолат.

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

Люди накинули пару крутых идей. Побегал сам, поделал фотомины, на станции кончились камеры

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

Изображения и видео

Список изменений

🆑
add: Пушки, патроны 12g, огнетушители, однобаллонки для растяжек. Добавляет рецепт фотоаппарата в автолат.
tweak: Спрайты направляются в сторону куда смотрит растяжка.
refactor: Убирает жесткую необходимость в мобе-стрелке для основных проках стрельбы.
/:cl:

снаряды дробовиков + оружие + огнетушитель + рецепт камеры в автолат
@github-actions github-actions Bot added Feature PR добавляет новые механики или изменения в игровом процессе. Quality of Life PR улучшает удобство и качество геймплея. Fix PR содержит исправления ошибок. labels Apr 7, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

Аналитический отчёт от Большого Брата. Обработка запроса завершена. Приветствую! Я проанализировал предложенные Вами изменения. С технической точки зрения, работа требует доработок. В пулл-реквесте реализована возможность установки огнетушителей, оружия и патронов на растяжки, а также добавлен чертеж камеры в автолат. Выявлены критические замечания: ошибка в определении свойств чертежа камеры (дублирование build_path вместо build_type) и потенциальный runtime error при выстреле оружия из-за передачи объекта вместо моба в процедуру shoot_live_shot. Также рекомендуется исправить логику освобождения растяжки огнетушителем при срабатывании без предохранителя и убрать избыточную проверку can_trigger_gun для механической ловушки.

Comment thread code/modules/research/designs/autolathe_designs.dm Outdated
Comment thread code/modules/projectiles/gun.dm Outdated
Comment thread code/game/objects/items/weapons/extinguisher.dm
Comment thread code/modules/projectiles/gun.dm Outdated
Comment thread code/game/objects/items/weapons/extinguisher.dm Outdated
Comment thread code/game/objects/items/weapons/extinguisher.dm Outdated
Comment thread code/modules/assembly/tripwire.dm Outdated
Comment thread code/modules/crafting/recipes.dm Outdated
Comment thread code/modules/research/designs/autolathe_designs.dm
Comment thread code/game/objects/items/weapons/extinguisher.dm Outdated
Comment thread code/game/objects/items/weapons/extinguisher.dm Outdated
@SCPfollower SCPfollower requested a review from vovakons April 8, 2026 15:18
@vovakons vovakons added the ☑️ Has Approve PR получил одобрение от одного из ревьюеров. label Apr 8, 2026
Comment thread code/modules/projectiles/ammunition/ballistic/shotgun.dm Outdated
Comment thread code/modules/projectiles/gun.dm Outdated
@SCPfollower

Copy link
Copy Markdown
Contributor Author

там почти все завязано на /mob, я умру пытаясь это исправить(

@SCPfollower

Copy link
Copy Markdown
Contributor Author

ай каст перезапуск проверки ч3

@littleboobs littleboobs added 🛑 Не закрывать PR не будет закрыт автоматически после устаревания. Testmerge Candidate PR скоро будет в тестмёрже. and removed 💀 Устаревший PR считается устаревшим, так как он не обновлялся более 14 дней. labels May 30, 2026
@github-actions github-actions Bot added Merge Conflict PR содержит изменения, конфликтующие с master-веткой. and removed Merge Conflict PR содержит изменения, конфликтующие с master-веткой. labels Jun 3, 2026
littleboobs pushed a commit that referenced this pull request Jun 18, 2026
…яжке где надо (#9389)

## Что этот ПР делает
Черрипикает фиксы с ПРа
#8849. Уменьшает время до
взрыва гранаты до 0.4с ибо иначе с растяжками работают только с
осколочными или мощными гранатами. Так будет хоть как то вредить от
детонации более слабых гранат
## Почему это хорошо для игры
Бубс попросил (а вообще багфиксы круто)
## Демонстрация изменений
<details><summary>Изображения и видео</summary>
<p>

</p>
</details>

## Список изменений
:cl:
bugfix: Исправлен рецепт растяжки.
refactor: Перенос дефайна TRIPWIRE_GRENADE_DETONATION_TIME к гранатам и
его использование.
balance: Уменьшено время детонации гранат на растяжках (1с -> 0.4с).
/:cl:
@github-actions github-actions Bot added the Merge Conflict PR содержит изменения, конфликтующие с master-веткой. label Jun 18, 2026
@littleboobs littleboobs removed Testmerge Candidate PR скоро будет в тестмёрже. 🛑 Не закрывать PR не будет закрыт автоматически после устаревания. labels Jun 18, 2026
@SCPfollower

SCPfollower commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

плашки что давали надежду были ради 4х строчек фиксов?.. УЭЭЭЭЭ

@littleboobs

Copy link
Copy Markdown
Collaborator

попроси Эшель о ревью

@github-actions github-actions Bot added Merge Conflict PR содержит изменения, конфликтующие с master-веткой. and removed Merge Conflict PR содержит изменения, конфликтующие с master-веткой. labels Jun 18, 2026
@SCPfollower SCPfollower changed the title Фикс + новые предметы для растяжек + камера в автолат Новые предметы для растяжек + камера в автолат Jun 18, 2026
var/is_tk_grab = (living_user && !isnull(living_user.tkgrabbed_objects[src]))
var/is_pacifist = (living_user && (HAS_TRAIT(living_user, TRAIT_PACIFISM) || GLOB.pacifism_after_gt))
var/is_buckled = (living_user && living_user.buckled)
var/is_left_hand = (living_user && living_user.l_hand == src)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Это бы все вообще в старт файр вынести

bonus_spread += living_user.get_fracture_spread_bonus(is_left_hand)
add_fingerprint(living_user)

if(is_buckled)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

А это в сетап буллет акураси вообще

BB.preparePixelProjectile(target, user, modifiers, spread)
if(isliving(user))
BB.preparePixelProjectile(target, user, modifiers, spread)
else

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

А равзве если у тебя он ливинг, то оригин атомом не будет юзер?

/obj/item/ammo_casing/proc/throw_proj(atom/target, turf/targloc, mob/living/user, list/modifiers, spread, atom/firer_source_atom)
var/turf/curloc = get_turf(firer_source_atom)
/obj/item/ammo_casing/proc/throw_proj(atom/target, turf/targloc, atom/movable/user, list/modifiers, spread, atom/firer_source_atom)
var/turf/curloc = get_turf(firer_source_atom) || get_turf(src) || get_turf(user)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Не уверен, что эти get_turf - хорошая идея. Особенно src

distro += variance
for(var/i = max(1, pellets), i > 0, i--)
var/targloc = get_turf(target)
if(!get_turf(user) && !get_turf(firer_source_atom) && !get_turf(src))

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

А точно ли эти проверки нужно делать внутри цикла?

if(is_tk_grab)
rotate_to_target(target)
if(living_user)
SEND_SIGNAL(living_user, COMSIG_MOB_GUN_FIRE, src)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

А этот сигнал тут нужен?

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

Labels

Balance PR изменяет баланс. Feature PR добавляет новые механики или изменения в игровом процессе. Fix PR содержит исправления ошибок. Quality of Life PR улучшает удобство и качество геймплея. Refactor PR проводит рефакторинг кода.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants