Skip to content

Commit

Permalink
atp mask
Browse files Browse the repository at this point in the history
  • Loading branch information
PotatoTomahto committed Dec 14, 2024
1 parent ca830d4 commit cc21aca
Show file tree
Hide file tree
Showing 12 changed files with 46 additions and 0 deletions.
Binary file modified icons/mob/effects/talk.dmi
Binary file not shown.
37 changes: 37 additions & 0 deletions monkestation/code/modules/clothing/masks/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,3 +136,40 @@
visor_flags_inv = HIDEFACE|HIDEFACIALHAIR
visor_flags_cover = MASKCOVERSMOUTH
slot_flags = ITEM_SLOT_MASK

/obj/item/clothing/mask/gas/atp
name = "\improper A.T.P. engineer mask"
desc = "Not rated for bullets, stop trying. Also not rated for killer clowns with stop signs."
icon = 'monkestation/icons/obj/clothing/masks.dmi'
worn_icon = 'monkestation/icons/mob/clothing/mask.dmi'
icon_state = "atp_mask"
flags_inv = HIDEFACE|HIDEFACIALHAIR|HIDESNOUT
// inhand_icon_state = "gas_alt"
modifies_speech = TRUE
COOLDOWN_DECLARE(spamcheck)

/obj/item/clothing/mask/gas/atp/handle_speech(datum/source, list/speech_args)
if(COOLDOWN_FINISHED(src, spamcheck))
var/speaksound = pick('monkestation/sound/items/atp_speak1.ogg', 'monkestation/sound/items/atp_speak2.ogg', 'monkestation/sound/items/atp_speak3.ogg', 'monkestation/sound/items/atp_speak4.ogg', 'monkestation/sound/items/atp_speak5.ogg')
playsound(src, speaksound, 35, FALSE, SHORT_RANGE_SOUND_EXTRARANGE-2, falloff_exponent = 0, ignore_walls = FALSE, use_reverb = FALSE)
COOLDOWN_START(src, spamcheck, 3 SECONDS)

/obj/item/clothing/mask/gas/atp/equipped(mob/living/equipee, slot)
. = ..()
if(slot & ITEM_SLOT_MASK)
RegisterSignal(equipee, COMSIG_MOB_UNEQUIPPED_ITEM, PROC_REF(item_removed))
RegisterSignal(equipee, COMSIG_LIVING_DEATH, PROC_REF(death_sound))
if(istype(equipee))
equipee.bubble_icon = "atp"

/obj/item/clothing/mask/gas/atp/proc/item_removed(mob/living/wearer, obj/item/dropped_item)
SIGNAL_HANDLER
if(dropped_item != src)
return
UnregisterSignal(wearer, list(COMSIG_MOB_UNEQUIPPED_ITEM, COMSIG_LIVING_DEATH))
if(istype(wearer))
wearer.bubble_icon = initial(wearer.bubble_icon)

/obj/item/clothing/mask/gas/atp/proc/death_sound(mob/living/equipee)
SIGNAL_HANDLER
playsound(src, 'monkestation/sound/items/atp_death_sound.ogg', 20, FALSE, SHORT_RANGE_SOUND_EXTRARANGE, ignore_walls = FALSE)
4 changes: 4 additions & 0 deletions monkestation/code/modules/loadouts/items/masks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ GLOBAL_LIST_INIT(loadout_masks, generate_loadout_items(/datum/loadout_item/mask)
name = "Gas Mask"
item_path = /obj/item/clothing/mask/gas

/datum/loadout_item/mask/atp_mask
name = "ATP Engineer Mask"
item_path = /obj/item/clothing/mask/gas/atp

/*
* JOB-LOCKED
*/
Expand Down
5 changes: 5 additions & 0 deletions monkestation/code/modules/store/store_items/masks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ GLOBAL_LIST_INIT(store_masks, generate_store_items(/datum/store_item/mask))
item_path = /obj/item/clothing/mask/gas
item_cost = 4000

/datum/store_item/mask/atp_mask
name = "ATP Engineer Mask"
item_path = /obj/item/clothing/mask/gas/atp
item_cost = 5000

/*
* JOB-LOCKED
*/
Expand Down
Binary file modified monkestation/icons/mob/clothing/mask.dmi
Binary file not shown.
Binary file modified monkestation/icons/obj/clothing/masks.dmi
Binary file not shown.
Binary file added monkestation/sound/items/atp_death_sound.ogg
Binary file not shown.
Binary file added monkestation/sound/items/atp_speak1.ogg
Binary file not shown.
Binary file added monkestation/sound/items/atp_speak2.ogg
Binary file not shown.
Binary file added monkestation/sound/items/atp_speak3.ogg
Binary file not shown.
Binary file added monkestation/sound/items/atp_speak4.ogg
Binary file not shown.
Binary file added monkestation/sound/items/atp_speak5.ogg
Binary file not shown.

0 comments on commit cc21aca

Please sign in to comment.