diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm
index 7a83599356..6487d3f8b1 100644
--- a/code/controllers/subsystem/traumas.dm
+++ b/code/controllers/subsystem/traumas.dm
@@ -28,7 +28,8 @@ SUBSYSTEM_DEF(traumas)
"authority" = strings(PHOBIA_FILE, "authority"),
"the supernatural" = strings(PHOBIA_FILE, "the supernatural"),
"aliens" = strings(PHOBIA_FILE, "aliens"),
- "strangers" = strings(PHOBIA_FILE, "strangers")
+ "strangers" = strings(PHOBIA_FILE, "strangers"),
+ "conspiracies" = strings(PHOBIA_FILE, "conspiracies")
)
phobia_mobs = list("spiders" = typecacheof(list(/mob/living/simple_animal/hostile/poison/giant_spider)),
@@ -42,7 +43,8 @@ SUBSYSTEM_DEF(traumas)
"the supernatural" = typecacheof(list(/mob/living/simple_animal/hostile/construct,
/mob/living/simple_animal/hostile/clockwork, /mob/living/simple_animal/drone/cogscarab,
/mob/living/simple_animal/revenant, /mob/living/simple_animal/shade)),
- "aliens" = typecacheof(list(/mob/living/carbon/alien, /mob/living/simple_animal/slime))
+ "aliens" = typecacheof(list(/mob/living/carbon/alien, /mob/living/simple_animal/slime)),
+ "conspiracies" = typecacheof(list(/mob/living/simple_animal/bot/secbot, /mob/living/simple_animal/bot/ed209, /mob/living/simple_animal/drone))
)
phobia_objs = list("spiders" = typecacheof(list(/obj/structure/spider)),
@@ -65,7 +67,19 @@ SUBSYSTEM_DEF(traumas)
"skeletons" = typecacheof(list(/obj/item/organ/tongue/bone, /obj/item/clothing/suit/armor/bone, /obj/item/stack/sheet/bone,
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton,
/obj/effect/decal/remains/human)),
-
+ "conspiracies" = typecacheof(list(/obj/item/clothing/under/rank/captain, /obj/item/clothing/under/rank/head_of_security,
+ /obj/item/clothing/under/rank/chief_engineer, /obj/item/clothing/under/rank/chief_medical_officer,
+ /obj/item/clothing/under/rank/head_of_personnel, /obj/item/clothing/under/rank/research_director,
+ /obj/item/clothing/under/rank/head_of_security/grey, /obj/item/clothing/under/rank/head_of_security/alt,
+ /obj/item/clothing/under/rank/research_director/alt, /obj/item/clothing/under/rank/research_director/turtleneck,
+ /obj/item/clothing/under/captainparade, /obj/item/clothing/under/hosparademale, /obj/item/clothing/under/hosparadefem,
+ /obj/item/clothing/head/helmet/abductor, /obj/item/clothing/suit/armor/abductor/vest, /obj/item/abductor_baton,
+ /obj/item/storage/belt/military/abductor, /obj/item/gun/energy/alien, /obj/item/device/abductor/silencer,
+ /obj/item/device/abductor/gizmo, /obj/item/clothing/under/rank/centcom_officer,
+ /obj/item/clothing/suit/space/hardsuit/ert, /obj/item/clothing/suit/space/hardsuit/ert/sec,
+ /obj/item/clothing/suit/space/hardsuit/ert/engi, /obj/item/clothing/suit/space/hardsuit/ert/med,
+ /obj/item/clothing/suit/space/hardsuit/deathsquad, /obj/item/clothing/head/helmet/space/hardsuit/deathsquad,
+ /obj/machinery/door/airlock/centcom)),
"robots" = typecacheof(list(/obj/machinery/computer/upload, /obj/item/aiModule/, /obj/machinery/recharge_station,
/obj/item/device/aicard, /obj/item/device/deactivated_swarmer, /obj/effect/mob_spawn/swarmer)),
@@ -118,6 +132,7 @@ SUBSYSTEM_DEF(traumas)
phobia_species = list("lizards" = typecacheof(list(/datum/species/lizard)),
"skeletons" = typecacheof(list(/datum/species/skeleton, /datum/species/plasmaman)),
+ "conspiracies" = typecacheof(list(/datum/species/abductor, /datum/species/lizard, /datum/species/synth)),
"robots" = typecacheof(list(/datum/species/android)),
"the supernatural" = typecacheof(list(/datum/species/golem/clockwork, /datum/species/golem/runic)),
"aliens" = typecacheof(list(/datum/species/abductor, /datum/species/jelly, /datum/species/pod,
diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm
index e59ae54a09..e9101742d2 100644
--- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm
+++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm
@@ -338,6 +338,10 @@
if(QDELETED(G))
return
+ if(istype(C.get_item_by_slot(slot_head), /obj/item/clothing/head/foilhat))
+ to_chat(user, "Your target seems to have some sort of protective headgear on, blocking the message from being sent!")
+ return
+
G.mind_control(command, user)
to_chat(user, "You send the command to your target.")
@@ -511,12 +515,23 @@ Congratulations! You are now trained for invasive xenobiology research!"}
/obj/item/abductor_baton/proc/SleepAttack(mob/living/L,mob/living/user)
if(L.incapacitated(TRUE, TRUE))
+ if(istype(L.get_item_by_slot(slot_head), /obj/item/clothing/head/foilhat))
+ to_chat(user, "The specimen's protective headgear is interfering with the sleep inducement!")
+ L.visible_message("[user] tried to induced sleep in [L] with [src], but their headgear protected them!", \
+ "You feel a strange wave of heavy drowsiness wash over you, but your headgear deflects most of it!")
+ L.drowsyness += 2
+ return
L.visible_message("[user] has induced sleep in [L] with [src]!", \
"You suddenly feel very drowsy!")
playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1)
L.Sleeping(1200)
add_logs(user, L, "put to sleep")
else
+ if(istype(L.get_item_by_slot(slot_head), /obj/item/clothing/head/foilhat))
+ to_chat(user, "The specimen's protective headgear is completely blocking our sleep inducement methods!")
+ L.visible_message("[user] tried to induce sleep in [L] with [src], but their headgear completely protected them!", \
+ "Any sense of drowsiness is quickly diminished as your headgear deflects the effects!")
+ return
L.drowsyness += 1
to_chat(user, "Sleep inducement works fully only on stunned specimens! ")
L.visible_message("[user] tried to induce sleep in [L] with [src]!", \
diff --git a/code/modules/antagonists/abductor/machinery/console.dm b/code/modules/antagonists/abductor/machinery/console.dm
index 0b13c359eb..bbb224beeb 100644
--- a/code/modules/antagonists/abductor/machinery/console.dm
+++ b/code/modules/antagonists/abductor/machinery/console.dm
@@ -166,6 +166,9 @@
c.console = src
/obj/machinery/abductor/console/proc/AddSnapshot(mob/living/carbon/human/target)
+ if(istype(target.get_item_by_slot(slot_head), /obj/item/clothing/head/foilhat))
+ say("Subject wearing specialized protective headgear, unable to get a proper scan!")
+ return
var/datum/icon_snapshot/entry = new
entry.name = target.name
entry.icon = target.icon
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index fe238f3ab7..d220018ccc 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -218,3 +218,16 @@
hair_style = pick(GLOB.hair_styles_list - "Bald") //Don't want invisible wig
hair_color = "#[random_short_color()]"
. = ..()
+
+/obj/item/clothing/head/foilhat
+ name = "tinfoil hat"
+ desc = "Thought control rays, psychotronic scanning. Don't mind that, I'm protected cause I made this hat."
+ icon_state = "foilhat"
+ item_state = "foilhat"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = -5,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = -5, "fire" = 0, "acid" = 0)
+
+/obj/item/clothing/head/foilhat/equipped(mob/living/carbon/human/user, slot)
+ if(slot == slot_head)
+ user.gain_trauma(/datum/brain_trauma/mild/phobia, FALSE, "conspiracies")
+ to_chat(user, "As you don the foiled hat, an entire world of conspiracy theories and seemingly insane ideas suddenly rush into your mind. What you once thought unbelievable suddenly seems.. undeniable. Everything is connected and nothing happens just by accident. You know too much and now they're out to get you. ")
+ flags_1 |= NODROP_1
diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm
index 90be65bc53..25e2c8115c 100644
--- a/code/modules/research/designs/autolathe_designs.dm
+++ b/code/modules/research/designs/autolathe_designs.dm
@@ -343,6 +343,14 @@
build_path = /obj/item/hatchet
category = list("initial","Misc")
+/datum/design/foilhat
+ name = "Tinfoil Hat"
+ id = "tinfoil_hat"
+ build_type = AUTOLATHE
+ materials = list(MAT_METAL = 5500)
+ build_path = /obj/item/clothing/head/foilhat
+ category = list("hacked", "Misc")
+
/datum/design/scalpel
name = "Scalpel"
id = "scalpel"
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index f02687eadf..d180eb445c 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index 2a6d2004b3..e97dc22159 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/strings/phobia.json b/strings/phobia.json
index 93125d1a51..d21e89aeb9 100644
--- a/strings/phobia.json
+++ b/strings/phobia.json
@@ -25,6 +25,42 @@
"brig",
"gulag"
],
+
+ "conspiracies": [
+ "central command",
+ "command",
+ "chain of command",
+ "heads of staff",
+ "head of security",
+ " hos ",
+ "head of personnel",
+ " hop ",
+ "head of research",
+ " rd ",
+ "chief medical officer",
+ " cmo ",
+ "chief engineer",
+ " ce ",
+ "captain",
+ "deathsquad",
+ "death squad",
+ "alien",
+ "xeno",
+ "abductor",
+ " ayy",
+ "gray",
+ "grey",
+ "ufo",
+ "big pharma",
+ "government",
+ "steel beam",
+ "jet fuel",
+ "round earth",
+ "chem trail",
+ "illuminati",
+ "second shooter",
+ "freemason"
+ ],
"clowns": [
"clown",