[MIRROR] Fixes netpod healing exploit [MDB IGNORE] (#26002)

* Fixes netpod healing exploit (#80717)

## About The Pull Request
This PR addresses an issue where netpod healing effects persisted under
certain conditions (Issue #80715). Specifically, when a netpod is
destroyed with a player inside, the embryonic stasis effect improperly
continued. This adds another cases where the user is teleported out by
other means (not currently a known issue).
## Why It's Good For The Game
Fixes an in game exploit / bug
Fixes #80715
## Changelog
🆑
fix: Having a netpod destroyed will no longer grant you permanent
healing.
/🆑

* Fixes netpod healing exploit

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
This commit is contained in:
SkyratBot
2024-01-04 21:43:14 -05:00
committed by GitHub
co-authored by Jeremiah
parent 61eaf4aef3
commit 4b9365cb42
@@ -6,7 +6,13 @@
if (!iscarbon(parent))
return COMPONENT_INCOMPATIBLE
RegisterSignal(pod, COMSIG_BITRUNNER_NETPOD_OPENED, PROC_REF(on_opened))
RegisterSignals(
pod,
list(COMSIG_MACHINERY_BROKEN, COMSIG_QDELETING, COMSIG_BITRUNNER_NETPOD_OPENED),
PROC_REF(on_remove),
)
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_remove))
var/mob/living/carbon/player = parent
player.apply_status_effect(/datum/status_effect/embryonic, STASIS_NETPOD_EFFECT)
@@ -39,7 +45,7 @@
owner.updatehealth()
/// Deletes itself when the machine was opened
/datum/component/netpod_healing/proc/on_opened()
/datum/component/netpod_healing/proc/on_remove()
SIGNAL_HANDLER
qdel(src)