mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 02:24:11 +01:00
Improves Cryoing
- Changes cryoing, such that if you use OOC->Ghost while in a cryopod, you are instantly moved to long-term storage. After all, you can't get back into your body at that point anyway, so keeping your body around for 30 minutes before announcing that you've disappeared is pointless. - Changes the notification given to antags whose target cryos, to make it slightly more obvious. - Makes long-term storage announcements include stored person's rank (if they have one). Added rank to cryo storage announcement Removes list() call from pick()
This commit is contained in:
@@ -319,7 +319,7 @@
|
||||
else if(O.target && istype(O.target,/datum/mind))
|
||||
if(O.target == occupant.mind)
|
||||
if(O.owner && O.owner.current)
|
||||
to_chat(O.owner.current, "<span class='warning'>You get the feeling your target is no longer within your reach. Time for Plan [pick(list("A","B","C","D","X","Y","Z"))]...</span>")
|
||||
to_chat(O.owner.current, "<span class='userdanger'>You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!</span>")
|
||||
O.target = null
|
||||
spawn(1) //This should ideally fire after the occupant is deleted.
|
||||
if(!O) return
|
||||
@@ -344,6 +344,7 @@
|
||||
|
||||
// Delete them from datacore.
|
||||
|
||||
var/announce_rank = null
|
||||
if(PDA_Manifest.len)
|
||||
PDA_Manifest.Cut()
|
||||
for(var/datum/data/record/R in data_core.medical)
|
||||
@@ -354,6 +355,7 @@
|
||||
qdel(T)
|
||||
for(var/datum/data/record/G in data_core.general)
|
||||
if((G.fields["name"] == occupant.real_name))
|
||||
announce_rank = G.fields["rank"]
|
||||
qdel(G)
|
||||
|
||||
if(orient_right)
|
||||
@@ -369,10 +371,15 @@
|
||||
ailist += A
|
||||
if(ailist.len)
|
||||
var/mob/living/silicon/ai/announcer = pick(ailist)
|
||||
announcer.say(";[occupant.real_name] [on_store_message]")
|
||||
if (announce_rank)
|
||||
announcer.say(";[occupant.real_name] ([announce_rank]) [on_store_message]")
|
||||
else
|
||||
announcer.say(";[occupant.real_name] [on_store_message]")
|
||||
else
|
||||
announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]")
|
||||
|
||||
if (announce_rank)
|
||||
announce.autosay("[occupant.real_name] ([announce_rank]) [on_store_message]", "[on_store_name]")
|
||||
else
|
||||
announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]")
|
||||
visible_message("<span class='notice'>\The [src] hums and hisses as it moves [occupant.real_name] into storage.</span>")
|
||||
|
||||
// Delete the mob.
|
||||
|
||||
@@ -72,7 +72,7 @@ var/list/image/ghost_darkness_images = list() //this is a list of images for thi
|
||||
name = capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names))
|
||||
|
||||
mind = body.mind //we don't transfer the mind but we keep a reference to it.
|
||||
|
||||
|
||||
ghostimage = image(icon = icon, loc = src, icon_state = icon_state)
|
||||
ghostimage.overlays = overlays
|
||||
ghostimage.dir = dir
|
||||
@@ -157,13 +157,17 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
resting = 1
|
||||
var/mob/dead/observer/ghost = ghostize(0) //0 parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3
|
||||
ghost.timeofdeath = world.time // Because the living mob won't have a time of death and we want the respawn timer to work properly.
|
||||
|
||||
var/obj/structure/morgue/Morgue = locate() in M.loc
|
||||
if(istype(M.loc,/obj/structure/morgue))
|
||||
Morgue = M.loc
|
||||
if(Morgue)
|
||||
Morgue.update()
|
||||
|
||||
if(istype(M.loc,/obj/machinery/cryopod))
|
||||
var/obj/machinery/cryopod/P = M.loc
|
||||
if(!P.control_computer)
|
||||
P.find_control_computer(urgent=1)
|
||||
if(P.control_computer)
|
||||
P.despawn_occupant()
|
||||
return
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user