RADIATION SUITS:

- New look
- Radiation suit alone will now absorb 75% of rad damage, same as the RIG suit.
- Radiation hood added, will absorb 35% of radiation damage
- Radiation checks now check for both your outerwear and headgear. The sum of the radiation protection is used when determining damage.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1061 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
baloh.matevz
2011-02-18 05:04:00 +00:00
parent 1874f83aca
commit b34a72063d
8 changed files with 40 additions and 15 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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)

View File

@@ -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 <b>You feel odd.</b>"
else
M << "\red <b>You feel sick.</b>"
M.toxloss += toxloss
M.radiation += radiation
M.updatehealth()
M << "\red You feel odd."
return