mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
Transparent protection for clothing [READY] (#42075)
* Transparent_protection * No longer protects captain mask webedit? * Use NONE
This commit is contained in:
@@ -72,6 +72,7 @@
|
||||
desc = "A protective & concealing hood."
|
||||
armor = list("melee" = 35, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60)
|
||||
flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR
|
||||
transparent_protection = HIDEMASK
|
||||
|
||||
/obj/item/clothing/suit/hooded/cloak/drake
|
||||
name = "drake armour"
|
||||
@@ -84,6 +85,7 @@
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
transparent_protection = HIDEGLOVES|HIDESUITSTORAGE|HIDEJUMPSUIT|HIDESHOES
|
||||
|
||||
/obj/item/clothing/head/hooded/cloakhood/drake
|
||||
name = "drake helm"
|
||||
|
||||
@@ -385,12 +385,14 @@
|
||||
drop_all_held_items()
|
||||
|
||||
|
||||
/mob/living/carbon/proc/check_obscured_slots()
|
||||
/mob/living/carbon/proc/check_obscured_slots(transparent_protection)
|
||||
var/list/obscured = list()
|
||||
var/hidden_slots = NONE
|
||||
|
||||
for(var/obj/item/I in get_equipped_items())
|
||||
hidden_slots |= I.flags_inv
|
||||
if(transparent_protection)
|
||||
hidden_slots |= I.transparent_protection
|
||||
|
||||
if(hidden_slots & HIDENECK)
|
||||
obscured |= SLOT_NECK
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
|
||||
if(href_list["item"]) //canUseTopic check for this is handled by mob/Topic()
|
||||
var/slot = text2num(href_list["item"])
|
||||
if(slot in check_obscured_slots())
|
||||
if(slot in check_obscured_slots(TRUE))
|
||||
to_chat(usr, "<span class='warning'>You can't reach that! Something is covering it.</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -492,7 +492,7 @@
|
||||
L.receive_damage(0,5)
|
||||
Paralyze(100)
|
||||
|
||||
/mob/living/carbon/human/acid_act(acidpwr, acid_volume, bodyzone_hit) //todo: update this to utilize check_obscured_slots()
|
||||
/mob/living/carbon/human/acid_act(acidpwr, acid_volume, bodyzone_hit) //todo: update this to utilize check_obscured_slots() //and make sure it's check_obscured_slots(TRUE) to stop aciding through visors etc
|
||||
var/list/damaged = list()
|
||||
var/list/inventory_items_to_kill = list()
|
||||
var/acidity = acidpwr * min(acid_volume*0.005, 0.1)
|
||||
|
||||
@@ -1579,7 +1579,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
if(H.on_fire)
|
||||
//the fire tries to damage the exposed clothes and items
|
||||
var/list/burning_items = list()
|
||||
var/list/obscured = H.check_obscured_slots()
|
||||
var/list/obscured = H.check_obscured_slots(TRUE)
|
||||
//HEAD//
|
||||
|
||||
if(H.glasses && !(SLOT_GLASSES in obscured))
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
//the fire tries to damage the exposed clothes and items
|
||||
var/list/burning_items = list()
|
||||
//HEAD//
|
||||
var/list/obscured = check_obscured_slots()
|
||||
var/list/obscured = check_obscured_slots(TRUE)
|
||||
if(wear_mask && !(SLOT_WEAR_MASK in obscured))
|
||||
burning_items += wear_mask
|
||||
if(wear_neck && !(SLOT_NECK in obscured))
|
||||
|
||||
Reference in New Issue
Block a user