diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 9407c3d5f54..fb5246cbae0 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -57,7 +57,10 @@ var/list/image/ghost_images_simple = list() //this is a list of all ghost images /mob/dead/observer/New(mob/body) verbs += /mob/dead/observer/proc/dead_tele - + + if(global.cross_allowed) + verbs += /mob/dead/observer/proc/server_hop + ghostimage = image(src.icon,src,src.icon_state) if(icon_state in ghost_forms_with_directions_list) ghostimage_default = image(src.icon,src,src.icon_state + "_nodir") @@ -554,6 +557,17 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp target.key = key return 1 +/mob/dead/observer/proc/ServerHop() + set category = "Ghost" + set name = "Server Hop!" + set desc= "Jump to the other server" + if (alert(src, "Jump to server running at [global.cross_address]?", "Server Hop", "Yes", "No") != "Yes") + return 0 + if (client && global.cross_allowed) + src << "Sending you to [global.cross_address]" + client << link(global.cross_address) + else + src << "There is no other server configured!" //this is a mob verb instead of atom for performance reasons //see /mob/verb/examinate() in mob.dm for more info