Cleans up remnant traitor cyborg code and AI hacking.

This commit is contained in:
AnturK
2018-02-15 10:40:04 -06:00
committed by CitadelStationBot
parent 95582c597b
commit 10a40524ab
11 changed files with 188 additions and 68 deletions
+1 -8
View File
@@ -336,14 +336,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
return FALSE
if(issilicon(M))
if(iscyborg(M)) //For cyborgs, returns 1 if the cyborg has a law 0 and special_role. Returns 0 if the borg is merely slaved to an AI traitor.
var/mob/living/silicon/robot/R = M
if(R.mind && R.mind.special_role)
if(R.laws && R.laws.zeroth && R.syndicate)
if(R.connected_ai)
if(is_special_character(R.connected_ai) && R.connected_ai.laws && (R.connected_ai.laws.zeroth_borg == R.laws.zeroth || R.connected_ai.laws.zeroth == R.laws.zeroth))
return 0 //AI is the real traitor here, so the borg itself is not a traitor
return TRUE//Slaved but also a traitor
return TRUE //Unslaved, traitor
return FALSE
else if(isAI(M))
var/mob/living/silicon/ai/A = M
if(A.laws && A.laws.zeroth && A.mind && A.mind.special_role)