Removes cortical stacks (#11341)

This commit is contained in:
Tom
2022-02-07 20:45:15 +00:00
committed by GitHub
parent c1b9022a9c
commit e28065d673
13 changed files with 2 additions and 194 deletions
-2
View File
@@ -114,7 +114,6 @@
#define ORGAN_SLOT_EARS "ears"
#define ORGAN_SLOT_EYES "eye_sight"
#define ORGAN_SLOT_HEART "heart"
#define ORGAN_SLOT_STACK "stack" //SKYRAT EDIT, STACKS
#define ORGAN_SLOT_HEART_AID "heartdrive"
#define ORGAN_SLOT_HUD "eye_hud"
#define ORGAN_SLOT_LIVER "liver"
@@ -180,7 +179,6 @@ GLOBAL_LIST_INIT(organ_process_order, list(
ORGAN_SLOT_LUNGS,
ORGAN_SLOT_HEART,
ORGAN_SLOT_ZOMBIE,
ORGAN_SLOT_STACK, //SKYRAT EDIT
ORGAN_SLOT_THRUSTERS,
ORGAN_SLOT_HUD,
ORGAN_SLOT_LIVER,
+1 -3
View File
@@ -172,7 +172,7 @@
return ..()
/obj/machinery/mineral/equipment_vendor/proc/RedeemVoucher(obj/item/mining_voucher/voucher, mob/redeemer)
var/items = list("Survival Capsule and Explorer's Webbing", "Resonator Kit", "Minebot Kit", "Extraction and Rescue Kit", "Crusher Kit", "Mining Conscription Kit", "Neural Lace Kit") //SKYRAT EDIT - Neural Laces
var/items = list("Survival Capsule and Explorer's Webbing", "Resonator Kit", "Minebot Kit", "Extraction and Rescue Kit", "Crusher Kit", "Mining Conscription Kit")
var/selection = tgui_input_list(redeemer, "Pick your equipment", "Mining Voucher Redemption", sort_list(items))
if(isnull(selection))
@@ -186,8 +186,6 @@
if("Resonator Kit")
new /obj/item/extinguisher/mini(drop_location)
new /obj/item/resonator(drop_location)
if("Neural Lace Kit") // Skyrat edit
new /obj/item/autosurgeon/organ/corticalstack(drop_location)
if("Minebot Kit")
new /mob/living/simple_animal/hostile/mining_drone(drop_location)
new /obj/item/weldingtool/hugetank(drop_location)
+1 -1
View File
@@ -63,7 +63,7 @@
if(no_brain && istype(I, /obj/item/organ/brain))
qdel(I)
continue
if(no_organs && !istype(I, (/obj/item/organ/brain || /obj/item/organ/corticalstack))) //Skyrat edit - Neural Laces - babyproofed
if(no_organs && !istype(I, /obj/item/organ/brain))
qdel(I)
continue
I.Remove(src)
@@ -3,14 +3,4 @@
/obj/item/taperoll/med = 2,
/obj/item/taperoll/bio = 2,
/obj/item/ttsdevice = 3,
/obj/item/autosurgeon/organ/corticalstack = 3,
/obj/item/stackremover = 5,
)
/obj/machinery/vending/medical/syndicate_access
skyrat_premium = list(
/obj/item/autosurgeon/organ/syndicate/corticalstack = 20,
/obj/item/stackremover/syndicate = 20,
/obj/item/organ/corticalstack/syndicate = 40,
)
@@ -1,53 +0,0 @@
/obj/item/stackremover
name = "cortical stack remover"
desc = "A pair of tweezer-like knives, used to quickly extract a stack after death."
icon = 'icons/obj/surgery.dmi'
icon_state = "shears"
flags_1 = CONDUCT_1
item_flags = SURGICAL_TOOL
toolspeed = 1
force = 12
w_class = WEIGHT_CLASS_NORMAL
throwforce = 6
throw_speed = 2
throw_range = 5
custom_materials = list(/datum/material/iron=8000, /datum/material/titanium=6000)
attack_verb_continuous = list("shears", "snips")
attack_verb_simple = list("shear", "snip")
sharpness = SHARP_EDGED
custom_premium_price = PAYCHECK_MEDIUM * 14
/obj/item/stackremover/syndicate
name = "blood-red cortical stack remover"
desc = "A pair of tweezer-like knives, used to quickly extract a stack after death. This one is shaped like a double-helix with blood-red blades. Are you a believer?"
toolspeed = 0.5
force = 27
armour_penetration = 40
/datum/uplink_item/device_tools/corticalstackremover
name = "Blood-Red Cortical Stack Remover"
desc = "For those who wont be quiet... Are you a believer?"
item = /obj/item/stackremover/syndicate
cost = 15 //Support item. Dangerous
/obj/item/stackremover/attack(mob/living/M, mob/living/user)
var/mob/living/carbon/patient = M
if(!iscarbon(M) || user.combat_mode)
return ..()
if(!patient.getorganslot("stack"))
return ..()
var/amputation_speed_mod = 1
var/obj/item/organ/corticalstack/CSTACK = patient.getorganslot("stack")
patient.visible_message(span_danger("[user] begins to secure [src] around [patient]'s neck."), span_userdanger("[user] begins to secure [src] around your neck"))
playsound(get_turf(patient), 'sound/items/ratchet.ogg', 20, TRUE)
if(patient.stat >= UNCONSCIOUS || HAS_TRAIT(patient, TRAIT_INCAPACITATED)) //if you're incapacitated (due to paralysis, a stun, being in staminacrit, etc.), critted, unconscious, or dead, it's much easier to properly line up a snip
amputation_speed_mod *= 0.5
if(patient.stat != DEAD && patient.jitteriness) //jittering will make it harder to secure the shears, even if you can't otherwise move
amputation_speed_mod *= 1.5 //15*0.5*1.5=11.25, so staminacritting someone who's jittering (from, say, a stun baton) won't give you enough time to snip their head off, but staminacritting someone who isn't jittering will
if(do_after(user, toolspeed * 5 SECONDS * amputation_speed_mod, target = patient))
playsound(get_turf(patient), 'sound/weapons/bladeslice.ogg', 250, TRUE)
CSTACK.Remove(patient)
CSTACK.forceMove(get_turf(patient))
user.visible_message(span_danger("[src] violently spears in, ripping out [patient]'s [CSTACK]."), span_notice("You rip out [patient]'s [CSTACK] with [src]."))
@@ -1,47 +0,0 @@
/obj/item/autosurgeon/organ/corticalstack
desc = "A single-use autosurgeon that contains a cortical stack. A screwdriver can be used to remove it, but implants can't be placed back in."
uses = 1
starting_organ = /obj/item/organ/corticalstack
/obj/item/organ/corticalstack/syndicate
name = "blood-red cortical stack"
desc = "A strange, crystalline storage device containing 'DHF', digitised conciousness. This one has after-market modifications."
invasive = 0
/obj/item/autosurgeon/organ/syndicate/corticalstack
desc = "A dual-use autosurgeon that contains a blood-red cortical stack. This implanter is modified to be usable twice."
uses = 2
starting_organ = /obj/item/organ/corticalstack/syndicate
/datum/uplink_item/device_tools/corticalstack
name = "Blood-Red Cortical Stack"
desc = " A marvel of modern technology; the cortical stack, For when you really want to avoid that death. This one can be removed without killing the user; allowing 'double-sleeving'."
item = /obj/item/autosurgeon/organ/syndicate/corticalstack
cost = 5 //Support item
/datum/supply_pack/goody/corticalstack
name = "Cortical Stack Crate"
desc = "Important employee's? Unable to afford losing them without the chance of revival? Back them up to these chips that go in the base of the neck. Warranty not included."
cost = CARGO_CRATE_VALUE * 6 //Expensive.
contains = list(/obj/item/autosurgeon/organ/corticalstack,/obj/item/autosurgeon/organ/corticalstack,/obj/item/autosurgeon/organ/corticalstack)
crate_name = "Cortical Stack Crate"
/obj/item/storage/backpack/duffelbag/syndie/loadout/believer/PopulateContents()
new /obj/item/clothing/gloves/combat(src)
new /obj/item/clothing/shoes/combat(src)
new /obj/item/autosurgeon/organ/syndicate/corticalstack(src)
new /obj/item/stackremover/syndicate(src)
new /obj/item/book/granter/martial/cqc(src)
new /obj/item/clothing/under/syndicate/sniper(src)
new /obj/item/implanter/storage(src)
new /obj/item/autosurgeon/organ/syndicate/anti_stun(src)
//Badass section down here
/datum/uplink_item/loadout_skyrat/believer
name = "Believer Bundle"
desc = "Named after the infamous collector of souls - the believer bundle, a collection of items to ensure you get that payment on time..."
item = /obj/item/storage/backpack/duffelbag/syndie/loadout/believer
cost = 35
progression_minimum = 30 MINUTES //+5 minutes for the cqc
@@ -1 +0,0 @@
@@ -1,2 +0,0 @@
//TBA - THIS CODE FILE IS GOING TO BE USED ONCE I FINISH AN AUTOMATED RESLEEVER UI(NEVER)//
@@ -1,65 +0,0 @@
/obj/item/organ/corticalstack
name = "cortical stack"
desc = "A strange, crystalline storage device containing 'DHF', digitised conciousness."
icon = 'modular_skyrat/modules/neural-lacing/icons/Neuralstack.dmi'
icon_state = "cortical-stack"
base_icon_state = "cortical-stack"
zone = BODY_ZONE_HEAD
slot = ORGAN_SLOT_STACK
status = ORGAN_ROBOTIC
organ_flags = ORGAN_SYNTHETIC
var/active = FALSE
var/invasive = 1 //WILL THIS KILL THE HOST IF REMOVED?
var/ownerckey
var/datum/mind/backup
var/prompting = FALSE // Are we waiting for a user prompt before backing them up to DHF?
/obj/item/organ/corticalstack/examine()
. = ..()
if(!backup && !ownerckey && active) //SHOULD NOT HAPPEN
. += span_info("The integrity light upon the lace is dull, and black. The DHF is corrupted beyond repair.")
return
if((ownerckey && (backup || backup.get_ghost()))) //Incase something incredibly bad happens
if(organ_flags & ORGAN_FAILING)
. += span_info("The integrity light upon the neural lace is flashing a dull red, damaged. You may be able to restore it with some <b>cable coils</b>.")
else
. += span_info("The integrity light is showing a pale blue.")
else
. += span_info("This one is dark and dull, empty.")
/obj/item/organ/corticalstack/Insert(mob/living/carbon/MSTACK)
. = ..()
MSTACK.visible_message(span_notice("[MSTACK] jerks violently as the cortical stack is inserted..."))
if(!active)
ownerckey = MSTACK.ckey
backup = MSTACK.mind
active = TRUE
to_chat(MSTACK, span_danger("You feel a sharp sting, and then a cool, almost numbing sensation spread over your form; your cortical stack coming online..."))
MSTACK.visible_message(span_notice("..Before ceasing, the stack letting out a ping; it has succeeded in integrating with their neural systems."))
else
if(MSTACK.mind && (backup || ownerckey) && !(MSTACK.mind == backup || MSTACK.ckey != ownerckey))
MSTACK.visible_message(span_warning("..Before ceasing, the stack letting out an alarm; unable to override the conciousness within."))
else
MSTACK.visible_message(span_notice("..Before ceasing, the stack letting out a ping; it has succeeded in integrating with their neural systems."))
to_chat(owner, span_notice("You feel a strange, ephermeal sensation come over you, as you re-awaken from your slumber..."))
REMOVE_TRAIT(MSTACK, TRAIT_DNR, src) //PREVENTS PEOPLE FROM GETTING DNR'D AFTER HAVING THEIR STACK REMOVED AND RELACED
MSTACK.ckey = ownerckey
MSTACK.mind = backup
MSTACK.SetSleeping(100)
/obj/item/organ/corticalstack/Remove(mob/living/carbon/MSTACK)
. = ..()
if(invasive)
MSTACK.death()
MSTACK.visible_message(span_danger("[MSTACK] violently siezes as their stack is removed!"))
ADD_TRAIT(MSTACK, TRAIT_DNR, src)
else
MSTACK.visible_message(span_danger("[MSTACK] twinges in discomfort; although remains concious."))
/obj/item/organ/corticalstack/Destroy()
. = ..()
ownerckey = null
backup = null
@@ -1 +0,0 @@
Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 B

-6
View File
@@ -5182,12 +5182,6 @@
#include "modular_skyrat\modules\nanotrasen_rep\code\m45a5.dm"
#include "modular_skyrat\modules\nanotrasen_rep\code\nanotrasen_representative.dm"
#include "modular_skyrat\modules\nanotrasen_rep\code\Space_Station_13_areas.dm"
#include "modular_skyrat\modules\neural-lacing\code\delacer.dm"
#include "modular_skyrat\modules\neural-lacing\code\implanter.dm"
#include "modular_skyrat\modules\neural-lacing\code\mobhandlers.dm"
#include "modular_skyrat\modules\neural-lacing\code\resleever.dm"
#include "modular_skyrat\modules\neural-lacing\code\stack.dm"
#include "modular_skyrat\modules\neural-lacing\code\traits.dm"
#include "modular_skyrat\modules\new_cells\code\power_cell.dm"
#include "modular_skyrat\modules\novaya_ert\code\belt.dm"
#include "modular_skyrat\modules\novaya_ert\code\ert.dm"