mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 21:18:37 +01: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 /🆑
69 lines
2.6 KiB
Plaintext
69 lines
2.6 KiB
Plaintext
/**
|
|
* This component awards the sisyphus achievement if you cart a boulder from lavaland to centcom
|
|
* It's not really reusable but its a component just to encapsulate and destroy the behaviour neatly
|
|
*/
|
|
/datum/component/sisyphus_awarder
|
|
/// What poor sap is hauling this rock?
|
|
var/mob/living/sisyphus
|
|
/// Reference to a place where it all started.
|
|
var/turf/bottom_of_the_hill
|
|
|
|
/datum/component/sisyphus_awarder/Initialize()
|
|
if (!istype(parent, /obj/item/boulder))
|
|
return COMPONENT_INCOMPATIBLE
|
|
|
|
/datum/component/sisyphus_awarder/RegisterWithParent()
|
|
RegisterSignal(parent, COMSIG_ITEM_POST_EQUIPPED, PROC_REF(on_picked_up))
|
|
|
|
/datum/component/sisyphus_awarder/UnregisterFromParent()
|
|
UnregisterSignal(parent, list(COMSIG_ITEM_POST_EQUIPPED, COMSIG_MOVABLE_MOVED))
|
|
if (!isnull(sisyphus))
|
|
UnregisterSignal(sisyphus, list(COMSIG_ENTER_AREA, COMSIG_QDELETING))
|
|
sisyphus = null
|
|
|
|
/// Called when we're picked up, check if we're in the right place to start our epic journey
|
|
/datum/component/sisyphus_awarder/proc/on_picked_up(atom/source, mob/living/the_taker)
|
|
SIGNAL_HANDLER
|
|
if (!istype(get_area(the_taker), /area/lavaland))
|
|
qdel(src)
|
|
return
|
|
UnregisterSignal(parent, COMSIG_ITEM_POST_EQUIPPED)
|
|
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_dropped))
|
|
RegisterSignal(the_taker, COMSIG_ENTER_AREA, PROC_REF(on_bearer_changed_area))
|
|
RegisterSignal(the_taker, COMSIG_QDELETING, PROC_REF(on_dropped))
|
|
sisyphus = the_taker
|
|
bottom_of_the_hill = get_turf(the_taker)
|
|
|
|
/// If you ever drop this shit you fail the challenge
|
|
/datum/component/sisyphus_awarder/proc/on_dropped()
|
|
SIGNAL_HANDLER
|
|
qdel(src) // Your quest ends here
|
|
|
|
/// If we changed area see if we arrived
|
|
/datum/component/sisyphus_awarder/proc/on_bearer_changed_area(mob/living/chosen_one, area/entered_area)
|
|
SIGNAL_HANDLER
|
|
var/atom/atom_parent = parent
|
|
if (atom_parent.loc != chosen_one)
|
|
qdel(src) // Hey! How did you do that?
|
|
return
|
|
if (entered_area.type != /area/centcom/central_command_areas/evacuation)
|
|
return // Don't istype because taking pods doesn't count
|
|
|
|
chosen_one.client?.give_award(/datum/award/achievement/misc/sisyphus, chosen_one)
|
|
play_reward_scene()
|
|
|
|
qdel(src)
|
|
|
|
/// Sends the player back to the Lavaland and plays a funny sound
|
|
/datum/component/sisyphus_awarder/proc/play_reward_scene()
|
|
if(isnull(bottom_of_the_hill))
|
|
return // This probably shouldn't happen, but...
|
|
|
|
podspawn(list(
|
|
"path" = /obj/structure/closet/supplypod/centcompod/sisyphus,
|
|
"target" = get_turf(sisyphus),
|
|
"reverse_dropoff_coords" = list(bottom_of_the_hill.x, bottom_of_the_hill.y, bottom_of_the_hill.z),
|
|
))
|
|
|
|
SEND_SOUND(sisyphus, 'sound/music/sisyphus/sisyphus.ogg')
|