Skip to content

Commit

Permalink
another dono mask (#2227)
Browse files Browse the repository at this point in the history
* test up

* eaeae

* Update donator_clothing.dm

* Update donator_clothing.dm

* Update donator_personal.dm

* Update donator_clothing.dm

Co-authored-by: candle :) <[email protected]>
  • Loading branch information
Steals-The-PRs and CandleJaxx authored Mar 2, 2024
1 parent 5650c4f commit fe9e50f
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 0 deletions.
Binary file modified modular_nova/master_files/icons/donator/mob/clothing/mask.dmi
Binary file not shown.
Binary file modified modular_nova/master_files/icons/donator/obj/clothing/masks.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -918,6 +918,78 @@
worn_icon = 'modular_nova/master_files/icons/donator/mob/clothing/uniform.dmi'
icon_state = "plasmaman_jax"

// Donation reward for snakebitenn
/datum/action/item_action/adjust/psychomalicek/Trigger(trigger_flags)
. = ..()
if(!.)
return
var/obj/item/clothing/mask/gas/psycho_malice/psycho_malice = target
if(trigger_flags & TRIGGER_SECONDARY_ACTION)
psycho_malice.adjust_mask(usr)
else
psycho_malice.reskin_obj(usr)

/obj/item/clothing/mask/gas/psycho_malice
name = "composite filtration mask"
desc = "Less of a mask and more of a second face, this device was primarily useful for climate-adjustment and keeping unwanted gasses and particulates out of whoever it's on. However, it's since been adapted into a faceplate for use by humanoid machines."
icon = 'modular_nova/master_files/icons/donator/obj/clothing/masks.dmi'
worn_icon = 'modular_nova/master_files/icons/donator/mob/clothing/mask.dmi'
icon_state = "psychomalice"
w_class = WEIGHT_CLASS_SMALL
tint = 0
flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES | PEPPERPROOF
visor_flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES | PEPPERPROOF
clothing_flags = VOICEBOX_DISABLED | MASKINTERNALS | BLOCK_GAS_SMOKE_EFFECT | GAS_FILTERING
/// Whether or not the mask is currently being layered over (or under!) hair. FALSE/null means the mask is layered over the hair (this is how it starts off).
var/wear_hair_over

/obj/item/clothing/mask/gas/psycho_malice/examine(mob/user)
. = ..()
. += span_notice("You can toggle its ability to muffle your TTS voice with <b>control click</b>.")

/obj/item/clothing/mask/gas/psycho_malice/CtrlClick(mob/living/user)
if(!isliving(user))
return
if(user.get_active_held_item() != src)
to_chat(user, span_warning("You must hold the [src] in your hand to do this!"))
return
voice_filter = voice_filter ? null : initial(voice_filter)
to_chat(user, span_notice("Mask voice muffling [voice_filter ? "enabled" : "disabled"]."))

/obj/item/clothing/mask/gas/psycho_malice/Initialize(mapload)
. = ..()
register_context()
if(wear_hair_over)
alternate_worn_layer = BACK_LAYER

/obj/item/clothing/mask/gas/psycho_malice/alt_click_secondary(mob/user)
. = ..()
if(.)
return
if(user.can_perform_action(src, NEED_DEXTERITY))
adjust_mask(user)

//this moves the mask above or below the hair layer
/obj/item/clothing/mask/gas/psycho_malice/proc/adjust_mask(mob/living/carbon/human/user)
if(!istype(user))
return
if(!user.incapacitated())
var/is_worn = user.wear_mask == src
wear_hair_over = !wear_hair_over
if(wear_hair_over)
alternate_worn_layer = BACK_LAYER
to_chat(user, "You [is_worn ? "" : "will "]sweep your hair over the mask.")
else
alternate_worn_layer = initial(alternate_worn_layer)
to_chat(user, "You [is_worn ? "" : "will "]sweep your hair under the mask.")

user.update_worn_mask()

/obj/item/clothing/mask/gas/psycho_malice/dropped(mob/living/carbon/human/user)
var/prev_alternate_worn_layer = alternate_worn_layer
. = ..()
alternate_worn_layer = prev_alternate_worn_layer

// Donation reward for Raxraus
/obj/item/clothing/shoes/combat/rax
name = "tactical boots"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,11 @@
item_path = /obj/item/clothing/under/plasmaman/candlejax2
ckeywhitelist = list("candlejax")

/datum/loadout_item/mask/composite_filtration
name = "Composite Filtration Mask"
item_path = /obj/item/clothing/mask/gas/psycho_malice
ckeywhitelist = list("snakebitenn")

/datum/loadout_item/suit/jacket/cherno
name = "Blue-Silvered Coat"
item_path = /obj/item/clothing/suit/jacket/cherno
Expand Down

0 comments on commit fe9e50f

Please sign in to comment.