mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 06:00:16 +01:00
Removes cortical stacks (#11341)
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,3 +0,0 @@
|
||||
|
||||
|
||||
|
||||
@@ -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 |
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user