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