mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-29 10:31:34 +00:00
## About The Pull Request <details> - renamed ai folder to announcer -- announcer -- - moved vox_fem to announcer - moved approachingTG to announcer - separated the ambience folder into ambience and instrumental -- ambience -- - created holy folder moved all related sounds there - created engineering folder and moved all related sounds there - created security folder and moved ambidet there - created general folder and moved ambigen there - created icemoon folder and moved all icebox-related ambience there - created medical folder and moved all medbay-related ambi there - created ruin folder and moves all ruins ambi there - created beach folder and moved seag and shore there - created lavaland folder and moved related ambi there - created aurora_caelus folder and placed its ambi there - created misc folder and moved the rest of the files that don't have a specific category into it -- instrumental -- - moved traitor folder here - created lobby_music folder and placed our songs there (title0 not used anywhere? - server-side modification?) -- items -- - moved secdeath to hailer - moved surgery to handling -- effects -- - moved chemistry into effects - moved hallucinations into effects - moved health into effects - moved magic into effects -- vehicles -- - moved mecha into vehicles created mobs folder -- mobs -- - moved creatures folder into mobs - moved voice into mobs renamed creatures to non-humanoids renamed voice to humanoids -- non-humanoids-- created cyborg folder created hiss folder moved harmalarm.ogg to cyborg -- humanoids -- -- misc -- moved ghostwhisper to misc moved insane_low_laugh to misc I give up trying to document this. </details> - [X] ambience - [x] announcer - [x] effects - [X] instrumental - [x] items - [x] machines - [x] misc - [X] mobs - [X] runtime - [X] vehicles - [ ] attributions ## Why It's Good For The Game This folder is so disorganized that it's vomit inducing, will make it easier to find and add new sounds, providng a minor structure to the sound folder. ## Changelog 🆑 grungussuss refactor: the sound folder in the source code has been reorganized, please report any oddities with sounds playing or not playing server: lobby music has been repathed to sound/music/lobby_music /🆑
37 lines
1.7 KiB
Plaintext
37 lines
1.7 KiB
Plaintext
/datum/component/wearertargeting/sitcomlaughter
|
|
valid_slots = list(ITEM_SLOT_HANDS, ITEM_SLOT_BELT, ITEM_SLOT_ID, ITEM_SLOT_LPOCKET, ITEM_SLOT_RPOCKET, ITEM_SLOT_SUITSTORE, ITEM_SLOT_DEX_STORAGE)
|
|
signals = list(COMSIG_MOB_HIT_BY_SPLAT, COMSIG_ON_CARBON_SLIP, COMSIG_POST_TILT_AND_CRUSH, COMSIG_MOB_CLUMSY_SHOOT_FOOT)
|
|
proctype = PROC_REF(EngageInComedy)
|
|
mobtype = /mob/living
|
|
///Sounds used for when user has a sitcom action occur
|
|
var/list/comedysounds = list('sound/items/sitcom_laugh/sitcomLaugh1.ogg', 'sound/items/sitcom_laugh/sitcomLaugh2.ogg', 'sound/items/sitcom_laugh/sitcomLaugh3.ogg')
|
|
///Invoked in EngageInComedy is ran
|
|
var/datum/callback/post_comedy_callback
|
|
///Cooldown for inbetween laughs
|
|
var/cooldown_time = 3 SECONDS
|
|
/// Delay before laugh starts
|
|
var/laugh_delay = 0.4 SECONDS
|
|
|
|
COOLDOWN_DECLARE(laugh_cooldown)
|
|
|
|
/datum/component/wearertargeting/sitcomlaughter/Initialize(post_comedy_callback, laugh_delay)
|
|
. = ..()
|
|
if(.) //If this is set something went wrong and we shouldn't init
|
|
return
|
|
src.post_comedy_callback = post_comedy_callback
|
|
if(laugh_delay)
|
|
src.laugh_delay = laugh_delay
|
|
|
|
/datum/component/wearertargeting/sitcomlaughter/Destroy(force)
|
|
post_comedy_callback = null
|
|
return ..()
|
|
|
|
///Play the laugh track if any of the signals related to comedy have been sent.
|
|
/datum/component/wearertargeting/sitcomlaughter/proc/EngageInComedy(datum/source)
|
|
SIGNAL_HANDLER
|
|
if(!COOLDOWN_FINISHED(src, laugh_cooldown))
|
|
return
|
|
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), parent, pick(comedysounds), 100, FALSE, SHORT_RANGE_SOUND_EXTRARANGE), laugh_delay)
|
|
post_comedy_callback?.Invoke(source)
|
|
COOLDOWN_START(src, laugh_cooldown, cooldown_time)
|