Merge pull request #4371 from Anewbe/phoron_contamination

Contaminated items now respect gloves
This commit is contained in:
Neerti
2017-11-30 20:43:27 -05:00
committed by GitHub
5 changed files with 45 additions and 18 deletions

View File

@@ -16,6 +16,7 @@
siemens_coefficient = 0.9
species_restricted = list("exclude","Diona")
preserve_item = 1
phoronproof = 1
var/obj/machinery/camera/camera
var/list/camera_networks
@@ -61,6 +62,7 @@
siemens_coefficient = 0.9
species_restricted = list("exclude","Diona")
preserve_item = 1
phoronproof = 1
var/list/supporting_limbs //If not-null, automatically splints breaks. Checked when removing the suit.

View File

@@ -8,6 +8,8 @@
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR
body_parts_covered = HEAD|FACE|EYES
siemens_coefficient = 0.9
item_flags = THICKMATERIAL
phoronproof = 1
/obj/item/clothing/suit/bio_suit
name = "bio suit"
@@ -16,12 +18,14 @@
w_class = ITEMSIZE_LARGE//bulky item
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS|FEET
slowdown = 1.0
allowed = list(/obj/item/weapon/tank/emergency/oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
siemens_coefficient = 0.9
item_flags = THICKMATERIAL
phoronproof = 1
//Standard biosuit, orange stripe
/obj/item/clothing/head/bio_hood/general

View File

@@ -95,4 +95,4 @@
slowdown = 1.5
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100)
flags_inv = HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
item_flags = THICKMATERIAL
item_flags = THICKMATERIAL

View File

@@ -820,18 +820,34 @@
if(!isSynthetic())
if(touching) touching.metabolize()
if(ingested) ingested.metabolize()
if(bloodstr) bloodstr.metabolize()
if(touching)
touching.metabolize()
if(ingested)
ingested.metabolize()
if(bloodstr)
bloodstr.metabolize()
var/total_phoronloss = 0
for(var/obj/item/I in src)
if(I.contaminated)
if(src.species && src.species.get_bodytype() != "Vox")
total_phoronloss += vsc.plc.CONTAMINATION_LOSS
if(!(status_flags & GODMODE)) adjustToxLoss(total_phoronloss)
// This is hacky, I'm so sorry.
if(I != l_hand && I != r_hand) //If the item isn't in your hands, you're probably wearing it. Full damage for you.
total_phoronloss += vsc.plc.CONTAMINATION_LOSS
else if(I == l_hand) //If the item is in your hands, but you're wearing protection, you might be alright.
var/l_hand_blocked = 0
l_hand_blocked = 1-(100-getarmor(BP_L_HAND, "bio"))/100 //This should get a number between 0 and 1
total_phoronloss += vsc.plc.CONTAMINATION_LOSS * l_hand_blocked
else if(I == r_hand) //If the item is in your hands, but you're wearing protection, you might be alright.
var/r_hand_blocked = 0
r_hand_blocked = 1-(100-getarmor(BP_R_HAND, "bio"))/100 //This should get a number between 0 and 1
total_phoronloss += vsc.plc.CONTAMINATION_LOSS * r_hand_blocked
if(total_phoronloss)
if(!(status_flags & GODMODE))
adjustToxLoss(total_phoronloss)
if(status_flags & GODMODE) return 0 //godmode
if(status_flags & GODMODE)
return 0 //godmode
var/obj/item/organ/internal/diona/node/light_organ = locate() in internal_organs