/obj/item/weapon/implant/neural name = "neural framework implant" desc = "A small metal casing with numerous wires stemming off of it." initialize_loc = BP_HEAD var/obj/item/organ/internal/brain/my_brain = null var/target_state = null var/robotic_brain = FALSE /obj/item/weapon/implant/neural/post_implant(var/mob/source) if(ishuman(source)) var/mob/living/carbon/human/H = source if(H.species.has_organ[O_BRAIN]) var/obj/item/organ/internal/brain/possible_brain = H.internal_organs_by_name[O_BRAIN] my_brain = possible_brain //Organs will take damage all the same. if(istype(possible_brain) && my_brain.can_assist()) //If the brain is infact a brain, and not something special like an MMI. my_brain.implant_assist(target_state) if(H.isSynthetic() && H.get_FBP_type() != FBP_CYBORG) //If this on an FBP, it's just an extra inefficient attachment to whatever their brain is. robotic_brain = TRUE if(my_brain && my_brain.can_assist()) START_PROCESSING(SSobj, src) /obj/item/weapon/implant/neural/Destroy() if(my_brain) if(my_brain.owner) to_chat(my_brain.owner, "You feel a pressure in your mind as something is ripped away.") STOP_PROCESSING(SSobj, src) my_brain = null return ..() /obj/item/weapon/implant/neural/process() if(my_brain && part) if(my_brain.loc != part.loc) to_chat(my_brain.owner, "You feel a pressure in your mind as something is ripped away.") meltdown() return 1 /obj/item/weapon/implant/neural/get_data() var/dat = {"Implant Specifications:
Name: Neural Framework Implant
Life: Duration of Brain Function
Important Notes: None

Implant Details:
Function: Maintains some function or structure of the target's brain.
Special Features:
Neuro-Safe- Specialized shell absorbs excess voltages self-destructing the chip if a malfunction occurs thereby attempting to secure the safety of subject.
Integrity: Gradient creates slight risk of being overcharged and frying the circuitry. Resulting faults can cause damage to the host's brain.
Implant Specifics:
"} return dat /obj/item/weapon/implant/neural/emp_act(severity) if(!my_brain) return if(malfunction) //Don't malfunction while malfunctioning. return malfunction = MALFUNCTION_TEMPORARY var/delay = 10 //Don't let it just get emped twice in a second to kill someone. var/brain_location = my_brain.owner.organs_by_name[my_brain.parent_organ] var/mob/living/L = my_brain.owner switch(severity) if(1) if(prob(10)) meltdown() else if(prob(80)) my_brain.take_damage(5) if(!robotic_brain) to_chat(L, "Something in your [brain_location] burns!") else to_chat(L, "Severe fault detected in [brain_location].") if(2) if(prob(80)) my_brain.take_damage(3) if(!robotic_brain) to_chat(L, "It feels like something is digging into your [brain_location]!") else to_chat(L, "Fault detected in [brain_location].") if(3) if(prob(60)) my_brain.take_damage(2) if(!robotic_brain) to_chat(L, "There is a stabbing pain in your [brain_location]!") if(4) if(prob(40)) my_brain.take_damage(1) if(!robotic_brain) to_chat(L, "Your [brain_location] aches.") spawn(delay) malfunction-- /obj/item/weapon/implant/neural/meltdown() ..() STOP_PROCESSING(SSobj, src) var/mob/living/carbon/human/H = null if(my_brain && my_brain.owner) if(ishuman(my_brain.owner)) H = my_brain.owner if(robotic_brain) to_chat(H, "WARNING. Fault dete-ct-- in the \the [src].") H.Confuse(30) H.AdjustBlinded(5) my_brain.take_damage(15) my_brain = null return