Files
Bubberstation/code/modules/paperwork/stamps.dm
SkyratBot 65671e7327 [MIRROR] Adds a stamp sound effect when stamping papers [MDB IGNORE] (#18466)
* Adds a stamp sound effect when stamping papers (#72367)

## About The Pull Request

This pull request adds a .ogg file of a stamp stamping a paper, a
playsound function for stamping a paper, stamping a paper while blind,
and stamping yourself in the head to commit suicide.

In addition, it modifies the attributions.txt file to include credits to
the creator of the stamp noise.

## Why It's Good For The Game

Most item interactions tend to have a sound effect that plays. Putting
most items down, throwing them, cutting certain items with the knife,
scanning bounty cubes, putting a destination tag on a package, etc. all
play sounds, which makes it a bit odd that stamping papers doesn't. This
PR adds audio feedback to stamping papers.

https://user-images.githubusercontent.com/45489195/210032424-d3168a16-3d4b-47d3-95f3-75a1d3a6aac9.mp4

## Changelog

Stamping paper now makes noise.

🆑
soundadd: Added a new sound for stamping papers with a stamp. On an
unrelated note, there are reports of stamp-based suicides becoming more
noisy.
/🆑

* Adds a stamp sound effect when stamping papers

Co-authored-by: RedBaronFlyer <45489195+RedBaronFlyer@users.noreply.github.com>
2023-01-03 17:34:45 +00:00

105 lines
2.6 KiB
Plaintext

/obj/item/stamp
name = "\improper GRANTED rubber stamp"
desc = "A rubber stamp for stamping important documents."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "stamp-ok"
inhand_icon_state = "stamp"
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_speed = 3
throw_range = 7
custom_materials = list(/datum/material/iron=60)
pressure_resistance = 2
attack_verb_continuous = list("stamps")
attack_verb_simple = list("stamp")
/obj/item/stamp/suicide_act(mob/living/user)
user.visible_message(span_suicide("[user] stamps 'VOID' on [user.p_their()] forehead, then promptly falls over, dead."))
playsound(src, 'sound/items/handling/standard_stamp.ogg', 50, vary = TRUE)
return OXYLOSS
/obj/item/stamp/get_writing_implement_details()
var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/simple/paper)
return list(
interaction_mode = MODE_STAMPING,
stamp_icon_state = icon_state,
stamp_class = sheet.icon_class_name(icon_state)
)
/obj/item/stamp/qm
name = "quartermaster's rubber stamp"
icon_state = "stamp-qm"
dye_color = DYE_QM
/obj/item/stamp/law
name = "law office's rubber stamp"
icon_state = "stamp-law"
dye_color = DYE_LAW
/obj/item/stamp/captain
name = "captain's rubber stamp"
icon_state = "stamp-cap"
dye_color = DYE_CAPTAIN
/obj/item/stamp/hop
name = "head of personnel's rubber stamp"
icon_state = "stamp-hop"
dye_color = DYE_HOP
/obj/item/stamp/hos
name = "head of security's rubber stamp"
icon_state = "stamp-hos"
dye_color = DYE_HOS
/obj/item/stamp/ce
name = "chief engineer's rubber stamp"
icon_state = "stamp-ce"
dye_color = DYE_CE
/obj/item/stamp/rd
name = "research director's rubber stamp"
icon_state = "stamp-rd"
dye_color = DYE_RD
/obj/item/stamp/cmo
name = "chief medical officer's rubber stamp"
icon_state = "stamp-cmo"
dye_color = DYE_CMO
/obj/item/stamp/denied
name = "\improper DENIED rubber stamp"
icon_state = "stamp-deny"
dye_color = DYE_REDCOAT
/obj/item/stamp/void
name = "VOID rubber stamp"
icon_state = "stamp-void"
/obj/item/stamp/clown
name = "clown's rubber stamp"
icon_state = "stamp-clown"
dye_color = DYE_CLOWN
/obj/item/stamp/mime
name = "mime's rubber stamp"
icon_state = "stamp-mime"
dye_color = DYE_MIME
/obj/item/stamp/chap
name = "chaplain's rubber stamp"
icon_state = "stamp-chap"
dye_color = DYE_CHAP
/obj/item/stamp/centcom
name = "CentCom rubber stamp"
icon_state = "stamp-centcom"
dye_color = DYE_CENTCOM
/obj/item/stamp/syndicate
name = "Syndicate rubber stamp"
icon_state = "stamp-syndicate"
dye_color = DYE_SYNDICATE
/obj/item/stamp/attack_paw(mob/user, list/modifiers)
return attack_hand(user, modifiers)