diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index cc24ed7fdb..b749bfb07e 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -512,34 +512,31 @@ datum/mind
H << "\blue Your loyalty implant has been deactivated."
if("add")
- H.implant_loyalty(src)
-
- if(config.use_loyalty_implants) // The following won't occur if there are not loyalty implants.
- H << "\red You somehow have become the recepient of a loyalty transplant, and it just activated!"
- if(src in ticker.mode.revolutionaries)
- special_role = null
- ticker.mode.revolutionaries -= src
- src << "\red The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!"
- if(src in ticker.mode.head_revolutionaries)
- special_role = null
- ticker.mode.head_revolutionaries -=src
- src << "\red The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!"
- if(src in ticker.mode.cult)
- ticker.mode.cult -= src
- ticker.mode.update_cult_icons_removed(src)
- special_role = null
- var/datum/game_mode/cult/cult = ticker.mode
- if (istype(cult))
- cult.memorize_cult_objectives(src)
- current << "\red The nanobots in the loyalty implant remove all thoughts about being in a cult. Have a productive day!"
- memory = ""
- if(src in ticker.mode.traitors)
- ticker.mode.traitors -= src
- special_role = null
- current << "\red The nanobots in the loyalty implant remove all thoughts about being a traitor to Nanotrasen. Have a nice day!"
- log_admin("[key_name_admin(usr)] has de-traitor'ed [current].")
- else
- usr << "Loyalty implants are currently disabled for your server in the configuration files."
+ H.implant_loyalty(H, override = TRUE)
+ H << "\red You somehow have become the recepient of a loyalty transplant, and it just activated!"
+ if(src in ticker.mode.revolutionaries)
+ special_role = null
+ ticker.mode.revolutionaries -= src
+ src << "\red The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!"
+ if(src in ticker.mode.head_revolutionaries)
+ special_role = null
+ ticker.mode.head_revolutionaries -=src
+ src << "\red The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!"
+ if(src in ticker.mode.cult)
+ ticker.mode.cult -= src
+ ticker.mode.update_cult_icons_removed(src)
+ special_role = null
+ var/datum/game_mode/cult/cult = ticker.mode
+ if (istype(cult))
+ cult.memorize_cult_objectives(src)
+ current << "\red The nanobots in the loyalty implant remove all thoughts about being in a cult. Have a productive day!"
+ memory = ""
+ if(src in ticker.mode.traitors)
+ ticker.mode.traitors -= src
+ special_role = null
+ current << "\red The nanobots in the loyalty implant remove all thoughts about being a traitor to Nanotrasen. Have a nice day!"
+ log_admin("[key_name_admin(usr)] has de-traitor'ed [current].")
+ else
else if (href_list["revolution"])
diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm
index 9d0f40e159..3dc57db654 100644
--- a/code/game/objects/items/weapons/implants/implantcase.dm
+++ b/code/game/objects/items/weapons/implants/implantcase.dm
@@ -113,8 +113,7 @@
New()
- if (config.use_loyalty_implants)
- src.imp = new /obj/item/weapon/implant/loyalty( src )
+ src.imp = new /obj/item/weapon/implant/loyalty( src )
..()
return
diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm
index 21d768a3aa..f92f5b759c 100644
--- a/code/game/objects/items/weapons/implants/implanter.dm
+++ b/code/game/objects/items/weapons/implants/implanter.dm
@@ -60,8 +60,7 @@
name = "implanter-loyalty"
/obj/item/weapon/implanter/loyalty/New()
- if(config.use_loyalty_implants)
- src.imp = new /obj/item/weapon/implant/loyalty( src )
+ src.imp = new /obj/item/weapon/implant/loyalty( src )
..()
update()
return
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index a1b76fa081..4253810d28 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -317,8 +317,8 @@
if(armor >= 2) return
-/mob/living/carbon/human/proc/implant_loyalty(mob/living/carbon/human/M)
- if(!config.use_loyalty_implants) return
+/mob/living/carbon/human/proc/implant_loyalty(mob/living/carbon/human/M, override = FALSE) // Won't override by default.
+ if(!config.use_loyalty_implants && !override) return // Nuh-uh.
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M)
L.imp_in = M