mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-12 00:27:31 +01:00
b348b617a3
# Conflicts: # README.md # code/__DEFINES/admin.dm # code/__DEFINES/melee.dm # code/_globalvars/traits/_traits.dm # code/controllers/subsystem/economy.dm # code/datums/components/crafting/crafting.dm # code/datums/elements/crusher_loot.dm # code/modules/antagonists/pirate/pirate_shuttle_equipment.dm # code/modules/clothing/suits/_suits.dm # code/modules/escape_menu/leave_body.dm # code/modules/jobs/job_types/_job.dm # code/modules/mining/equipment/mineral_scanner.dm # code/modules/mob/living/living.dm # code/modules/plumbing/plumbers/pill_press.dm # tgui/packages/tgui/interfaces/Vending.tsx
80 lines
2.3 KiB
Plaintext
80 lines
2.3 KiB
Plaintext
/datum/escape_menu/proc/show_leave_body_page()
|
|
PRIVATE_PROC(TRUE)
|
|
|
|
page_holder.give_screen_object(
|
|
new /atom/movable/screen/escape_menu/lobby_button/small(
|
|
null,
|
|
/* hud_owner = */ null,
|
|
"Back",
|
|
/* tooltip_text = */ null,
|
|
/* button_screen_loc = */ "TOP:-30,LEFT:30",
|
|
CALLBACK(src, PROC_REF(open_home_page)),
|
|
/* button_overlay = */ "back",
|
|
)
|
|
)
|
|
|
|
var/static/dead_clown
|
|
if (isnull(dead_clown))
|
|
if (MC_RUNNING(SSatoms.init_stage)) // We're about to create a bunch of atoms for a human
|
|
dead_clown = create_dead_clown()
|
|
else
|
|
stack_trace("The leave body menu was opened before the atoms SS. This shouldn't be possible, as the leave body menu should only be accessible when you have a body.")
|
|
|
|
page_holder.give_screen_object(new /atom/movable/screen/escape_menu/lobby_button(
|
|
null,
|
|
/* hud_owner = */ null,
|
|
"Suicide",
|
|
"Perform a dramatic suicide in game",
|
|
/* button_screen_loc = */ "CENTER:-55,CENTER:-1",
|
|
// CALLBACK(src, PROC_REF(leave_suicide)), // SKYRAT EDIT REMOVAL
|
|
/* button_overlay = */ dead_clown,
|
|
))
|
|
|
|
page_holder.give_screen_object(
|
|
new /atom/movable/screen/escape_menu/lobby_button(
|
|
null,
|
|
/* hud_owner = */ null,
|
|
"Ghost",
|
|
"Exit quietly, leaving your body",
|
|
/* button_screen_loc = */ "CENTER:55,CENTER:-1",
|
|
CALLBACK(src, PROC_REF(leave_ghost)),
|
|
/* button_overlay = */ "ghost",
|
|
)
|
|
)
|
|
|
|
/datum/escape_menu/proc/create_dead_clown()
|
|
PRIVATE_PROC(TRUE)
|
|
|
|
var/mob/living/carbon/human/consistent/human = new
|
|
human.equipOutfit(/datum/outfit/job/clown)
|
|
|
|
var/mutable_appearance/appearance = new(human.appearance)
|
|
appearance.plane = ESCAPE_MENU_PLANE
|
|
|
|
// SpacemanDMM bug prevents us from just chain applying these :(
|
|
appearance.transform = appearance.transform.Scale(2.5, 2.5)
|
|
appearance.transform = appearance.transform.Turn(90)
|
|
appearance.transform = appearance.transform.Translate(34, 24)
|
|
|
|
qdel(human)
|
|
|
|
return appearance
|
|
|
|
/datum/escape_menu/proc/leave_ghost()
|
|
PRIVATE_PROC(TRUE)
|
|
|
|
// Not guaranteed to be living. Everything defines verb/ghost separately. Fuck you.
|
|
var/mob/living/living_user = client?.mob
|
|
living_user?.ghost()
|
|
|
|
//SKYRAT EDIT REMOVAL BEGIN
|
|
/*
|
|
/datum/escape_menu/proc/leave_suicide()
|
|
PRIVATE_PROC(TRUE)
|
|
|
|
// Not guaranteed to be human. Everything defines verb/suicide separately. Fuck you, still.
|
|
var/mob/living/carbon/human/human_user = client?.mob
|
|
human_user?.suicide()
|
|
*/
|
|
//SKYRAT EDIT REMOVAL END
|