mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-29 06:58:30 +01:00
Fix virgo implant stuff
This commit is contained in:
@@ -45,12 +45,18 @@ SUBSYSTEM_DEF(transcore)
|
||||
current_run.len--
|
||||
|
||||
//Remove if not in a human anymore.
|
||||
if(!imp || !ishuman(imp.loc))
|
||||
if(!imp || !isorgan(imp.loc))
|
||||
implants -= imp
|
||||
continue
|
||||
|
||||
//We're in a human, at least.
|
||||
var/mob/living/carbon/human/H = imp.loc
|
||||
//We're in an organ, at least.
|
||||
var/obj/item/organ/external/EO = imp.loc
|
||||
var/mob/living/carbon/human/H = EO.owner
|
||||
if(!H)
|
||||
implants -= imp
|
||||
continue
|
||||
|
||||
//In a human
|
||||
BITSET(H.hud_updateflag, BACKUP_HUD)
|
||||
|
||||
if(H == imp.imp_in && H.mind && H.stat < DEAD)
|
||||
|
||||
@@ -3,43 +3,39 @@
|
||||
desc = "Allows the user to understand and speak almost all known languages.."
|
||||
var/uses = 1
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> Language Implant<BR>
|
||||
<b>Life:</b> One day.<BR>
|
||||
<b>Important Notes:</b> Personnel with this implant can speak almost all known languages.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b> Subjects injected with implant can understand and speak almost all known languages.<BR>
|
||||
<b>Function:</b> Contains specialized nanobots to stimulate the brain so the user can speak and understand previously unknown languages.<BR>
|
||||
<b>Special Features:</b> Will allow the user to understand almost all languages.<BR>
|
||||
<b>Integrity:</b> Implant can only be used once before the nanobots are depleted."}
|
||||
return dat
|
||||
/obj/item/weapon/implant/vrlanguage/get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> Language Implant<BR>
|
||||
<b>Life:</b> One day.<BR>
|
||||
<b>Important Notes:</b> Personnel with this implant can speak almost all known languages.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b> Subjects injected with implant can understand and speak almost all known languages.<BR>
|
||||
<b>Function:</b> Contains specialized nanobots to stimulate the brain so the user can speak and understand previously unknown languages.<BR>
|
||||
<b>Special Features:</b> Will allow the user to understand almost all languages.<BR>
|
||||
<b>Integrity:</b> Implant can only be used once before the nanobots are depleted."}
|
||||
return dat
|
||||
|
||||
/obj/item/weapon/implant/vrlanguage/trigger(emote, mob/source as mob)
|
||||
if (src.uses < 1)
|
||||
return 0
|
||||
if (emote == "smile")
|
||||
src.uses--
|
||||
to_chat(source,"<span class='notice'>You suddenly feel as if you can understand other languages!</span>")
|
||||
source.add_language(LANGUAGE_CHIMPANZEE)
|
||||
source.add_language(LANGUAGE_NEAERA)
|
||||
source.add_language(LANGUAGE_STOK)
|
||||
source.add_language(LANGUAGE_FARWA)
|
||||
source.add_language(LANGUAGE_UNATHI)
|
||||
source.add_language(LANGUAGE_SIIK)
|
||||
source.add_language(LANGUAGE_SKRELLIAN)
|
||||
source.add_language(LANGUAGE_SCHECHI)
|
||||
source.add_language(LANGUAGE_BIRDSONG)
|
||||
source.add_language(LANGUAGE_SAGARU)
|
||||
source.add_language(LANGUAGE_CANILUNZT)
|
||||
source.add_language(LANGUAGE_SOL_COMMON) //In case they're giving a xenomorph an implant or something.
|
||||
|
||||
trigger(emote, mob/source as mob)
|
||||
if (src.uses < 1) return 0
|
||||
if (emote == "smile")
|
||||
src.uses--
|
||||
source << "<span class='notice'>You suddenly feel as if you can understand other languages!</span>"
|
||||
source.add_language(LANGUAGE_CHIMPANZEE)
|
||||
source.add_language(LANGUAGE_NEAERA)
|
||||
source.add_language(LANGUAGE_STOK)
|
||||
source.add_language(LANGUAGE_FARWA)
|
||||
source.add_language(LANGUAGE_UNATHI)
|
||||
source.add_language(LANGUAGE_SIIK)
|
||||
source.add_language(LANGUAGE_SKRELLIAN)
|
||||
source.add_language(LANGUAGE_SCHECHI)
|
||||
source.add_language(LANGUAGE_BIRDSONG)
|
||||
source.add_language(LANGUAGE_SAGARU)
|
||||
source.add_language(LANGUAGE_CANILUNZT)
|
||||
source.add_language(LANGUAGE_SOL_COMMON) //In case they're giving a xenomorph an implant or something.
|
||||
|
||||
|
||||
return
|
||||
|
||||
|
||||
implanted(mob/source)
|
||||
source.mind.store_memory("A implant can be activated by using the smile emote, <B>say *smile</B> to attempt to activate.", 0, 0)
|
||||
source << "The implanted language implant can be activated by using the smile emote, <B>say *smile</B> to attempt to activate."
|
||||
return 1
|
||||
/obj/item/weapon/implant/vrlanguage/post_implant(mob/source)
|
||||
source.mind.store_memory("A implant can be activated by using the smile emote, <B>say *smile</B> to attempt to activate.", 0, 0)
|
||||
to_chat(source,"The implanted language implant can be activated by using the smile emote, <B>say *smile</B> to attempt to activate.")
|
||||
return 1
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
update()
|
||||
return
|
||||
|
||||
/obj/item/weapon/implant/reagent_generator/implanted(mob/living/carbon/source)
|
||||
/obj/item/weapon/implant/reagent_generator/post_implant(mob/living/carbon/source)
|
||||
processing_objects += src
|
||||
to_chat(source, "<span class='notice'>You implant [source] with \the [src].</span>")
|
||||
assigned_proc = new assigned_proc(source, verb_name, verb_desc)
|
||||
|
||||
@@ -27,13 +27,9 @@
|
||||
SStranscore.implants -= src
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/implant/backup/implanted(var/mob/living/carbon/human/H)
|
||||
..()
|
||||
/obj/item/weapon/implant/backup/post_implant(var/mob/living/carbon/human/H)
|
||||
if(istype(H))
|
||||
var/obj/item/weapon/implant/backup/other_imp = locate(/obj/item/weapon/implant/backup,H)
|
||||
if(other_imp && other_imp.imp_in == H)
|
||||
qdel(other_imp) //implant fight
|
||||
|
||||
BITSET(H.hud_updateflag, BACKUP_HUD)
|
||||
SStranscore.implants |= src
|
||||
|
||||
return 1
|
||||
@@ -107,18 +103,10 @@
|
||||
M.visible_message("<span class='notice'>[M] has been backup implanted by [user].</span>")
|
||||
|
||||
var/obj/item/weapon/implant/backup/imp = imps[imps.len]
|
||||
if(imp.implanted(M))
|
||||
imp.forceMove(M)
|
||||
if(imp.handle_implant(M,user.zone_sel.selecting))
|
||||
imp.post_implant(M)
|
||||
imps -= imp
|
||||
imp.imp_in = M
|
||||
imp.implanted = 1
|
||||
add_attack_logs(user,M,"Implanted backup implant")
|
||||
if (ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
|
||||
affected.implants += imp
|
||||
imp.part = affected
|
||||
BITSET(H.hud_updateflag, BACKUP_HUD)
|
||||
|
||||
update()
|
||||
|
||||
|
||||
@@ -538,14 +538,8 @@
|
||||
|
||||
//Give them a backup implant
|
||||
var/obj/item/weapon/implant/backup/new_imp = new()
|
||||
if(new_imp.implanted(occupant))
|
||||
new_imp.loc = occupant
|
||||
new_imp.imp_in = occupant
|
||||
new_imp.implanted = 1
|
||||
//Put it in the head! Makes sense.
|
||||
var/obj/item/organ/external/affected = occupant.get_organ(BP_HEAD)
|
||||
affected.implants += new_imp
|
||||
new_imp.part = affected
|
||||
if(new_imp.handle_implant(occupant, BP_HEAD))
|
||||
new_imp.post_implant(occupant)
|
||||
|
||||
//Inform them and make them a little dizzy.
|
||||
if(confuse_amount + blur_amount <= 16)
|
||||
|
||||
@@ -725,7 +725,7 @@
|
||||
random_emote = list("hisses softly with a blush on his face", "yelps in embarrassment", "grunts a little")
|
||||
assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_roiz
|
||||
|
||||
/obj/item/weapon/implant/reagent_generator/roiz/implanted(mob/living/carbon/source)
|
||||
/obj/item/weapon/implant/reagent_generator/roiz/post_implant(mob/living/carbon/source)
|
||||
processing_objects += src
|
||||
to_chat(source, "<span class='notice'>You implant [source] with \the [src].</span>")
|
||||
source.verbs |= assigned_proc
|
||||
@@ -793,7 +793,7 @@
|
||||
random_emote = list("hisses softly with a blush on her face", "bites down on her lower lip", "lets out a light huff")
|
||||
assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_jasmine
|
||||
|
||||
/obj/item/weapon/implant/reagent_generator/jasmine/implanted(mob/living/carbon/source)
|
||||
/obj/item/weapon/implant/reagent_generator/jasmine/post_implant(mob/living/carbon/source)
|
||||
processing_objects += src
|
||||
to_chat(source, "<span class='notice'>You implant [source] with \the [src].</span>")
|
||||
source.verbs |= assigned_proc
|
||||
@@ -861,7 +861,7 @@
|
||||
random_emote = list("hisses softly with a blush on her face", "yelps in embarrassment", "grunts a little")
|
||||
assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_yonra
|
||||
|
||||
/obj/item/weapon/implant/reagent_generator/yonra/implanted(mob/living/carbon/source)
|
||||
/obj/item/weapon/implant/reagent_generator/yonra/post_implant(mob/living/carbon/source)
|
||||
processing_objects += src
|
||||
to_chat(source, "<span class='notice'>You implant [source] with \the [src].</span>")
|
||||
source.verbs |= assigned_proc
|
||||
@@ -945,7 +945,7 @@
|
||||
random_emote = list("trembles and huffs, panting from the exertion.", "sees what has happened and covers her face with both hands!", "whimpers softly, her legs shivering, knees pointed inward from the feeling.")
|
||||
assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_rischi
|
||||
|
||||
/obj/item/weapon/implant/reagent_generator/rischi/implanted(mob/living/carbon/source)
|
||||
/obj/item/weapon/implant/reagent_generator/rischi/post_implant(mob/living/carbon/source)
|
||||
processing_objects += src
|
||||
to_chat(source, "<span class='notice'>You implant [source] with \the [src].</span>")
|
||||
source.verbs |= assigned_proc
|
||||
@@ -1011,7 +1011,7 @@
|
||||
self_emote_descriptor = list("grab", "pick", "snatch")
|
||||
assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_pumila_apple
|
||||
|
||||
/obj/item/weapon/implant/reagent_generator/pumila_apple/implanted(mob/living/carbon/source)
|
||||
/obj/item/weapon/implant/reagent_generator/pumila_apple/post_implant(mob/living/carbon/source)
|
||||
processing_objects += src
|
||||
to_chat(source, "<span class='notice'>You implant [source] with \the [src].</span>")
|
||||
source.verbs |= assigned_proc
|
||||
@@ -1704,7 +1704,7 @@
|
||||
random_emote = list("hisses softly with a blush on his face", "yelps in embarrassment", "grunts a little")
|
||||
assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant_evian
|
||||
|
||||
/obj/item/weapon/implant/reagent_generator/evian/implanted(mob/living/carbon/source)
|
||||
/obj/item/weapon/implant/reagent_generator/evian/post_implant(mob/living/carbon/source)
|
||||
processing_objects += src
|
||||
to_chat(source, "<span class='notice'>You implant [source] with \the [src].</span>")
|
||||
source.verbs |= assigned_proc
|
||||
|
||||
Reference in New Issue
Block a user