diff --git a/code/defines/obj/clothing/head.dm b/code/defines/obj/clothing/head.dm
index 84e4ba6fa6..817a76ee26 100644
--- a/code/defines/obj/clothing/head.dm
+++ b/code/defines/obj/clothing/head.dm
@@ -6,6 +6,12 @@
body_parts_covered = HEAD
var/list/allowed = list(/obj/item/weapon/pen)
+/obj/item/clothing/head/radiation
+ name = "Radiation Hood"
+ icon_state = "rad"
+ radiation_protection = 0.35
+ flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH
+
/obj/item/clothing/head/bio_hood
name = "bio hood"
icon_state = "bio"
diff --git a/code/defines/obj/clothing/suit.dm b/code/defines/obj/clothing/suit.dm
index 3ba8ccadac..86725b2be0 100644
--- a/code/defines/obj/clothing/suit.dm
+++ b/code/defines/obj/clothing/suit.dm
@@ -236,7 +236,7 @@
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
heat_transfer_coefficient = 1
- radiation_protection = 1
+ radiation_protection = 0.75
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 1.3
diff --git a/code/game/objects/storage/crates.dm b/code/game/objects/storage/crates.dm
index 99063de78d..7857723a54 100644
--- a/code/game/objects/storage/crates.dm
+++ b/code/game/objects/storage/crates.dm
@@ -191,6 +191,10 @@
new /obj/item/clothing/suit/radiation(src)
new /obj/item/clothing/suit/radiation(src)
new /obj/item/clothing/suit/radiation(src)
+ new /obj/item/clothing/head/radiation(src)
+ new /obj/item/clothing/head/radiation(src)
+ new /obj/item/clothing/head/radiation(src)
+ new /obj/item/clothing/head/radiation(src)
/obj/crate/proc/open()
playsound(src.loc, 'click.ogg', 15, 1, -3)
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 942812c6e7..7f335e16f5 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -351,27 +351,42 @@ var/global/list/uneatable = list(
radiation = round(((src.energy-150)/50)*5,1)
for(var/mob/living/carbon/M in view(toxrange, src.loc))
if(istype(M,/mob/living/carbon/human))
+ var/P = 0
if(M:wear_suit)
- var/P = M:wear_suit.radiation_protection
- if (P > 0)
- if (P == 1)
+ P += M:wear_suit.radiation_protection
+ if(M:head)
+ P += M:head.radiation_protection
+ if (P > 0)
+ if (P >= 1)
+ if(M:wear_suit)
M << "The [M:wear_suit] beeps, indicating it just received a burst of radiation. Good thing you had it on."
- return
- if (toxloss >= 100)
- toxloss = 100 - (P * 100) //a suit which protects you from 10% radiation will make you only receive 90 damage even if you're showered with a MILLION points of toxloss
+ else if (M:head)
+ M << "The [M:head] beeps, indicating it just received a burst of radiation. Good thing you had it on."
else
- toxloss = toxloss - (P * toxloss)
- if (radiation > 15)
- radiation = 15 - (15 * P)
- else
- radiation = radiation - (P * radiation)
- M << "\red The [M:wear_suit] absorbs some of the radiation from the singularity."
+ M << "Your body deflects all the radiation"
+ return
+ if (toxloss >= 100)
+ toxloss = 100 - (P * 100) //a suit and/or headgear which protects you from 10% radiation will make you only receive 90 damage even if you're showered with a MILLION points of toxloss
else
- M << "\red You feel odd."
+ toxloss = toxloss - (P * toxloss)
+ if (radiation > 15)
+ radiation = 15 - (15 * P)
+ else
+ radiation = radiation - (P * radiation)
+ if(M:wear_suit)
+ M << "\red The [M:wear_suit] absorbs some of the radiation from the singularity."
+ else if (M:head)
+ M << "\red The [M:head] absorbs some of the radiation from the singularity."
+ else
+ M << "\red Your body protects you from some of the radiation."
+ else
+ if(prob(50))
+ M << "\red You feel odd."
+ else
+ M << "\red You feel sick."
M.toxloss += toxloss
M.radiation += radiation
M.updatehealth()
- M << "\red You feel odd."
return
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index d56de929ef..197132f37d 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi
index 269be0181d..45764f9810 100644
Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index 67b945bf51..10945fc53c 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi
index 063b937420..970f8cbc7b 100644
Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ