diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index aeaadbf2803..24daf1ff17a 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -248,8 +248,9 @@ holder = hud_list[IMPTRACK_HUD] holder.icon_state = "hud_imp_tracking" else if(istype(I,/obj/item/bio_chip/mindshield)) + var/obj/item/bio_chip/mindshield/shield = I holder = hud_list[IMPMINDSHIELD_HUD] - holder.icon_state = "hud_imp_loyal" + holder.icon_state = shield.hud_icon_state else if(istype(I,/obj/item/bio_chip/chem)) holder = hud_list[IMPCHEM_HUD] holder.icon_state = "hud_imp_chem" diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm index 2c45f347277..b81379933ee 100644 --- a/code/game/gamemodes/autotraitor/autotraitor.dm +++ b/code/game/gamemodes/autotraitor/autotraitor.dm @@ -82,9 +82,8 @@ if(!player.current || !ishuman(player.current)) // Remove mindshield-implanted mobs from the list continue var/mob/living/carbon/human/H = player.current - for(var/obj/item/bio_chip/mindshield/I in H.contents) - if(I && I.implanted) - possible_traitors -= player + if(ismindshielded(H)) + possible_traitors -= player if(!H.job || H.mind.offstation_role) //Golems, special events stuff, etc. possible_traitors -= player diff --git a/code/game/jobs/job/syndicate_jobs.dm b/code/game/jobs/job/syndicate_jobs.dm index 9dbc283dbd9..7f66f057555 100644 --- a/code/game/jobs/job/syndicate_jobs.dm +++ b/code/game/jobs/job/syndicate_jobs.dm @@ -37,7 +37,8 @@ bio_chips = list( /obj/item/bio_chip/dust, /obj/item/bio_chip/freedom, - /obj/item/bio_chip/adrenalin + /obj/item/bio_chip/adrenalin, + /obj/item/bio_chip/mindshield/syndicate ) cybernetic_implants = list( diff --git a/code/game/objects/items/bio_chips/bio_chip_mindshield.dm b/code/game/objects/items/bio_chips/bio_chip_mindshield.dm index 23ca69c16db..e76f09d0371 100644 --- a/code/game/objects/items/bio_chips/bio_chip_mindshield.dm +++ b/code/game/objects/items/bio_chips/bio_chip_mindshield.dm @@ -5,6 +5,8 @@ activated = BIOCHIP_ACTIVATED_PASSIVE implant_data = /datum/implant_fluff/mindshield implant_state = "implant-nanotrasen" + var/hud_icon_state = "hud_imp_loyal" + var/cult_source = "corporate tendrils of Nanotrasen" /obj/item/bio_chip/mindshield/can_implant(mob/source, mob/user) if(source.mind?.has_antag_datum(/datum/antagonist/rev/head)) @@ -20,7 +22,7 @@ if(target.mind.has_antag_datum(/datum/antagonist/rev)) SSticker.mode.remove_revolutionary(target.mind) if(IS_CULTIST(target)) - to_chat(target, "You feel the corporate tendrils of Nanotrasen try to invade your mind!") + to_chat(target, "You feel the [cult_source] try to invade your mind!") return TRUE to_chat(target, "Your mind feels hardened - more resistant to brainwashing.") @@ -41,3 +43,20 @@ name = "bio-chip case - 'mindshield'" desc = "A glass case containing a mindshield bio-chip." implant_type = /obj/item/bio_chip/mindshield + +/obj/item/bio_chip/mindshield/syndicate + name = "syndishield bio-chip" + desc = "Stops Nanotrasen from messing with your mind." + origin_tech = "materials=2;biotech=4;programming=4;syndicate=3" + implant_data = /datum/implant_fluff/syndicate_shield + hud_icon_state = "hud_imp_syndiloyal" + cult_source = "twisted plans of the Syndicate" + +/obj/item/bio_chip_implanter/syndishield + name = "bio-chip implanter (syndishield)" + implant_type = /obj/item/bio_chip/mindshield/syndicate + +/obj/item/bio_chip_case/syndishield + name = "bio-chip case - 'syndishield'" + desc = "A glass case containing a mindshield bio-chip." + implant_type = /obj/item/bio_chip/mindshield/syndicate diff --git a/code/game/objects/items/weapons/bio_chips/bio_chip_fluff.dm b/code/game/objects/items/weapons/bio_chips/bio_chip_fluff.dm index 030a495b819..573a9613a63 100644 --- a/code/game/objects/items/weapons/bio_chips/bio_chip_fluff.dm +++ b/code/game/objects/items/weapons/bio_chips/bio_chip_fluff.dm @@ -100,6 +100,12 @@ notes = "An advanced neural shielding chip, the Type 3 Mindshield uses low-frequency radio pulses and defensive nanites to ensure the mental safety of Nanotrasen officers and security personnel." function = "Personnel injected with this device can better resist mental compulsions such as brainwashing and mindslaving. The hardened shell prevents damage or interference from EMPs." +/datum/implant_fluff/syndicate_shield + name = "Syndicate Mindshield Bio-chip" + life = "Unknown duration." + notes = "A Syndicate-produced copy of the Nanotrasen Type 2 Mindshield. Unlike its progenitor, this chip is suspected to be capable of interfering with the user's decision-making process." + function = "Personnel injected with this device can better resist mental compulsions such as brainwashing and mindslaving. It is theorized that the nanites serve a secondary function of altering the user's neural pathways to promote pro-Syndicate lines of thought." + /datum/implant_fluff/storage name = "Cybersun Industries RX-16 Collapsible Body Cavity Bio-chip" notes = "This bio-chip uses bluespace technology to store items inside the user's body." diff --git a/code/modules/mob/mob_misc_procs.dm b/code/modules/mob/mob_misc_procs.dm index 7d14dc55c0a..d34293352b2 100644 --- a/code/modules/mob/mob_misc_procs.dm +++ b/code/modules/mob/mob_misc_procs.dm @@ -94,8 +94,8 @@ /proc/ismindshielded(A) //Checks to see if the person contains a mindshield implant, then checks that the implant is actually inside of them for(var/obj/item/bio_chip/mindshield/L in A) if(L && L.implanted) - return 1 - return 0 + return TRUE + return FALSE /proc/isLivingSSD(mob/M) return istype(M) && M.player_logged && M.stat != DEAD diff --git a/icons/mob/hud/sechud.dmi b/icons/mob/hud/sechud.dmi index 029faa601db..577f4d49391 100644 Binary files a/icons/mob/hud/sechud.dmi and b/icons/mob/hud/sechud.dmi differ diff --git a/paradise.dme b/paradise.dme index ce47154f2be..3a1244c5bdf 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2461,22 +2461,13 @@ #include "code\modules\mob\living\basic\hostile\killertomato.dm" #include "code\modules\mob\living\basic\hostile\pirate.dm" #include "code\modules\mob\living\basic\hostile\skeleton_mob.dm" +#include "code\modules\mob\living\basic\hostile\soviet.dm" #include "code\modules\mob\living\basic\hostile\alien\alien_mob_ai.dm" #include "code\modules\mob\living\basic\hostile\alien\alien_mob_drone.dm" #include "code\modules\mob\living\basic\hostile\alien\alien_mob_hunter.dm" #include "code\modules\mob\living\basic\hostile\alien\alien_mob_maid.dm" #include "code\modules\mob\living\basic\hostile\alien\alien_mob_queen.dm" #include "code\modules\mob\living\basic\hostile\alien\alien_mob_sentinel.dm" -#include "code\modules\mob\living\basic\mining\basilisk.dm" -#include "code\modules\mob\living\basic\mining\basilisk_ai.dm" -#include "code\modules\mob\living\basic\mining\gutlunch.dm" -#include "code\modules\mob\living\basic\mining\gutlunch_ai.dm" -#include "code\modules\mob\living\basic\mining\hivelord.dm" -#include "code\modules\mob\living\basic\mining\hivelord_ai.dm" -#include "code\modules\mob\living\basic\mining\goldgrub\goldgrub.dm" -#include "code\modules\mob\living\basic\mining\goldgrub\goldgrub_ai.dm" -#include "code\modules\mob\living\basic\mining\mining_mobs.dm" -#include "code\modules\mob\living\basic\hostile\soviet.dm" #include "code\modules\mob\living\basic\hostile\giant_spider\giant_spider.dm" #include "code\modules\mob\living\basic\hostile\giant_spider\giant_spider_actions.dm" #include "code\modules\mob\living\basic\hostile\giant_spider\giant_spider_ai.dm" @@ -2486,6 +2477,15 @@ #include "code\modules\mob\living\basic\minebots\minebot_abilities.dm" #include "code\modules\mob\living\basic\minebots\minebot_ai.dm" #include "code\modules\mob\living\basic\minebots\minebot_upgrades.dm" +#include "code\modules\mob\living\basic\mining\basilisk.dm" +#include "code\modules\mob\living\basic\mining\basilisk_ai.dm" +#include "code\modules\mob\living\basic\mining\gutlunch.dm" +#include "code\modules\mob\living\basic\mining\gutlunch_ai.dm" +#include "code\modules\mob\living\basic\mining\hivelord.dm" +#include "code\modules\mob\living\basic\mining\hivelord_ai.dm" +#include "code\modules\mob\living\basic\mining\mining_mobs.dm" +#include "code\modules\mob\living\basic\mining\goldgrub\goldgrub.dm" +#include "code\modules\mob\living\basic\mining\goldgrub\goldgrub_ai.dm" #include "code\modules\mob\living\basic\nether_mobs\blankbody.dm" #include "code\modules\mob\living\basic\nether_mobs\faithless.dm" #include "code\modules\mob\living\basic\nether_mobs\migo.dm"