Changes loyalty implants to mind shields (#8398)

This commit is contained in:
Alberyk
2020-03-12 22:01:42 +01:00
committed by GitHub
parent 847da5071b
commit 3c96cc70e6
27 changed files with 92 additions and 73 deletions
@@ -350,35 +350,23 @@ the implant may become unstable and either pre-maturely inject the subject or si
spawn(20)
malfunction--
/obj/item/implant/loyalty
name = "loyalty implant"
desc = "Makes you loyal or such."
/obj/item/implant/mindshield
name = "mind shield implant"
desc = "A controversial and debatably unethical neurostimulator and autohypnosis device. When implanted against the amygdala, it ensures the host maintains a consistent personality, preventing outside interference through brainwashing or hypnotic suggestion."
/obj/item/implant/loyalty/get_data()
/obj/item/implant/mindshield/get_data()
. = {"
<b>Implant Specifications:</b><BR>
<b>Name:</b> [current_map.company_name] Employee Management Implant<BR>
<b>Life:</b> Ten years.<BR>
<b>Important Notes:</b> Personnel injected with this device tend to be much more loyal to the company.<BR>
<b>Important Notes:</b> Personnel injected with this device tend to be much more resistant to brain washing and other external influences.<BR>
<HR>
<b>Implant Details:</b><BR>
<b>Function:</b> Contains a small pod of nanobots that manipulate the host's mental functions.<BR>
<b>Special Features:</b> Will prevent and cure most forms of brainwashing.<BR>
<b>Integrity:</b> Implant will last so long as the nanobots are inside the bloodstream."}
/obj/item/implant/loyalty/implanted(mob/M)
if(!istype(M, /mob/living/carbon/human)) return 0
var/mob/living/carbon/human/H = M
var/datum/antagonist/antag_data = get_antag_data(H.mind.special_role)
if(antag_data && (antag_data.flags & ANTAG_IMPLANT_IMMUNE))
H.visible_message("[H] seems to resist the implant!", "You feel the corporate tendrils of [current_map.company_name] try to invade your mind!")
return 0
else
clear_antag_roles(H.mind, 1)
to_chat(H, "<span class='notice'>You feel a surge of loyalty towards [current_map.company_name].</span>")
return 1
/obj/item/implant/loyalty/emp_act(severity)
/obj/item/implant/mindshield/emp_act(severity)
if (malfunction)
return
malfunction = MALFUNCTION_TEMPORARY
@@ -393,22 +381,21 @@ the implant may become unstable and either pre-maturely inject the subject or si
spawn(20)
malfunction--
/obj/item/implant/loyalty/ipc
name = "loyalty chip"
desc = "A device that sets directives programmed for loyalty to NanoTrasen on the synthetic subject. Will not work on organics."
/obj/item/implant/loyalty/ipc/implanted(mob/M)
/obj/item/implant/mindshield/ipc
name = "software protection chip"
desc = "A dedicated processor core designed to identify and terminate malignant software, ensuring a synthetics protection from outside hacking."
/obj/item/implant/mindshield/ipc/implanted(mob/M)
if (!isipc(M))
return
..()
/obj/item/implant/loyalty/sol
/obj/item/implant/mindshield/sol
name = "loyalty implant"
desc = "Makes you loyal to the Sol Alliance, or to a certain individual."
/obj/item/implant/loyalty/sol/implanted(mob/M)
/obj/item/implant/mindshield/sol/implanted(mob/M)
if(!istype(M, /mob/living/carbon/human)) return 0
var/mob/living/carbon/human/H = M
var/datum/antagonist/antag_data = get_antag_data(H.mind.special_role)
@@ -594,9 +581,9 @@ the implant may become unstable and either pre-maturely inject the subject or si
var/mob/living/carbon/human/H = M
for(var/obj/item/implant/loyalty/I in H)
for(var/obj/item/implant/mindshield/I in H)
if(I.implanted)
to_chat(H, span("danger", "Rage surges through your body, but the nanobots from your loyalty implant stop it soon after it starts!"))
to_chat(H, span("danger", "Rage surges through your body, but the nanobots from your mind shield implant stop it soon after it starts!"))
return TRUE
var/datum/antagonist/antag_data = get_antag_data(H.mind.special_role)
@@ -96,12 +96,12 @@
/obj/item/implantcase/loyalty
name = "glass case - 'loyalty'"
desc = "A case containing a loyalty implant."
name = "glass case - 'mind shield'"
desc = "A case containing a mind shield implant."
icon_state = "implantcase-r"
/obj/item/implantcase/loyalty/New()
src.imp = new /obj/item/implant/loyalty( src )
src.imp = new /obj/item/implant/mindshield( src )
..()
return
@@ -66,7 +66,7 @@
name = "implanter-loyalty"
/obj/item/implanter/loyalty/New()
src.imp = new /obj/item/implant/loyalty( src )
src.imp = new /obj/item/implant/mindshield( src )
..()
update()
return
@@ -265,7 +265,7 @@
/obj/item/storage/box/loyaltypins
name = "box of firing pins"
desc = "A box of specialised \"loyalty\" authentication pins produced by Nanotrasen; these check to see if the user of the gun it's installed in has been implanted with a loyalty implant. Often used in ERTs."
desc = "A box of specialised \"loyalty\" authentication pins produced by Nanotrasen; these check to see if the user of the gun it's installed in has been implanted with a mind shield implant. Often used in ERTs."
starts_with = list(/obj/item/device/firing_pin/implant/loyalty = 7)
/obj/item/storage/box/loyaltypins/fill()
@@ -72,7 +72,7 @@
return 1
/obj/item/storage/lockbox/loyalty
name = "lockbox of loyalty implants"
name = "lockbox of mind shield implants"
req_access = list(access_security)
starts_with = list(
/obj/item/implantcase/loyalty = 3,