diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 378ced09041..5c2e1b656ee 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -166,16 +166,26 @@ update_rev_icons_added(rev_mind) return 1 ////////////////////////////////////////////////////////////////////////////// -//Deals with players being converted from the revolution (Not a rev anymore)// +//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) +/datum/game_mode/proc/remove_revolutionary(datum/mind/rev_mind , beingborged) if(rev_mind in revolutionaries) revolutionaries -= rev_mind rev_mind.special_role = null - rev_mind.current << "\red 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..." + + if(beingborged) + rev_mind.current << "\red The frame's firmware detects and deletes your neural reprogramming! You remember nothing from the moment you were flashed until now." + + else + rev_mind.current << "\red 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) for(var/mob/living/M in view(rev_mind.current)) - M << "[rev_mind.current] looks like they just remembered their real allegiance!" + if(beingborged) + M << "The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it." + + else + M << "[rev_mind.current] looks like they just remembered their real allegiance!" ///////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/game/machinery/computer/AIcore.dm b/code/game/machinery/computer/AIcore.dm index e9ec1891c40..800eb239654 100644 --- a/code/game/machinery/computer/AIcore.dm +++ b/code/game/machinery/computer/AIcore.dm @@ -114,6 +114,11 @@ if(P:brainmob.stat == 2) user << "\red Sticking a dead brain into the frame would sort of defeat the purpose." return + + if(P:brainmob.mind in ticker.mode.head_revolutionaries) + user << "\red The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the MMI." + return + if(jobban_isbanned(P:brainmob, "AI")) user << "\red This MMI does not seem to fit." return @@ -145,6 +150,9 @@ playsound(loc, 'Screwdriver.ogg', 50, 1) user << "\blue You connect the monitor." + if(P:brainmob.mind in ticker.mode:revolutionaries) + ticker.mode:remove_revolutionary(P:brainmob.mind , 1) + new /mob/living/silicon/ai ( loc, laws, brain ) del(src) diff --git a/code/game/objects/items/robot_parts.dm b/code/game/objects/items/robot_parts.dm index e929121ceb1..8a906142aa1 100644 --- a/code/game/objects/items/robot_parts.dm +++ b/code/game/objects/items/robot_parts.dm @@ -162,6 +162,10 @@ user << "\red Sticking a dead brain into the frame would sort of defeat the purpose." return + if(M.brainmob.mind in ticker.mode.head_revolutionaries) + user << "\red The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the MMI." + return + if(jobban_isbanned(M.brainmob, "Cyborg")) user << "\red This MMI does not seem to fit." return @@ -183,6 +187,10 @@ G.corpse.mind.transfer_to(O) del(G) break + + if(O.mind in ticker.mode:revolutionaries) + ticker.mode:remove_revolutionary(O.mind , 1) + if(O.mind && O.mind.special_role) O.mind.store_memory("In case you look at this after being borged, the objectives are only here until I find a way to make them not show up for you, as I can't simply delete them without screwing up round-end reporting. --NeoFite") diff --git a/html/changelog.html b/html/changelog.html index 497e02e4271..8cb1b686cbf 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -84,7 +84,8 @@ should be listed in the changelog upon commit tho. Thanks. -->
  • PolymorphBlue updated: