mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-27 10:32:08 +00:00
Ports Nebula's spawn blurb + makes people spawn asleep in cryo cells. (#9227)
This commit is contained in:
@@ -377,15 +377,8 @@
|
||||
EquipItemsStorage(H, H.client.prefs, spawn_in_storage)
|
||||
|
||||
if(istype(H) && !megavend) //give humans wheelchairs, if they need them.
|
||||
var/obj/item/organ/external/l_foot = H.get_organ(BP_L_FOOT)
|
||||
var/obj/item/organ/external/r_foot = H.get_organ(BP_R_FOOT)
|
||||
if(!l_foot || !r_foot)
|
||||
var/obj/structure/bed/chair/wheelchair/W = new /obj/structure/bed/chair/wheelchair(H.loc)
|
||||
H.buckled = W
|
||||
H.update_canmove()
|
||||
W.set_dir(H.dir)
|
||||
W.buckled_mob = H
|
||||
W.add_fingerprint(H)
|
||||
if(H.needs_wheelchair())
|
||||
H.equip_wheelchair()
|
||||
|
||||
to_chat(H, "<B>You are [job.total_positions == 1 ? "the" : "a"] [alt_title ? alt_title : rank].</B>")
|
||||
|
||||
@@ -406,6 +399,8 @@
|
||||
BITSET(H.hud_updateflag, IMPLOYAL_HUD)
|
||||
BITSET(H.hud_updateflag, SPECIALROLE_HUD)
|
||||
|
||||
INVOKE_ASYNC(GLOBAL_PROC, .proc/show_location_blurb, H.client, 30)
|
||||
|
||||
Debug("ER/([H]): Completed.")
|
||||
|
||||
return H
|
||||
@@ -520,16 +515,7 @@
|
||||
if(LAZYLEN(spawn_in_storage))
|
||||
EquipItemsStorage(H, H.client.prefs, spawn_in_storage)
|
||||
|
||||
if(istype(H)) //give humans wheelchairs, if they need them.
|
||||
var/obj/item/organ/external/l_foot = H.get_organ(BP_L_FOOT)
|
||||
var/obj/item/organ/external/r_foot = H.get_organ(BP_R_FOOT)
|
||||
if(!l_foot || !r_foot)
|
||||
var/obj/structure/bed/chair/wheelchair/W = new /obj/structure/bed/chair/wheelchair(H.loc)
|
||||
H.buckled = W
|
||||
H.update_canmove()
|
||||
W.set_dir(H.dir)
|
||||
W.buckled_mob = H
|
||||
W.add_fingerprint(H)
|
||||
|
||||
|
||||
//Gives glasses to the vision impaired
|
||||
if(H.disabilities & NEARSIGHTED)
|
||||
@@ -661,6 +647,7 @@
|
||||
if(spawnpos.check_job_spawning(rank))
|
||||
H.forceMove(pick(spawnpos.turfs))
|
||||
. = spawnpos.msg
|
||||
spawnpos.after_join(H)
|
||||
else
|
||||
to_chat(H, "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead.")
|
||||
H.forceMove(pick(latejoin))
|
||||
@@ -914,4 +901,33 @@
|
||||
Debug("EA/([H]): Complete.")
|
||||
return TRUE
|
||||
|
||||
/proc/show_location_blurb(client/C, duration)
|
||||
set waitfor = 0
|
||||
|
||||
var/style = "font-family: 'Fixedsys'; -dm-text-outline: 1 black; font-size: 11px;"
|
||||
var/area/A = get_area(C.mob)
|
||||
var/text = "[worlddate2text()], [worldtime2text()]\n[station_name()], [A.name]"
|
||||
text = uppertext(text)
|
||||
|
||||
var/obj/effect/overlay/T = new()
|
||||
T.maptext_height = 64
|
||||
T.maptext_width = 512
|
||||
T.layer = SCREEN_LAYER+1
|
||||
T.plane = FLOAT_PLANE
|
||||
T.screen_loc = "LEFT+1,BOTTOM+2"
|
||||
|
||||
C.screen += T
|
||||
animate(T, alpha = 255, time = 10)
|
||||
for(var/i = 1 to length(text)+1)
|
||||
T.maptext = "<span style=\"[style]\">[copytext(text,1,i)] </span>"
|
||||
sleep(1)
|
||||
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/fade_location_blurb, C, T), duration)
|
||||
|
||||
/proc/fade_location_blurb(client/C, obj/T)
|
||||
animate(T, alpha = 0, time = 5)
|
||||
sleep(5)
|
||||
C.screen -= T
|
||||
qdel(T)
|
||||
|
||||
#undef Debug
|
||||
|
||||
Reference in New Issue
Block a user