diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index 04d8c8215f3..a0e1899cb6a 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -310,3 +310,40 @@ H.update_body(0) H.reset_hair() H.dna.ResetUIFrom(H) + + +/obj/machinery/transformer/gene_applier + name = "genetic blueprint applier" + desc = "Here begin the clone wars. Upload a template by using a genetics disk on this machine." + var/datum/dna/template + var/locked = FALSE // For admins sealing the deal + +/obj/machinery/transformer/gene_applier/do_transform(mob/living/carbon/human/H) + if(!istype(H)) + return + if(!istype(template)) + to_chat(H, "No genetic template configured!") + return + var/prev_ue = H.dna.unique_enzymes + H.set_species(template.species) + H.dna = template.Clone() + H.real_name = template.real_name + H.sync_organ_dna(assimilate = 0, old_ue = prev_ue) + H.UpdateAppearance() + domutcheck(H, null, MUTCHK_FORCED) + H.update_mutations() + +/obj/machinery/transformer/gene_applier/attackby(obj/item/W, mob/living/user, params) + if(istype(W, /obj/item/weapon/disk/data)) + if(locked) + to_chat(user, "Access Denied.") + return FALSE + var/obj/item/weapon/disk/data/D = W + if(!D.buf) + to_chat(user, "Error: No data found.") + return FALSE + template = D.buf.dna.Clone() + to_chat(user, "Upload of gene template for '[template.real_name]' complete!") + return TRUE + else + return ..() diff --git a/code/game/response_team.dm b/code/game/response_team.dm index 008fe7e51e4..592a97671a8 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -303,8 +303,8 @@ var/ert_request_answered = 0 /datum/outfit/job/centcom/response_team name = "Response team" - var/RTassignment = "Emergency Response Team Member" - var/RTjob = "This is a bug" + var/rt_assignment = "Emergency Response Team Member" + var/rt_job = "This is a bug" allow_backbag_choice = FALSE allow_loadout = FALSE pda = /obj/item/device/pda/heads/ert @@ -322,12 +322,12 @@ var/ert_request_answered = 0 var/obj/item/weapon/card/id/W = H.wear_id if(!istype(W)) return - W.assignment = RTassignment + W.assignment = rt_assignment W.rank = W.assignment W.age = H.age W.sex = capitalize(H.gender) W.registered_name = H.real_name - W.name = "[H.real_name]'s ID Card ([RTjob])" + W.name = "[H.real_name]'s ID Card ([rt_job])" W.access = get_centcom_access(W.assignment) W.photo = get_id_photo(H) @@ -335,14 +335,14 @@ var/ert_request_answered = 0 var/obj/item/device/pda/PDA = H.wear_pda if(istype(PDA)) PDA.owner = H.real_name - PDA.ownjob = RTassignment - PDA.ownrank = RTassignment + PDA.ownjob = rt_assignment + PDA.ownrank = rt_assignment PDA.name = "PDA-[H.real_name] ([PDA.ownjob])" /datum/outfit/job/centcom/response_team/commander name = "RT Commander" - RTassignment = "Emergency Response Team Leader" - RTjob = "Emergency Response Team Leader" + rt_assignment = "Emergency Response Team Leader" + rt_job = "Emergency Response Team Leader" uniform = /obj/item/clothing/under/rank/centcom_officer back = /obj/item/weapon/storage/backpack/ert/commander @@ -403,7 +403,7 @@ var/ert_request_answered = 0 /datum/outfit/job/centcom/response_team/security name = "RT Security" - RTjob = "Emergency Response Team Officer" + rt_job = "Emergency Response Team Officer" uniform = /obj/item/clothing/under/rank/security back = /obj/item/weapon/storage/backpack/ert/security belt = /obj/item/weapon/storage/belt/security/response_team @@ -475,7 +475,7 @@ var/ert_request_answered = 0 /datum/outfit/job/centcom/response_team/engineer name = "RT Engineer" - RTjob = "Emergency Response Team Engineer" + rt_job = "Emergency Response Team Engineer" back = /obj/item/weapon/storage/backpack/ert/engineer uniform = /obj/item/clothing/under/rank/engineer @@ -541,7 +541,7 @@ var/ert_request_answered = 0 /datum/outfit/job/centcom/response_team/medic name = "RT Medic" - RTjob = "Emergency Response Team Medic" + rt_job = "Emergency Response Team Medic" uniform = /obj/item/clothing/under/rank/medical back = /obj/item/weapon/storage/backpack/ert/medical pda = /obj/item/device/pda/heads/ert/medical