Renames non-cybernetic implants to bio-chips (#18937)

* CHIPS

* microchip implanter

* more chips to purge

* bio-chip

* catches more things

* tgui

* final merge changes

* Update code/game/machinery/cloning.dm

Co-authored-by: Farie82 <farie82@users.noreply.github.com>

* oops

Co-authored-by: Farie82 <farie82@users.noreply.github.com>
This commit is contained in:
S34N
2022-09-24 14:24:25 +01:00
committed by GitHub
parent 6956bc64a8
commit 924e8cc949
38 changed files with 225 additions and 225 deletions
@@ -1,21 +1,21 @@
/// If used, an implant will trigger when an emote is intentionally used.
#define IMPLANT_EMOTE_TRIGGER_INTENTIONAL (1<<0)
#define BIOCHIP_EMOTE_TRIGGER_INTENTIONAL (1<<0)
/// If used, an implant will trigger when an emote is forced/unintentionally used.
#define IMPLANT_EMOTE_TRIGGER_UNINTENTIONAL (1<<1)
#define BIOCHIP_EMOTE_TRIGGER_UNINTENTIONAL (1<<1)
/// If used, an implant will always trigger when the user makes an emote.
#define IMPLANT_EMOTE_TRIGGER_ALWAYS (IMPLANT_EMOTE_TRIGGER_UNINTENTIONAL | IMPLANT_EMOTE_TRIGGER_INTENTIONAL)
#define BIOCHIP_EMOTE_TRIGGER_ALWAYS (BIOCHIP_EMOTE_TRIGGER_UNINTENTIONAL | BIOCHIP_EMOTE_TRIGGER_INTENTIONAL)
/// If used, an implant will trigger on the user's first death.
#define IMPLANT_TRIGGER_DEATH_ONCE (1<<2)
#define BIOCHIP_TRIGGER_DEATH_ONCE (1<<2)
/// If used, an implant will trigger any time a user dies.
#define IMPLANT_TRIGGER_DEATH_ANY (1<<3)
#define BIOCHIP_TRIGGER_DEATH_ANY (1<<3)
/// If used, an implant will NOT trigger on death when a user is gibbed.
#define IMPLANT_TRIGGER_NOT_WHEN_GIBBED (1<<4)
#define BIOCHIP_TRIGGER_NOT_WHEN_GIBBED (1<<4)
// Defines related to the way that the implant is activated. This is the value for implant.activated
/// The implant is passively active (like a mindshield)
#define IMPLANT_ACTIVATED_PASSIVE 0
#define BIOCHIP_ACTIVATED_PASSIVE 0
/// The implant is activated manually by a trigger
#define IMPLANT_ACTIVATED_ACTIVE 1
#define BIOCHIP_ACTIVATED_ACTIVE 1
/**
* # Implants
@@ -24,7 +24,7 @@
*
*/
/obj/item/implant
name = "implant"
name = "bio-chip"
icon = 'icons/obj/implants.dmi'
icon_state = "generic" //Shows up as a auto surgeon, used as a placeholder when a implant doesn't have a sprite
origin_tech = "materials=2;biotech=3;programming=2"
@@ -35,7 +35,7 @@
///which implant overlay should be used for implant cases. This should point to a state in implants.dmi
var/implant_state = "implant-default"
/// How the implant is activated.
var/activated = IMPLANT_ACTIVATED_ACTIVE
var/activated = BIOCHIP_ACTIVATED_ACTIVE
/// Whether the implant is implanted. Null if it's never been inserted, TRUE if it's currently inside someone, or FALSE if it's been removed.
var/implanted
/// Who the implant is inside of.
@@ -94,13 +94,13 @@
to_chat(user, "<span class='warning'> You can't trigger [src] with a custom emote.")
return FALSE
if(!(emote_key in user.usable_emote_keys(trigger_causes & IMPLANT_EMOTE_TRIGGER_INTENTIONAL)))
if(!(emote_key in user.usable_emote_keys(trigger_causes & BIOCHIP_EMOTE_TRIGGER_INTENTIONAL)))
if(!silent)
to_chat(user, "<span class='warning'> You can't trigger [src] with that emote! Try *help to see emotes you can use.</span>")
return FALSE
if(!(emote_key in user.usable_emote_keys(trigger_causes & IMPLANT_EMOTE_TRIGGER_UNINTENTIONAL)))
CRASH("User was given an implant for an unintentional emote that they can't use.")
if(!(emote_key in user.usable_emote_keys(trigger_causes & BIOCHIP_EMOTE_TRIGGER_UNINTENTIONAL)))
CRASH("User was given an bio-chip for an unintentional emote that they can't use.")
LAZYADD(trigger_emotes, emote_key)
RegisterSignal(user, COMSIG_MOB_EMOTED(emote_key), .proc/on_emote)
@@ -111,7 +111,7 @@
if(!implanted || !imp_in)
return
if(!(intentional && (trigger_causes & IMPLANT_EMOTE_TRIGGER_INTENTIONAL)) && !(!intentional && (trigger_causes & IMPLANT_EMOTE_TRIGGER_UNINTENTIONAL)))
if(!(intentional && (trigger_causes & BIOCHIP_EMOTE_TRIGGER_INTENTIONAL)) && !(!intentional && (trigger_causes & BIOCHIP_EMOTE_TRIGGER_UNINTENTIONAL)))
return
add_attack_logs(user, user, "[intentional ? "intentionally" : "unintentionally"] [src] was [intentional ? "intentionally" : "unintentionally"] triggered with the emote [fired_emote].")
@@ -123,16 +123,16 @@
if(!implanted || !imp_in)
return
if(gibbed && (trigger_causes & IMPLANT_TRIGGER_NOT_WHEN_GIBBED))
if(gibbed && (trigger_causes & BIOCHIP_TRIGGER_NOT_WHEN_GIBBED))
return
// This should help avoid infinite recursion for things like dust that call death()
if(has_triggered_on_death && (trigger_causes & IMPLANT_TRIGGER_DEATH_ONCE))
if(has_triggered_on_death && (trigger_causes & BIOCHIP_TRIGGER_DEATH_ONCE))
return
has_triggered_on_death = TRUE
add_attack_logs(source, source, "had their [src] implant triggered on [gibbed ? "gib" : "death"].")
add_attack_logs(source, source, "had their [src] bio-chip triggered on [gibbed ? "gib" : "death"].")
death_trigger(source, gibbed)
/obj/item/implant/proc/emote_trigger(emote, mob/source, force)
@@ -176,10 +176,10 @@
imp_in = source
implanted = TRUE
if(trigger_emotes)
if(!(trigger_causes & IMPLANT_EMOTE_TRIGGER_INTENTIONAL | IMPLANT_EMOTE_TRIGGER_UNINTENTIONAL))
CRASH("Implant [src] has trigger emotes defined but no trigger cause with which to use them!")
if(!activated && (trigger_causes & IMPLANT_EMOTE_TRIGGER_INTENTIONAL))
CRASH("Implant [src] has intentional emote triggers on a passive implant")
if(!(trigger_causes & BIOCHIP_EMOTE_TRIGGER_INTENTIONAL | BIOCHIP_EMOTE_TRIGGER_UNINTENTIONAL))
CRASH("Bio-chip [src] has trigger emotes defined but no trigger cause with which to use them!")
if(!activated && (trigger_causes & BIOCHIP_EMOTE_TRIGGER_INTENTIONAL))
CRASH("Bio-chip [src] has intentional emote triggers on a passive bio-chip")
// If you can't activate the implant manually, you shouldn't be able to deliberately activate it with an emote
for(var/emote in trigger_emotes)
set_trigger(source, emote, TRUE, TRUE)
@@ -187,14 +187,14 @@
for(var/X in actions)
var/datum/action/A = X
A.Grant(source)
if(trigger_causes & (IMPLANT_TRIGGER_DEATH_ONCE | IMPLANT_TRIGGER_DEATH_ANY))
if(trigger_causes & (BIOCHIP_TRIGGER_DEATH_ONCE | BIOCHIP_TRIGGER_DEATH_ANY))
RegisterSignal(source, COMSIG_MOB_DEATH, .proc/on_death)
if(ishuman(source))
var/mob/living/carbon/human/H = source
H.sec_hud_set_implants()
if(user)
add_attack_logs(user, source, "Implanted with [src]")
add_attack_logs(user, source, "Chipped with [src]")
return 1
@@ -215,7 +215,7 @@
var/mob/living/carbon/human/H = source
H.sec_hud_set_implants()
if(trigger_causes & (IMPLANT_TRIGGER_DEATH_ONCE | IMPLANT_TRIGGER_DEATH_ANY))
if(trigger_causes & (BIOCHIP_TRIGGER_DEATH_ONCE | BIOCHIP_TRIGGER_DEATH_ANY))
UnregisterSignal(source, COMSIG_MOB_DEATH)
unregister_emotes()
@@ -1,9 +1,9 @@
/obj/item/implant/abductor
name = "recall implant"
name = "recall bio-chip"
desc = "Returns you to the mothership."
icon = 'icons/obj/abductor.dmi'
icon_state = "implant" //ew
activated = IMPLANT_ACTIVATED_ACTIVE
icon_state = "implant"
activated = BIOCHIP_ACTIVATED_ACTIVE
origin_tech = "materials=2;biotech=7;magnets=4;bluespace=4;abductor=5"
implant_data = /datum/implant_fluff/abductor
implant_state = "implant-alien"
@@ -50,10 +50,10 @@
return console
/obj/item/implanter/abductor
name = "implanter (abductor)"
name = "bio-chip implanter (abductor)"
implant_type = /obj/item/implant/abductor
/obj/item/implantcase/abductor
name = "implant case - 'abductor'"
desc = "A glass case containing an abductor implant."
name = "bio-chip case - 'abductor'"
desc = "A glass case containing an abductor bio-chip."
implant_type = /obj/item/implant/abductor
@@ -1,5 +1,5 @@
/obj/item/implant/adrenalin
name = "adrenal implant"
name = "adrenal bio-chip"
desc = "Removes all stuns and knockdowns."
icon_state = "adrenal"
origin_tech = "materials=2;biotech=4;combat=3;syndicate=4"
@@ -24,10 +24,10 @@
qdel(src)
/obj/item/implanter/adrenalin
name = "implanter (adrenalin)"
name = "bio-chip implanter (adrenalin)"
implant_type = /obj/item/implant/adrenalin
/obj/item/implantcase/adrenaline
name = "implant case - 'Adrenaline'"
desc = "A glass case containing an adrenaline implant."
name = "bio-chip case - 'Adrenaline'"
desc = "A glass case containing an adrenaline bio-chip."
implant_type = /obj/item/implant/adrenalin
@@ -1,10 +1,10 @@
/obj/item/implant/chem
name = "chem implant"
name = "chem bio-chip"
desc = "Injects things."
icon_state = "reagents"
origin_tech = "materials=3;biotech=4"
container_type = OPENCONTAINER
trigger_causes = IMPLANT_TRIGGER_DEATH_ANY
trigger_causes = BIOCHIP_TRIGGER_DEATH_ANY
implant_data = /datum/implant_fluff/chem
implant_state = "implant-nanotrasen"
@@ -36,10 +36,10 @@
qdel(src)
/obj/item/implanter/chem
name = "implanter (chem)"
name = "bio-chip implanter (chem)"
implant_type = /obj/item/implant/chem
/obj/item/implantcase/chem
name = "implant case - 'Remote Chemical'"
desc = "A glass case containing a remote chemical implant."
name = "bio-chip case - 'Remote Chemical'"
desc = "A glass case containing a remote chemical bio-chip."
implant_type = /obj/item/implant/chem
@@ -1,8 +1,8 @@
/obj/item/implant/death_alarm
name = "death alarm implant"
name = "death alarm bio-chip"
desc = "An alarm which monitors host vital signs and transmits a radio message upon death."
activated = IMPLANT_ACTIVATED_PASSIVE
trigger_causes = IMPLANT_TRIGGER_DEATH_ANY
activated = BIOCHIP_ACTIVATED_PASSIVE
trigger_causes = BIOCHIP_TRIGGER_DEATH_ANY
implant_data = /datum/implant_fluff/death_alarm
implant_state = "implant-nanotrasen"
@@ -54,10 +54,10 @@
return FALSE
/obj/item/implanter/death_alarm
name = "implanter (Death Alarm)"
name = "bio-chip implanter (Death Alarm)"
implant_type = /obj/item/implant/death_alarm
/obj/item/implantcase/death_alarm
name = "Implant Case - 'Death Alarm'"
desc = "A case containing a death alarm implant."
name = "bio-chip Case - 'Death Alarm'"
desc = "A case containing a death alarm bio-chip."
implant_type = /obj/item/implant/death_alarm
@@ -1,12 +1,12 @@
// Dust implant, for CC officers. Prevents gear theft if they die.
/obj/item/implant/dust
name = "duster implant"
desc = "A remote controlled implant that will dust the user upon activation (or death of user)."
name = "duster bio-chip"
desc = "A remote controlled bio-chip that will dust the user upon activation (or death of user)."
icon = 'icons/effects/blood.dmi'
icon_state = "remains"
actions_types = list(/datum/action/item_action/hands_free/activate/always)
trigger_causes = IMPLANT_TRIGGER_DEATH_ONCE | IMPLANT_TRIGGER_NOT_WHEN_GIBBED
trigger_causes = BIOCHIP_TRIGGER_DEATH_ONCE | BIOCHIP_TRIGGER_NOT_WHEN_GIBBED
implant_data = /datum/implant_fluff/dust
implant_state = "implant-nanotrasen"
@@ -16,9 +16,9 @@
/obj/item/implant/dust/activate(cause)
if(!cause || !imp_in || cause == "emp")
return FALSE
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your dusting implant? This will turn you to ash!", "Dusting Confirmation", "Yes", "No") != "Yes")
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your dusting bio-chip? This will turn you to ash!", "Dusting Confirmation", "Yes", "No") != "Yes")
return FALSE
to_chat(imp_in, "<span class='notice'>Your dusting implant activates!</span>")
to_chat(imp_in, "<span class='notice'>Your dusting bio-chip activates!</span>")
imp_in.visible_message("<span class = 'warning'>[imp_in] burns up in a flash!</span>")
for(var/obj/item/I in imp_in.contents)
if(I == src)
@@ -31,10 +31,10 @@
return
/obj/item/implanter/dust
name = "implanter (Dust-on-death)"
name = "bio-chip implanter (Dust-on-death)"
implant_type = /obj/item/implant/dust
/obj/item/implantcase/dust
name = "implant case - 'Dust'"
desc = "A glass case containing a dust implant."
name = "bio-chip case - 'Dust'"
desc = "A glass case containing a dust bio-chip."
implant_type = /obj/item/implant/dust
@@ -1,5 +1,5 @@
/obj/item/implant/emp
name = "emp implant"
name = "emp bio-chip"
desc = "Triggers an EMP."
icon_state = "emp"
origin_tech = "biotech=3;magnets=4;syndicate=1"
@@ -14,10 +14,10 @@
qdel(src)
/obj/item/implanter/emp
name = "implanter (EMP)"
name = "bio-chip implanter (EMP)"
implant_type = /obj/item/implant/emp
/obj/item/implantcase/emp
name = "implant case - 'EMP'"
desc = "A glass case containing an EMP implant."
name = "bio-chip case - 'EMP'"
desc = "A glass case containing an EMP bio-chip."
implant_type = /obj/item/implant/emp
@@ -1,24 +1,24 @@
//Exile implants will allow you to use the station gate, but not return home.
//This will allow security to exile badguys/for badguys to exile their kill targets
/obj/item/implant/exile
name = "exile implant"
name = "exile bio-chip"
desc = "Prevents you from returning from away missions"
origin_tech = "materials=2;biotech=3;magnets=2;bluespace=3"
activated = IMPLANT_ACTIVATED_PASSIVE
activated = BIOCHIP_ACTIVATED_PASSIVE
implant_data = /datum/implant_fluff/exile
implant_state = "implant-nanotrasen"
/obj/item/implanter/exile
name = "implanter (exile)"
name = "bio-chip implanter (exile)"
implant_type = /obj/item/implant/exile
/obj/item/implantcase/exile
name = "implant case - 'Exile'"
desc = "A glass case containing an exile implant."
name = "bio-chip case - 'Exile'"
desc = "A glass case containing an exile bio-chip."
implant_type = /obj/item/implant/exile
/obj/structure/closet/secure_closet/exile
name = "exile implants"
name = "exile bio-chips"
req_access = list(ACCESS_ARMORY)
/obj/structure/closet/secure_closet/exile/populate_contents()
@@ -1,10 +1,10 @@
/obj/item/implant/explosive
name = "microbomb implant"
name = "microbomb bio-chip"
desc = "And boom goes the weasel."
icon_state = "explosive"
origin_tech = "materials=2;combat=3;biotech=4;syndicate=4"
actions_types = list(/datum/action/item_action/hands_free/activate/always)
trigger_causes = IMPLANT_TRIGGER_DEATH_ONCE // Not surviving that
trigger_causes = BIOCHIP_TRIGGER_DEATH_ONCE // Not surviving that
implant_data = /datum/implant_fluff/explosive
implant_state = "implant-syndicate"
@@ -20,7 +20,7 @@
/obj/item/implant/explosive/activate(cause)
if(!cause || !imp_in)
return FALSE
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your microbomb implant? This will cause you to explode!", "Microbomb Implant Confirmation", "Yes", "No") != "Yes")
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your microbomb bio-chip? This will cause you to explode!", "Microbomb Bio-chip Confirmation", "Yes", "No") != "Yes")
return FALSE
if(detonating)
return FALSE
@@ -28,7 +28,7 @@
medium = round(medium)
weak = round(weak)
detonating = TRUE
to_chat(imp_in, "<span class='danger'>You activate your microbomb implant.</span>")
to_chat(imp_in, "<span class='danger'>You activate your microbomb bio-chip.</span>")
//If the delay is short, just blow up already jeez
if(delay <= 7)
explosion(src, heavy, medium, weak, weak, flame_range = weak)
@@ -70,7 +70,7 @@
qdel(src)
/obj/item/implant/explosive/macro
name = "macrobomb implant"
name = "macrobomb bio-chip"
desc = "And boom goes the weasel. And everything else nearby."
icon_state = "explosive"
origin_tech = "materials=3;combat=5;biotech=4;syndicate=5"
@@ -83,9 +83,9 @@
/obj/item/implant/explosive/macro/activate(cause)
if(!cause || !imp_in)
return FALSE
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your macrobomb implant? This will cause you to explode and gib!", "Macrobomb Implant Confirmation", "Yes", "No") != "Yes")
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your macrobomb bio-chip? This will cause you to explode and gib!", "Macrobomb Bio-chip Confirmation", "Yes", "No") != "Yes")
return FALSE
to_chat(imp_in, "<span class='notice'>You activate your macrobomb implant.</span>")
to_chat(imp_in, "<span class='notice'>You activate your macrobomb bio-chip.</span>")
timed_explosion()
/obj/item/implant/explosive/macro/implant(mob/source)
@@ -104,19 +104,19 @@
/obj/item/implanter/explosive
name = "implanter (explosive)"
name = "bio-chip implanter (explosive)"
implant_type = /obj/item/implant/explosive
/obj/item/implantcase/explosive
name = "implant case - 'Micro Explosive'"
desc = "A glass case containing a micro explosive implant."
name = "bio-chip case - 'Micro Explosive'"
desc = "A glass case containing a micro explosive bio-chip."
implant_type = /obj/item/implant/explosive
/obj/item/implanter/explosive_macro
name = "implanter (macro-explosive)"
name = "bio-chip implanter (macro-explosive)"
implant_type = /obj/item/implant/explosive/macro
/obj/item/implantcase/explosive_macro
name = "implant case - 'Macro Explosive'"
desc = "A glass case containing a macro explosive implant."
name = "bio-chip case - 'Macro Explosive'"
desc = "A glass case containing a macro explosive bio-chip."
implant_type = /obj/item/implant/explosive/macro
@@ -1,5 +1,5 @@
/obj/item/implant/freedom
name = "freedom implant"
name = "freedom bio-chip"
desc = "Use this to escape from those evil Red Shirts."
icon_state = "freedom"
item_color = "r"
@@ -28,10 +28,10 @@
qdel(src)
/obj/item/implanter/freedom
name = "implanter (freedom)"
name = "bio-chip implanter (freedom)"
implant_type = /obj/item/implant/freedom
/obj/item/implantcase/freedom
name = "implant case - 'Freedom'"
desc = "A glass case containing a freedom implant."
name = "bio-chip case - 'Freedom'"
desc = "A glass case containing a freedom bio-chip."
implant_type = /obj/item/implant/freedom
@@ -1,5 +1,5 @@
/obj/item/implant/health
name = "health implant"
name = "health bio-chip"
activated = FALSE
implant_data = /datum/implant_fluff/health
implant_state = "implant-default"
@@ -1,9 +1,9 @@
/obj/item/implant/krav_maga
name = "krav maga implant"
name = "krav maga bio-chip"
desc = "Teaches you the arts of Krav Maga in 5 short instructional videos beamed directly into your eyeballs."
icon = 'icons/obj/wizard.dmi'
icon_state ="scroll2"
activated = IMPLANT_ACTIVATED_ACTIVE
activated = BIOCHIP_ACTIVATED_ACTIVE
origin_tech = "materials=2;biotech=4;combat=5;syndicate=4"
implant_data = /datum/implant_fluff/krav_maga
implant_state = "implant-default"
@@ -20,10 +20,10 @@
style.teach(H, TRUE)
/obj/item/implanter/krav_maga
name = "implanter (krav maga)"
name = "bio-chip implanter (krav maga)"
implant_type = /obj/item/implant/krav_maga
/obj/item/implantcase/krav_maga
name = "implant case - 'Krav Maga'"
desc = "A glass case containing an implant that can teach the user the art of Krav Maga."
name = "bio-chip case - 'Krav Maga'"
desc = "A glass case containing a bio-chip that can teach the user the art of Krav Maga."
implant_type = /obj/item/implant/krav_maga
@@ -1,8 +1,8 @@
/obj/item/implant/mindshield
name = "mindshield implant"
name = "mindshield bio-chip"
desc = "Stops people messing with your mind."
origin_tech = "materials=2;biotech=4;programming=4"
activated = IMPLANT_ACTIVATED_PASSIVE
activated = BIOCHIP_ACTIVATED_PASSIVE
implant_data = /datum/implant_fluff/mindshield
implant_state = "implant-nanotrasen"
@@ -27,10 +27,10 @@
return FALSE
/obj/item/implanter/mindshield
name = "implanter (mindshield)"
name = "bio-chip implanter (mindshield)"
implant_type = /obj/item/implant/mindshield
/obj/item/implantcase/mindshield
name = "implant case - 'mindshield'"
desc = "A glass case containing a mindshield implant."
name = "bio-chip case - 'mindshield'"
desc = "A glass case containing a mindshield bio-chip."
implant_type = /obj/item/implant/mindshield
@@ -1,9 +1,9 @@
/obj/item/implant/sad_trombone
name = "sad trombone implant"
name = "sad trombone bio-chip"
activated = FALSE
trigger_emotes = list("deathgasp")
// If something forces the clown to fake death, it's pretty funny to still see the sad trombone played
trigger_causes = IMPLANT_EMOTE_TRIGGER_UNINTENTIONAL | IMPLANT_TRIGGER_DEATH_ANY
trigger_causes = BIOCHIP_EMOTE_TRIGGER_UNINTENTIONAL | BIOCHIP_TRIGGER_DEATH_ANY
implant_data = /datum/implant_fluff/sad_trombone
implant_state = "implant-honk"
@@ -18,10 +18,10 @@
playsound(loc, 'sound/misc/sadtrombone.ogg', 50, FALSE)
/obj/item/implanter/sad_trombone
name = "implanter (sad trombone)"
name = "bio-chip implanter (sad trombone)"
implant_type = /obj/item/implant/sad_trombone
/obj/item/implantcase/sad_trombone
name = "implant case - 'Sad Trombone'"
desc = "A glass case containing a sad trombone implant."
name = "bio-chip case - 'Sad Trombone'"
desc = "A glass case containing a sad trombone bio-chip."
implant_type = /obj/item/implant/sad_trombone
@@ -8,7 +8,7 @@
silent = TRUE
/obj/item/implant/storage
name = "storage implant"
name = "storage bio-chip"
desc = "Stores up to two big items in a bluespace pocket."
icon_state = "storage"
origin_tech = "materials=2;magnets=4;bluespace=5;syndicate=4"
@@ -60,7 +60,7 @@
return storage.contents
/obj/item/implanter/storage
name = "implanter (storage)"
name = "bio-chip implanter (storage)"
implant_type = /obj/item/implant/storage
/obj/item/implantcase/storage
@@ -1,7 +1,7 @@
/obj/item/implant/tracking
name = "tracking implant"
name = "tracking bio-chip"
desc = "Track with this."
activated = IMPLANT_ACTIVATED_PASSIVE
activated = BIOCHIP_ACTIVATED_PASSIVE
origin_tech = "materials=2;magnets=2;programming=2;biotech=2"
implant_data = /datum/implant_fluff/tracking
implant_state = "implant-nanotrasen"
@@ -16,10 +16,10 @@
return ..()
/obj/item/implanter/tracking
name = "implanter (tracking)"
name = "bio-chip implanter (tracking)"
implant_type = /obj/item/implant/tracking
/obj/item/implantcase/tracking
name = "implant case - 'Tracking'"
desc = "A glass case containing a tracking implant."
name = "bio-chip case - 'Tracking'"
desc = "A glass case containing a tracking bio-chip."
implant_type = /obj/item/implant/tracking
@@ -1,5 +1,5 @@
/obj/item/implant/traitor
name = "Mindslave Implant"
name = "Mindslave Bio-chip"
desc = "Divide and Conquer"
origin_tech = "programming=5;biotech=5;syndicate=8"
activated = FALSE
@@ -22,7 +22,7 @@
// Fails if they're already a mindslave of someone, or if they're mindshielded.
if(ismindslave(mindslave_target) || ismindshielded(mindslave_target))
mindslave_target.visible_message(
"<span class='warning'>[mindslave_target] seems to resist the implant!</span>", \
"<span class='warning'>[mindslave_target] seems to resist the bio-chip!</span>", \
"<span class='warning'>You feel a strange sensation in your head that quickly dissipates.</span>")
removed(mindslave_target)
qdel(src)
@@ -1,6 +1,6 @@
/obj/item/implantcase
name = "implant case"
desc = "A glass case containing an implant."
name = "bio-chip case"
desc = "A glass case containing a bio-chip."
icon = 'icons/obj/implants.dmi'
icon_state = "implantcase"
item_state = "implantcase"
@@ -1,6 +1,6 @@
/obj/machinery/implantchair
name = "mindshield implanter"
desc = "Used to implant occupants with mindshield implants."
name = "mindshield bio-chip implanter"
desc = "Used to implant occupants with mindshield bio-chips."
icon = 'icons/obj/machines/implantchair.dmi'
icon_state = "implantchair"
density = TRUE
@@ -33,12 +33,12 @@
else
health_text = "[round(occupant.health,0.1)]"
var/dat ="<B>Implanter Status</B><BR>"
var/dat ="<B>bio-chip implanter Status</B><BR>"
dat +="<B>Current occupant:</B> [occupant ? "<BR>Name: [occupant]<BR>Health: [health_text]<BR>" : "<FONT color=red>None</FONT>"]<BR>"
dat += "<B>Implants:</B> [length(implant_list) ? "[length(implant_list)]" : "<A href='?src=[UID()];replenish=1'>Replenish</A>"]<BR>"
dat += "<B>Bio-chips:</B> [length(implant_list) ? "[length(implant_list)]" : "<A href='?src=[UID()];replenish=1'>Replenish</A>"]<BR>"
if(occupant)
dat += "[ready ? "<A href='?src=[UID()];implant=1'>Implant</A>" : "Recharging"]<BR>"
dat += "[ready ? "<A href='?src=[UID()];implant=1'>Bio-chip</A>" : "Recharging"]<BR>"
user.set_machine(src)
user << browse(dat, "window=implant")
onclose(user, "implant")
@@ -118,7 +118,7 @@
if(!imp)
continue
if(istype(imp, /obj/item/implant/mindshield))
visible_message("<span class='warning'>[src] implants [M].</span>")
visible_message("<span class='warning'>[src] bio-chips [M].</span>")
if(imp.implant(M))
implant_list -= imp
@@ -1,6 +1,6 @@
/obj/item/implanter
name = "implanter"
desc = "A sterile automatic implant injector."
name = "bio-chip implanter"
desc = "A sterile automatic bio-chip injector."
icon = 'icons/obj/implants.dmi'
icon_state = "implanter0"
item_state = "syringe_0"
@@ -26,16 +26,16 @@
return
if(user && imp)
if(M != user)
M.visible_message("<span class='warning'>[user] is attempting to implant [M].</span>")
M.visible_message("<span class='warning'>[user] is attempting to bio-chip [M].</span>")
var/turf/T = get_turf(M)
if(T && (M == user || do_after(user, 50 * toolspeed, target = M)))
if(user && M && (get_turf(M) == T) && src && imp)
if(imp.implant(M, user))
if(M == user)
to_chat(user, "<span class='notice'>You implant yourself.</span>")
to_chat(user, "<span class='notice'>You bio-chip yourself.</span>")
else
M.visible_message("[user] has implanted [M].", "<span class='notice'>[user] implants you.</span>")
M.visible_message("[user] has implanted [M].", "<span class='notice'>[user] bio-chips you.</span>")
imp = null
update_icon(UPDATE_ICON_STATE)
@@ -1,12 +1,12 @@
/**
* # Implant Fluff Datum
* # Bio-chip Fluff Datum
*
* Implant fluff is just lore about the implant that is accessed through the implantpad, you must attach
* one of these datums to the implant_data var on an implant for it to show it up.
* Bio-chip fluff is just lore about the bio-chip that is accessed through the implantpad, you must attach
* one of these datums to the implant_data var on a bio-chip for it to show it up.
*/
/datum/implant_fluff
var/name = "Unknown Implant"
var/name = "Unknown bio-chip"
var/life = "Not Specified."
var/notes = "No Notes."
var/function = "An electronic insert that supplements biological functions."
@@ -17,96 +17,96 @@
notes = "Appears to contain highly advanced bluespace technology."
/datum/implant_fluff/adrenaline
name = "Cybersun Industries RX-2 Adrenaline Implant"
name = "Cybersun Industries RX-2 Adrenaline Bio-chip"
life = "Five days."
notes = "One of Cybersun Industries oldest and simplest implants, even in its simplicity it is rumoured to be one of Cybersun Industries best-selling products."
function = "Subjects injected with implant can activate an injection of medical cocktails that removes stuns, increases speed, and has mild healing effects."
function = "Subjects injected with this bio-chip can activate an injection of medical cocktails that removes stuns, increases speed, and has mild healing effects."
/datum/implant_fluff/chem
name = "BioTech Solutions MJ-420 Prisoner Management Implant" //ah yes, MJ-420, old coders are FUNNY
name = "BioTech Solutions MJ-420 Prisoner Management Bio-chip" //ah yes, MJ-420, old coders are FUNNY
life = "Deactivates upon death but remains within the body."
notes = "Can be loaded with any sort of chemical agent via the common syringe and can hold 50 units. Can only be loaded while still in its original case."
function = "Contains a small capsule that can contain various chemicals. Upon receiving a specially encoded signal the implant releases the chemicals directly into the blood stream."
function = "Contains a small capsule that can contain various chemicals. Upon receiving a specially encoded signal the bio-chip releases the chemicals directly into the blood stream."
/datum/implant_fluff/death_alarm
name = "BioTech Solutions MJ-102 Death Alarm Implant"
name = "BioTech Solutions MJ-102 Death Alarm Bio-chip"
notes = "Alerts crew to crewmember death."
function = "Contains a compact radio signaler that triggers when the host's lifesigns cease."
/datum/implant_fluff/dust
name = "Nanotrasen Employee Dust Implant"
life = "Unknown, attempts to retrieve a sample of the implant have often led to the destruction of the implant... and user."
name = "Nanotrasen Employee Dust Bio-chip"
life = "Unknown, attempts to retrieve a sample of the bio-chip have often led to the destruction of the bio-chip... and user."
notes = "Activates upon death or from manual activation by the user."
function = "Contains a compact, electrically activated heat source that turns its host to ash upon activation, or their death."
/datum/implant_fluff/emp
name = "Cybersun Industries RX-22 Electromagnetic Pulse Emitter Implant"
name = "Cybersun Industries RX-22 Electromagnetic Pulse Emitter Bio-chip"
life = "Destroyed upon final activation."
notes = "An minituarized nuclear squib fit snuggly into an implant."
function = "Upon detonization the implant will release an EMP affecting the immediate area around the user."
notes = "An minituarized nuclear squib fit snuggly into a bio-chip."
function = "Upon detonization the bio-chip will release an EMP affecting the immediate area around the user."
/datum/implant_fluff/exile
name = "Nanotrasen Employee Exile Implant"
name = "Nanotrasen Employee Exile Bio-chip"
life = "Known to last up to 3 to 4 years."
notes = "The onboard station gateway system has been modified to reject entry by individuals containing this implant."
notes = "The onboard station gateway system has been modified to reject entry by individuals containing this bio-chip."
function = "Prevents the user from reentering the station through the gateway.... alive."
/datum/implant_fluff/explosive
name = "Cybersun Industries RX-78 Employee Management Implant"
name = "Cybersun Industries RX-78 Employee Management Bio-chip"
life = "Destroyed upon activation."
notes = "Appears to contain a small, dense explosive device wired to a signaller chip, the serial number on the side is scratched out."
function = "Contains a compact, electrically detonated explosive that detonates upon receiving a specially encoded signal or upon host death."
/datum/implant_fluff/explosive_macro
name = "Cybersun Industries RX-79 Employee Management Implant"
name = "Cybersun Industries RX-79 Employee Management Bio-chip"
life = "Destroyed upon activation."
notes = "Compared to its predecessor, the RX-79 contains a much larger explosive; sometimes you just need a bigger boom. Due to its bulkiness, it has been known to press into the user's frontal lobe, impairing judgement."
function = "Contains a bulky, electrically triggered explosive that detonates upon receiving a specially encoded signal or upon host death."
/datum/implant_fluff/freedom
name = "Cybersun Industries RX-92 Quick Escape Implant"
name = "Cybersun Industries RX-92 Quick Escape Bio-chip"
life = "Destroyed after 4 uses."
notes = "An implant that is illegal in many systems. It is notoriously known for allowing users to grotesquely fracture bones and over-exert joints in order to slip out of the tightest of restraints."
notes = "A bio-chip that is illegal in many systems. It is notoriously known for allowing users to grotesquely fracture bones and over-exert joints in order to slip out of the tightest of restraints."
function = "Uses a mixture of cybernetic nanobots, bone regrowth chemicals, and radio signals to quickly break the user out of restraints."
/datum/implant_fluff/health
name = "Nanotrasen Health Implant"
name = "Nanotrasen Health Bio-chip"
/datum/implant_fluff/krav_maga
name = "Prospero Foreign Industries Krav Maga Neurotrainer"
life = "Will cease functioning 4 hours after death of host."
notes = "As a consequence of using a neurotrainer, using this implant will overwrite other martial arts knowledge in the users brain."
notes = "As a consequence of using a neurotrainer, using this bio-chip will overwrite other martial arts knowledge in the users brain."
function = "Teaches even the clumsiest host the arts of Krav Maga."
/datum/implant_fluff/mindshield
name = "Nanotrasen Type 3 Mindshield Implant"
life = "Studies have shown the implant to last up to 10 years."
notes = "This is the third iteration of an implant that has garnered attention from many galactic humanoid rights groups over concerns of self autonomy. Allegedly, it used to force the user to be completely loyal to Nanotrasen."
name = "Nanotrasen Type 3 Mindshield Bio-chip"
life = "Studies have shown the bio-chip to last up to 10 years."
notes = "This is the third iteration of a bio-chip that has garnered attention from many galactic humanoid rights groups over concerns of self autonomy. Allegedly, it used to force the user to be completely loyal to Nanotrasen."
function = "Personnel injected with this device can better resist mental compulsions such as brainwashing and mindslaving."
/datum/implant_fluff/storage
name = "Cybersun Industries RX-16 Collapsible Body Cavity Implant"
notes = "Prolonged usage of this implant often results in the users bones being fractured and occassionaly complete organ failure."
name = "Cybersun Industries RX-16 Collapsible Body Cavity Bio-chip"
notes = "Prolonged usage of this bio-chip often results in the users bones being fractured and occassionaly complete organ failure."
function = "Allows the user to store two small objects within a cybernetic body cavity."
/datum/implant_fluff/tracking
name = "Nanotrasen RFID Tracking Chip"
name = "Nanotrasen RFID Tracking Bio-chip"
life = "Unknown, known to last up to a few years."
notes = "Tracking implants are Neuro-safe! Makes use of a specialized shell that will melt and disintegrate into bio-safe elements in the event of a malfunction. "
notes = "Tracking bio-chips are Neuro-safe! Makes use of a specialized shell that will melt and disintegrate into bio-safe elements in the event of a malfunction. "
function = "Continuously transmits a low power signal. Can be used for tracking and teleporting to the user."
/datum/implant_fluff/traitor
name = "Syndicate Type E Mindslave Implant"
name = "Syndicate Type E Mindslave Bio-chip"
life = "Unknown, no collected sample has been active long enough to determine lifespan."
notes = "Any humanoid injected with this implant will become loyal to the injector, unless of course the host is already loyal to someone else. It's Diplomacy made easy. The Syndicate is known to use this for political and diplomatic leverage."
notes = "Any humanoid injected with this bio-chip will become loyal to the injector, unless of course the host is already loyal to someone else. It's Diplomacy made easy. The Syndicate is known to use this for political and diplomatic leverage."
function = " Contains a small pod of nanobots that manipulate the host's mental functions and slave the host to the implanter."
/datum/implant_fluff/uplink
name = "Syndicate Agent Uplink Implant"
name = "Syndicate Agent Uplink Bio-chip"
life = "Unknown, no collected sample has been active long enough to determine lifespan."
notes = "An intricate piece of machinery that interfaces directly with the users brain and which inner workings are a closely guarded syndicate secret."
function = "Allows the user to access a syndicate uplink connected contained within their body, invisible from the outside but provides the same functionality as a regular uplink."
/datum/implant_fluff/sad_trombone
name = "BioTech Solutions Comedy Implant"
name = "BioTech Solutions Comedy Bio-chip"
function = "Plays a sad trombone noise upon death of the implantee, allows clowns to entertain the crew even post-mortem."
@@ -1,5 +1,5 @@
/obj/item/implantpad
name = "implantpad"
name = "bio-chip pad"
desc = "Used to modify implants."
icon = 'icons/obj/implants.dmi'
icon_state = "implantpad-off"
@@ -34,7 +34,7 @@
if(!user || !C)
return
if(case)
to_chat(user, "<span class='warning'>There's already an implant in the pad!</span>")
to_chat(user, "<span class='warning'>There's already a bio-chip in the pad!</span>")
return
user.unEquip(C)
C.forceMove(src)
@@ -58,7 +58,7 @@
/obj/item/implantpad/verb/remove_implant()
set category = "Object"
set name = "Remove Implant"
set name = "Remove Bio-chip"
set src in usr
if(usr.stat || usr.restrained())
@@ -257,7 +257,7 @@
/obj/item/storage/box/trackimp
name = "tracking implant kit"
name = "tracking bio-chip kit"
desc = "Box full of scum-bag tracking utensils."
icon_state = "implant"
@@ -271,7 +271,7 @@
new /obj/item/locator(src)
/obj/item/storage/box/minertracker
name = "boxed tracking implant kit"
name = "boxed tracking bio-chip kit"
desc = "For finding those who have died on the accursed lavaworld."
icon_state = "implant"
@@ -284,8 +284,8 @@
new /obj/item/locator(src)
/obj/item/storage/box/chemimp
name = "chemical implant kit"
desc = "Box of stuff used to implant chemicals."
name = "chemical bio-chip kit"
desc = "Box of stuff used to bio-chip chemicals."
icon_state = "implant"
/obj/item/storage/box/chemimp/populate_contents()
@@ -295,8 +295,8 @@
new /obj/item/implantpad(src)
/obj/item/storage/box/exileimp
name = "boxed exile implant kit"
desc = "Box of exile implants. It has a picture of a clown being booted through the Gateway."
name = "boxed exile bio-chip kit"
desc = "Box of exile bio-chips. It has a picture of a clown being booted through the Gateway."
icon_state = "implant"
/obj/item/storage/box/exileimp/populate_contents()
@@ -305,8 +305,8 @@
new /obj/item/implanter(src)
/obj/item/storage/box/deathimp
name = "death alarm implant kit"
desc = "Box of life sign monitoring implants."
name = "death alarm bio-chip kit"
desc = "Box of life sign monitoring bio-chips."
icon_state = "implant"
/obj/item/storage/box/deathimp/populate_contents()