mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-21 19:19:12 +01:00
56 lines
1.9 KiB
Plaintext
56 lines
1.9 KiB
Plaintext
/datum/reagent/advmutationtoxin
|
|
name = "Advanced Mutation Toxin"
|
|
id = "advmutationtoxin"
|
|
description = "A corruptive toxin produced by slimes. Turns the subject of the chemical into a Promethean."
|
|
reagent_state = LIQUID
|
|
color = "#13BC5E"
|
|
|
|
/datum/reagent/advmutationtoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
|
if(ishuman(M))
|
|
var/mob/living/carbon/human/H = M
|
|
if(H.species.name != "Promethean")
|
|
to_chat(M, "<span class='danger'>Your flesh rapidly mutates!</span>")
|
|
|
|
var/list/backup_implants = list()
|
|
for(var/obj/item/organ/I in H.organs)
|
|
for(var/obj/item/weapon/implant/backup/BI in I.contents)
|
|
backup_implants += BI
|
|
if(backup_implants.len)
|
|
for(var/obj/item/weapon/implant/backup/BI in backup_implants)
|
|
BI.forceMove(src)
|
|
|
|
H.set_species("Promethean")
|
|
H.shapeshifter_set_colour("#05FF9B") //They can still change their color.
|
|
|
|
if(backup_implants.len)
|
|
var/obj/item/organ/external/torso = H.get_organ(BP_TORSO)
|
|
for(var/obj/item/weapon/implant/backup/BI in backup_implants)
|
|
BI.forceMove(torso)
|
|
torso.implants += BI
|
|
|
|
/datum/chemical_reaction/slime/sapphire_mutation
|
|
name = "Slime Mutation Toxins"
|
|
id = "slime_mutation_tox"
|
|
result = "mutationtoxin"
|
|
required_reagents = list("blood" = 5)
|
|
result_amount = 30
|
|
required = /obj/item/slime_extract/sapphire
|
|
|
|
/datum/reagent/nif_repair_nanites
|
|
name = "Programmed Nanomachines"
|
|
id = "nifrepairnanites"
|
|
description = "A thick grey slurry of NIF repair nanomachines."
|
|
taste_description = "metallic"
|
|
reagent_state = LIQUID
|
|
color = "#333333"
|
|
scannable = 1
|
|
|
|
/datum/reagent/nif_repair_nanites/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
|
if(ishuman(M))
|
|
var/mob/living/carbon/human/H = M
|
|
if(H.nif)
|
|
var/obj/item/device/nif/nif = H.nif //L o c a l
|
|
if(nif.stat == NIF_TEMPFAIL)
|
|
nif.stat = NIF_INSTALLING
|
|
nif.durability = min(nif.durability + removed, initial(nif.durability))
|