diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index 43c1b335f4..8384892044 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -281,7 +281,7 @@
//////////////////////////////////////////////////////////////////////////////
//Deals with players being converted from the revolution (Not a rev anymore)// // Modified to handle borged MMIs. Accepts another var if the target is being borged at the time -- Polymorph.
//////////////////////////////////////////////////////////////////////////////
-/datum/game_mode/proc/remove_revolutionary(datum/mind/rev_mind , beingborged)
+/datum/game_mode/proc/remove_revolutionary(datum/mind/rev_mind , beingborged, deconverter)
var/remove_head = 0
if(beingborged && (rev_mind in head_revolutionaries))
head_revolutionaries -= rev_mind
@@ -290,17 +290,16 @@
if((rev_mind in revolutionaries) || remove_head)
revolutionaries -= rev_mind
rev_mind.special_role = null
- rev_mind.current.log_message("Has renounced the revolution!", INDIVIDUAL_ATTACK_LOG)
+ log_attack("[rev_mind.current] (Key: [key_name(rev_mind.current)]) has been deconverted from the revolution by [deconverter] (Key: [key_name(deconverter)])!")
if(beingborged)
- rev_mind.current.visible_message("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.",\
- "The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."]")
+ rev_mind.current.visible_message("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.", \
+ "The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."]")
message_admins("[ADMIN_LOOKUPFLW(rev_mind.current)] has been borged while being a [remove_head ? "leader" : " member"] of the revolution.")
-
else
+ rev_mind.current.visible_message("[rev_mind.current] looks like they just remembered their real allegiance!", \
+ "You are no longer a brainwashed revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you...")
rev_mind.current.Unconscious(100)
- rev_mind.current.visible_message("[rev_mind.current] looks like they just remembered their real allegiance!",\
- "You have been brainwashed! You are no longer a revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you...")
update_rev_icons_removed(rev_mind)
/////////////////////////////////////
diff --git a/code/game/objects/items/implants/implant_loyality.dm b/code/game/objects/items/implants/implant_loyality.dm
index e25fc8dda6..a1e9a0e4d5 100644
--- a/code/game/objects/items/implants/implant_loyality.dm
+++ b/code/game/objects/items/implants/implant_loyality.dm
@@ -26,7 +26,7 @@
qdel(src)
return 0
if(target.mind in SSticker.mode.revolutionaries)
- SSticker.mode.remove_revolutionary(target.mind)
+ SSticker.mode.remove_revolutionary(target.mind, FALSE, user)
if(!silent)
if(target.mind in SSticker.mode.cult)
to_chat(target, "You feel something interfering with your mental conditioning, but you resist it!")
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 19fa9ce82e..07f3acea48 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1441,7 +1441,7 @@
H.adjust_blurriness(10)
if(prob(I.force + ((100 - H.health)/2)) && H != user)
- SSticker.mode.remove_revolutionary(H.mind)
+ SSticker.mode.remove_revolutionary(H.mind, FALSE, user)
if(bloody) //Apply blood
if(H.wear_mask)
diff --git a/code/modules/mob/living/silicon/login.dm b/code/modules/mob/living/silicon/login.dm
index b0e9d41038..f95949b824 100644
--- a/code/modules/mob/living/silicon/login.dm
+++ b/code/modules/mob/living/silicon/login.dm
@@ -1,5 +1,5 @@
/mob/living/silicon/Login()
if(mind && SSticker.mode)
SSticker.mode.remove_cultist(mind, 0, 0)
- SSticker.mode.remove_revolutionary(mind, 0)
+ SSticker.mode.remove_revolutionary(mind, TRUE)
..()
diff --git a/code/modules/mob/living/silicon/robot/login.dm b/code/modules/mob/living/silicon/robot/login.dm
index a9a2f899fb..852bc2acf2 100644
--- a/code/modules/mob/living/silicon/robot/login.dm
+++ b/code/modules/mob/living/silicon/robot/login.dm
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
/mob/living/silicon/robot/Login()
..()
@@ -5,3 +6,10 @@
show_laws(0)
if(mind)
SSticker.mode.remove_revolutionary(mind)
+=======
+
+/mob/living/silicon/robot/Login()
+ ..()
+ regenerate_icons()
+ show_laws(0)
+>>>>>>> 0407dcf... Fixes revolutionary deconversion messages and logging (#30956)