Skip to content

fix: Nuclear disk movement in case of cryosleep fix#2535

Open
Voyaker-coder wants to merge 7 commits into
ss220club:masterfrom
Voyaker-coder:disk
Open

fix: Nuclear disk movement in case of cryosleep fix#2535
Voyaker-coder wants to merge 7 commits into
ss220club:masterfrom
Voyaker-coder:disk

Conversation

@Voyaker-coder

@Voyaker-coder Voyaker-coder commented Jun 9, 2026

Copy link
Copy Markdown

Что этот PR делает

Перемещает диск ядерной аутентификации на пол рядом с криоподом в случае покидания "куклы" раунда путём ухода в криосон.

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

Диск оставался в хранилище консоли крио после ухода его владельца. Было решено это исправить.

Изображения изменений

Не особо нужно

Тестирование

Локально. Диск перемещается только после непосредственного удаления "куклы" из мира после гостования. Остальное содержимое по прежнему переходит в хранилище консоли.

Changelog

🆑
fix: Исправлена проблема, при которой диск ядерной аутентификации оставался в хранилище консоли криокапсул в случае, если владелец диска покинул раунд путём ухода в криосон. Теперь он остается на полу рядом с криокапсулой для более интуитивного нахождения.
/:cl:

@ss220app ss220app Bot added the 📜 CL валиден Этот чейнджлог будет успешно опубликован label Jun 9, 2026

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request introduces logic to relocate the nuclear disk when it is stored inside the cryopod's control computer. A critical issue was identified where control_computer could be null, leading to a runtime error when calling get_all_contents(). A null check should be added to ensure safety.

Comment on lines +295 to +299
var/obj/item/disk/nuclear/disk = locate(/obj/item/disk/nuclear) in control_computer.get_all_contents()
if(disk)
var/datum/component/stationloving/loving = disk.GetComponent(/datum/component/stationloving)
if(loving)
loving.relocate()

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

critical

🔴 Критическая ошибка

Обнаружено потенциальное обращение к null объекту. Переменная control_computer может быть null (например, если консоль управления отсутствует или была уничтожена). Вызов метода get_all_contents() на null объекте вызовет ошибку времени выполнения (runtime error).

Пожалуйста, добавьте проверку if(control_computer) перед поиском диска.

	if(control_computer)
		var/obj/item/disk/nuclear/disk = locate(/obj/item/disk/nuclear) in control_computer.get_all_contents()
		if(disk)
			var/datum/component/stationloving/loving = disk.GetComponent(/datum/component/stationloving)
			if(loving)
				loving.relocate()
References
  1. Null-safety: Требовать проверку на null перед использованием объекта. (link)
  2. Требовать проверку на null перед использованием объекта.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

чек

@CallmeHouston CallmeHouston linked an issue Jun 9, 2026 that may be closed by this pull request
@Voyaker-coder Voyaker-coder changed the title FIX: Nuclear disk movement in case of cryosleep fix: Nuclear disk movement in case of cryosleep Jun 9, 2026
@Voyaker-coder Voyaker-coder changed the title fix: Nuclear disk movement in case of cryosleep fix: Nuclear disk movement in case of cryosleep fix Jun 9, 2026
@PetyaFX PetyaFX mentioned this pull request Jun 12, 2026
@github-actions

Copy link
Copy Markdown

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~7 days. Please address any outstanding review items and ensure your PR is finished - if both are true, and you have auto-staled anyway, you need to actively ask maintainers (by pinging them in the /tg/station Discord) to (re)review or merge your PR. If no maintainer responds to your request, you may wish to close this PR yourself while you seek maintainer comment, as you will later be able to reopen the PR yourself.

@github-actions github-actions Bot added the 💩 Stale Кажется всем похуй на этот ПР. Жизнь сурова... label Jun 17, 2026
@PetyaFX

PetyaFX commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

@Voyaker-coder Отписывал по фиксу в - #2532

@PetyaFX PetyaFX removed the 💩 Stale Кажется всем похуй на этот ПР. Жизнь сурова... label Jun 18, 2026
@Voyaker-coder

Copy link
Copy Markdown
Author

@Voyaker-coder Отписывал по фиксу в - #2532

Угу, увидел. Был занят ивентом, скоро переделаю

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

Labels

📜 CL валиден Этот чейнджлог будет успешно опубликован

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Диск и крио

2 participants