Reworks CNS Implant + Emagged Upgraded Cybernetic Heart (#18202)

* just dodge

Changes all instances of anti_stun to anti_stam in the code in relation to the CNS implant. Reworks the CNS implant to protect against large bursts of stamina damage. Reworks the emagged upgraded cybernetic heart to cause the user to regen stamina passively. Disabler shots can now cause the emagged upgraded cybernetic heart to fail, causing heart attacks. Removes emagged upgraded cyberheart's ability to negate drowsiness and sleeping. The upgraded cybernetic heart now makes a passive heartbeat noise, much like the cursed heart.

* dodge dodge revolution

Lowers chance of heart attack. Removes audible heartbeat.

* boxed emp kit

* elaboration

* Update code/modules/surgery/organs/augments_internal.dm

Sure

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* Update code/modules/surgery/organs/augments_internal.dm

Why not?

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>

* i finally got around to it

Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
Marm
2022-07-19 17:46:25 +01:00
committed by GitHub
parent 491247089d
commit 6d1876a0fd
8 changed files with 32 additions and 41 deletions
@@ -455,13 +455,13 @@
/datum/design/cyberimp_antistun
name = "CNS Rebooter implant"
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned. Incompatible with the Neural Jumpstarter."
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when fatigued. Incompatible with the Neural Jumpstarter."
id = "ci-antistun"
req_tech = list("materials" = 6, "programming" = 5, "biotech" = 6)
build_type = PROTOLATHE | MECHFAB
construction_time = 60
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 1000)
build_path = /obj/item/organ/internal/cyberimp/brain/anti_stun
build_path = /obj/item/organ/internal/cyberimp/brain/anti_stam
category = list("Medical")
/datum/design/cyberimp_antisleep
+6 -6
View File
@@ -110,7 +110,7 @@
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened,
/obj/item/organ/internal/cyberimp/eyes/hud/security,
/obj/item/organ/internal/cyberimp/brain/anti_stun/hardened,
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened,
/obj/item/organ/internal/cyberimp/arm/flash
)
@@ -198,7 +198,7 @@
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened,
/obj/item/organ/internal/cyberimp/eyes/hud/security,
/obj/item/organ/internal/cyberimp/brain/anti_stun/hardened,
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened,
/obj/item/organ/internal/cyberimp/arm/telebaton,
/obj/item/organ/internal/cyberimp/chest/reviver/hardened
)
@@ -282,7 +282,7 @@
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened,
/obj/item/organ/internal/cyberimp/eyes/hud/security,
/obj/item/organ/internal/cyberimp/brain/anti_stun/hardened,
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened,
/obj/item/organ/internal/eyes/cybernetic/shield,
/obj/item/organ/internal/cyberimp/arm/toolset
)
@@ -395,7 +395,7 @@
/obj/item/organ/internal/cyberimp/arm/medibeam,
/obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened,
/obj/item/organ/internal/cyberimp/eyes/hud/medical,
/obj/item/organ/internal/cyberimp/brain/anti_stun/hardened
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened
)
implants = list(/obj/item/implant/mindshield,
@@ -462,7 +462,7 @@
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened,
/obj/item/organ/internal/cyberimp/eyes/hud/security,
/obj/item/organ/internal/cyberimp/brain/anti_stun/hardened
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened
)
implants = list(/obj/item/implant/mindshield,
@@ -534,7 +534,7 @@
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened,
/obj/item/organ/internal/cyberimp/arm/advmop,
/obj/item/organ/internal/cyberimp/brain/anti_stun/hardened
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened
)
implants = list(/obj/item/implant/mindshield,
@@ -29,10 +29,10 @@
/obj/item/organ/internal/cyberimp/brain/emp_act(severity)
if(!owner || emp_proof)
return
var/stun_amount = (5 + (severity-1 ? 0 : 5)) STATUS_EFFECT_CONSTANT
owner.Stun(stun_amount)
var/weaken_time = (5 + (severity - 1 ? 0 : 5)) STATUS_EFFECT_CONSTANT
owner.Weaken(weaken_time)
to_chat(owner, "<span class='warning'>Your body seizes up!</span>")
return stun_amount
return weaken_time
/obj/item/organ/internal/cyberimp/brain/anti_drop
@@ -120,42 +120,35 @@
ui_action_click()
return ..()
/obj/item/organ/internal/cyberimp/brain/anti_stun
/obj/item/organ/internal/cyberimp/brain/anti_stam
name = "CNS Rebooter implant"
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned. Incompatible with the Neural Jumpstarter."
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when fatigued. Incompatible with the Neural Jumpstarter."
implant_color = "#FFFF00"
slot = "brain_antistun"
origin_tech = "materials=5;programming=4;biotech=5"
var/stun_max_amount = 4 SECONDS
var/last_stamina_damage = 0
var/max_stamina_increment = 40
/obj/item/organ/internal/cyberimp/brain/anti_stun/hardened
name = "Hardened CNS Rebooter implant"
emp_proof = TRUE
/obj/item/organ/internal/cyberimp/brain/anti_stun/hardened/Initialize(mapload)
. = ..()
desc += " The implant has been hardened. It is invulnerable to EMPs."
/obj/item/organ/internal/cyberimp/brain/anti_stun/on_life()
/obj/item/organ/internal/cyberimp/brain/anti_stam/on_life()
..()
if(crit_fail)
return
if(owner.AmountStun() > stun_max_amount)
owner.SetStunned(stun_max_amount)
if(owner.AmountWeakened() > stun_max_amount)
owner.SetWeakened(stun_max_amount)
if(last_stamina_damage + max_stamina_increment < owner.getStaminaLoss())
owner.setStaminaLoss(last_stamina_damage + max_stamina_increment)
last_stamina_damage = owner.getStaminaLoss()
/obj/item/organ/internal/cyberimp/brain/anti_stun/emp_act(severity)
/obj/item/organ/internal/cyberimp/brain/anti_stam/emp_act(severity)
..()
if(crit_fail || emp_proof)
return
crit_fail = TRUE
addtimer(CALLBACK(src, .proc/reboot), 90 / severity)
/obj/item/organ/internal/cyberimp/brain/anti_stun/proc/reboot()
/obj/item/organ/internal/cyberimp/brain/anti_stam/proc/reboot()
crit_fail = FALSE
/obj/item/organ/internal/cyberimp/brain/anti_stun/hardened
/obj/item/organ/internal/cyberimp/brain/anti_stam/hardened
name = "Hardened CNS Rebooter implant"
desc = "A military-grade version of the standard implant, for NT's more elite forces."
origin_tech = "materials=6;programming=5;biotech=5"
@@ -443,7 +436,7 @@
var/list/boxed = list(
/obj/item/autosurgeon/organ/syndicate/thermal_eyes,
/obj/item/autosurgeon/organ/syndicate/xray_eyes,
/obj/item/autosurgeon/organ/syndicate/anti_stun,
/obj/item/autosurgeon/organ/syndicate/anti_stam,
/obj/item/autosurgeon/organ/syndicate/reviver)
var/amount = 5
+2 -2
View File
@@ -94,8 +94,8 @@
/obj/item/autosurgeon/organ/syndicate/xray_eyes
starting_organ = /obj/item/organ/internal/eyes/cybernetic/xray/hardened
/obj/item/autosurgeon/organ/syndicate/anti_stun
starting_organ = /obj/item/organ/internal/cyberimp/brain/anti_stun/hardened
/obj/item/autosurgeon/organ/syndicate/anti_stam
starting_organ = /obj/item/organ/internal/cyberimp/brain/anti_stam/hardened
/obj/item/autosurgeon/organ/syndicate/reviver
starting_organ = /obj/item/organ/internal/cyberimp/chest/reviver/hardened
+1 -3
View File
@@ -215,13 +215,11 @@
if(!(status & ORGAN_DEAD))
var/boost = emagged ? 2 : 1
owner.AdjustDrowsy(-8 SECONDS * boost)
owner.AdjustParalysis(-2 SECONDS * boost)
owner.AdjustStunned(-2 SECONDS * boost)
owner.AdjustWeakened(-2 SECONDS * boost)
owner.AdjustKnockDown(-2 SECONDS * boost)
owner.SetSleeping(0)
owner.adjustStaminaLoss(-1 * boost)
owner.adjustStaminaLoss(-10 * boost)
/obj/item/organ/internal/heart/cybernetic/upgraded/proc/message_to_owner(mob/M, message)