mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-20 04:17:33 +01:00
Gravity Adaptations Bioaug (#21532)
From the list of bioaugments requested by Schwann. https://docs.google.com/document/d/1SLbll969PyJ_H9J1LP8cmdso9OMozUc8MGOVZkY4HbE/mobilebasic Gravity Adaptations are a bioaugment that serves as an implanted alternative to legbraces, which grant the same effect. These are unique to Galatean Offworlders in the same vein as legbraces being unique to offworlders. They also essentially have the same effect, making the offworlder immune to the effects of "Gravity Weakness". To make this work, I refactored the gravity weakness mechanic to operate via a signal, which has a shared response between legbraces and gravity adaptations. This "Cancelable signal" pattern is going to be fairly common going forwards as I refactor a variety of systems to allow far greater degrees of unique interactions, without the need of hardcoding said interactions at the source. <img width="797" height="84" alt="image" src="https://github.com/user-attachments/assets/01622f2b-56a1-4fb8-ae43-d78afd35f3b5" /> <img width="935" height="91" alt="image" src="https://github.com/user-attachments/assets/309bbc66-d6aa-44b1-9a59-64f7fc800c90" /> <img width="617" height="259" alt="image" src="https://github.com/user-attachments/assets/81a1f973-b1af-45c1-8373-05549fde286a" /> I have tested this PR and have verified in my dev environment that it works as advertised.
This commit is contained in:
@@ -12,14 +12,14 @@
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
RegisterSignal(owner, COMSIG_HEART_PUMP_EVENT, PROC_REF(stabilize_circulation))
|
||||
RegisterSignal(owner, COMSIG_HEART_PUMP_EVENT, PROC_REF(stabilize_circulation), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/auxiliary_heart/replaced()
|
||||
. = ..()
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
RegisterSignal(owner, COMSIG_HEART_PUMP_EVENT, PROC_REF(stabilize_circulation))
|
||||
RegisterSignal(owner, COMSIG_HEART_PUMP_EVENT, PROC_REF(stabilize_circulation), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/auxiliary_heart/removed()
|
||||
. = ..()
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
/obj/item/organ/internal/augment/bioaug/gravity_adaptations
|
||||
name = "gravity adaptations"
|
||||
desc = "A suite of chemical glands, tailored epigenetic therapies, and skeletal reinforcements that are aimed towards Galatean Off-worlders" \
|
||||
+ "These bioaugmentations serve to eliminate the weakness experienced by Off-worlders in standard terrestrial gravity."
|
||||
icon_state = "mind_blanker" //It's small and just looks like a little blob of flesh, so good enough for a placeholder for chemical glands.
|
||||
organ_tag = BP_AUG_GRAV_ADAPTATION
|
||||
parent_organ = BP_CHEST
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/gravity_adaptations/Initialize()
|
||||
. = ..()
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
RegisterSignal(owner, COMSIG_GRAVITY_WEAKNESS_EVENT, PROC_REF(negate_weakness), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/gravity_adaptations/replaced()
|
||||
. = ..()
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
RegisterSignal(owner, COMSIG_GRAVITY_WEAKNESS_EVENT, PROC_REF(negate_weakness), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/gravity_adaptations/removed()
|
||||
. = ..()
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
UnregisterSignal(owner, COMSIG_GRAVITY_WEAKNESS_EVENT)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/gravity_adaptations/proc/negate_weakness(var/implantee, var/canceled)
|
||||
SIGNAL_HANDLER
|
||||
*canceled = TRUE //TODO: TCJ just make this a component I can shove onto anything.
|
||||
@@ -11,14 +11,14 @@
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
RegisterSignal(owner, COMSIG_PSI_MIND_POWER, PROC_REF(cancel_power))
|
||||
RegisterSignal(owner, COMSIG_PSI_MIND_POWER, PROC_REF(cancel_power), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/replaced()
|
||||
. = ..()
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
RegisterSignal(owner, COMSIG_PSI_MIND_POWER, PROC_REF(cancel_power))
|
||||
RegisterSignal(owner, COMSIG_PSI_MIND_POWER, PROC_REF(cancel_power), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/removed()
|
||||
. = ..()
|
||||
@@ -44,14 +44,14 @@
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
RegisterSignal(owner, COMSIG_PSI_MIND_POWER, PROC_REF(cancel_power_lethal))
|
||||
RegisterSignal(owner, COMSIG_PSI_MIND_POWER, PROC_REF(cancel_power_lethal), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker_lethal/replaced()
|
||||
. = ..()
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
RegisterSignal(owner, COMSIG_PSI_MIND_POWER, PROC_REF(cancel_power_lethal))
|
||||
RegisterSignal(owner, COMSIG_PSI_MIND_POWER, PROC_REF(cancel_power_lethal), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker_lethal/removed()
|
||||
. = ..()
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
RegisterSignal(owner, COMSIG_HEART_PUMP_EVENT, PROC_REF(stroke_risk))
|
||||
RegisterSignal(owner, COMSIG_HEART_BLEED_EVENT, PROC_REF(reduce_bloodloss))
|
||||
RegisterSignal(owner, COMSIG_HEART_PUMP_EVENT, PROC_REF(stroke_risk), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_HEART_BLEED_EVENT, PROC_REF(reduce_bloodloss), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/platelet_factories/replaced()
|
||||
. = ..()
|
||||
if(!owner)
|
||||
return
|
||||
|
||||
RegisterSignal(owner, COMSIG_HEART_PUMP_EVENT, PROC_REF(stroke_risk))
|
||||
RegisterSignal(owner, COMSIG_HEART_BLEED_EVENT, PROC_REF(reduce_bloodloss))
|
||||
RegisterSignal(owner, COMSIG_HEART_PUMP_EVENT, PROC_REF(stroke_risk), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_HEART_BLEED_EVENT, PROC_REF(reduce_bloodloss), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/platelet_factories/removed()
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user