From 430cca330010aa8808f211886ce94aa0bb0414bf Mon Sep 17 00:00:00 2001 From: "LastBattaWolf@hotmail.com" Date: Sun, 4 Dec 2011 19:55:01 +0000 Subject: [PATCH] (GIVE POLYBLUE COMMIT ALREADY) Headrevs can no longer be borged, and revs who get borged are dereved. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2614 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/gamemodes/revolution/revolution.dm | 18 ++++++++++++++---- code/game/machinery/computer/AIcore.dm | 8 ++++++++ code/game/objects/items/robot_parts.dm | 8 ++++++++ html/changelog.html | 3 ++- 4 files changed, 32 insertions(+), 5 deletions(-) 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: