Skip to content

Commit

Permalink
[MIRROR] Adds a funny scene when getting Sisyphus achievement (#2229)
Browse files Browse the repository at this point in the history
* Adds a funny scene when getting Sisyphus achievement (#82897)

## About The Pull Request


https://github.com/tgstation/tgstation/assets/137328283/979231c3-70cd-49dd-8d4d-2a8554adfbb3

## Why It's Good For The Game

This PR makes getting the “Ordeal of Sisyphus” extremely pointless by
teleporting carried boulder and spessman back to the Lavaland. In my
opinion, this feature is funny and suits the spirit of this achievement.

## Changelog

:cl:
add: Added a short scene when getting an Ordeal of Sisyphus achievement.
/:cl:

* Adds a funny scene when getting Sisyphus achievement

---------

Co-authored-by: Interception&? <[email protected]>
  • Loading branch information
2 people authored and StealsThePRs committed Apr 29, 2024
1 parent e91154e commit 3529b0e
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 0 deletions.
19 changes: 19 additions & 0 deletions code/datums/components/sisyphus_awarder.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
/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))
Expand All @@ -30,6 +32,7 @@
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()
Expand All @@ -45,5 +48,21 @@
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/ambience/music/sisyphus/sisyphus.ogg')
17 changes: 17 additions & 0 deletions code/modules/cargo/supplypod.dm
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,23 @@
delays = list(POD_TRANSIT = 20, POD_FALLING = 4, POD_OPENING = 30, POD_LEAVING = 30)
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF

/obj/structure/closet/supplypod/centcompod/sisyphus
delays = list(POD_TRANSIT = 0, POD_FALLING = 0, POD_OPENING = 0, POD_LEAVING = 0.2)
reverse_delays = list(POD_TRANSIT = 0, POD_FALLING = 1.5 SECONDS, POD_OPENING = 0.6 SECONDS, POD_LEAVING = 0)
custom_rev_delay = TRUE
effectStealth = TRUE
reversing = TRUE
reverse_option_list = list(
"Mobs" = TRUE,
"Objects" = FALSE,
"Anchored" = FALSE,
"Underfloor" = FALSE,
"Wallmounted" = FALSE,
"Floors" = FALSE,
"Walls" = FALSE,
"Mecha" = TRUE,
)

/obj/structure/closet/supplypod/back_to_station
name = "blood-red supply pod"
desc = "An intimidating supply pod, covered in the blood-red markings"
Expand Down
Binary file added sound/ambience/music/sisyphus/sisyphus.ogg
Binary file not shown.

0 comments on commit 3529b0e

Please sign in to comment.