diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 25e022febc..d532623f54 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -372,6 +372,17 @@ if(SA.stat || in_faction(SA)) //don't target if dead or in faction continue targets += SA + if(issilicon(A)) + var/mob/living/silicon/sillycone = A + if(sillycone.stat || in_faction(sillycone)) + continue + + if(iscyborg(sillycone)) + var/mob/living/silicon/robot/sillyconerobot = A + if(faction == "syndicate" && sillyconerobot.emagged == 1) + continue + + targets += sillycone if(iscarbon(A)) var/mob/living/carbon/C = A diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 84f90a0c6d..1d48c56556 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -552,6 +552,16 @@ can_be_pushed = FALSE hat_offset = 3 +/obj/item/robot_module/syndicate/rebuild_modules() + ..() + var/mob/living/silicon/robot/Syndi = loc + Syndi.faction -= "silicon" //ai turrets + +/obj/item/robot_module/syndicate/remove_module(obj/item/I, delete_after) + ..() + var/mob/living/silicon/robot/Syndi = loc + Syndi.faction += "silicon" //ai is your bff now! + /obj/item/robot_module/syndicate_medical name = "Syndicate Medical" basic_modules = list( diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index bc34c15e2b..5ed5bf5eb0 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -41,6 +41,7 @@ /mob/living/silicon/Initialize() . = ..() GLOB.silicon_mobs += src + faction += "silicon" for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) diag_hud.add_to_hud(src) diag_hud_set_status()