mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-12 23:54:24 +01:00
Merge pull request #10943 from VOREStation/Arokha/adminfixes
Fix a handful of ghost/admin verbs
This commit is contained in:
@@ -1570,9 +1570,16 @@
|
||||
var/mob/M = locate(href_list["sendmob"])
|
||||
if(!M)
|
||||
return
|
||||
var/area/A = tgui_input_list(usr, "Pick an area:", "Send Mob", return_sorted_areas())
|
||||
|
||||
var/list/areachoices = return_sorted_areas()
|
||||
var/choice = tgui_input_list(usr, "Pick an area:", "Send Mob", areachoices)
|
||||
if(!choice)
|
||||
return
|
||||
|
||||
var/area/A = areachoices[choice]
|
||||
if(!A)
|
||||
return
|
||||
|
||||
M.on_mob_jump()
|
||||
M.forceMove(pick(get_area_turfs(A)))
|
||||
var/msg = "[key_name_admin(usr)] teleported [ADMIN_LOOKUPFLW(M)]"
|
||||
|
||||
@@ -4,25 +4,32 @@
|
||||
/mob/observer/dead/on_mob_jump()
|
||||
following = null
|
||||
|
||||
/client/proc/Jump()
|
||||
/client/proc/Jump(areaname as null|anything in return_sorted_areas())
|
||||
set name = "Jump to Area"
|
||||
set desc = "Area to jump to"
|
||||
set category = "Admin"
|
||||
if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT))
|
||||
return
|
||||
|
||||
if(config.allow_admin_jump)
|
||||
var/area/A = tgui_input_list(usr, "Pick an area:", "Jump to Area", return_sorted_areas())
|
||||
if(!A)
|
||||
return
|
||||
usr.on_mob_jump()
|
||||
usr.forceMove(pick(get_area_turfs(A)))
|
||||
|
||||
log_admin("[key_name(usr)] jumped to [A]")
|
||||
message_admins("[key_name_admin(usr)] jumped to [A]", 1)
|
||||
feedback_add_details("admin_verb","JA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
else
|
||||
if(!config.allow_admin_jump)
|
||||
tgui_alert_async(usr, "Admin jumping disabled")
|
||||
return
|
||||
|
||||
var/area/A
|
||||
|
||||
if(areaname)
|
||||
A = return_sorted_areas()[areaname]
|
||||
else
|
||||
A = tgui_input_list(usr, "Pick an area:", "Jump to Area", return_sorted_areas())
|
||||
|
||||
if(!A)
|
||||
return
|
||||
|
||||
usr.on_mob_jump()
|
||||
usr.forceMove(pick(get_area_turfs(A)))
|
||||
log_admin("[key_name(usr)] jumped to [A]")
|
||||
message_admins("[key_name_admin(usr)] jumped to [A]", 1)
|
||||
feedback_add_details("admin_verb","JA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/jumptoturf(var/turf/T in world)
|
||||
set name = "Jump to Turf"
|
||||
@@ -40,7 +47,7 @@
|
||||
return
|
||||
|
||||
/// Verb wrapper around do_jumptomob()
|
||||
/client/proc/jumptomob()
|
||||
/client/proc/jumptomob(mob as null|anything in mob_list)
|
||||
set category = "Admin"
|
||||
set name = "Jump to Mob"
|
||||
set popup_menu = FALSE //VOREStation Edit - Declutter.
|
||||
@@ -48,16 +55,16 @@
|
||||
if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT))
|
||||
return
|
||||
|
||||
var/mob/M = tgui_input_list(usr, "Pick a mob:", "Jump to Mob", mob_list)
|
||||
if(!M) // Cancelled
|
||||
return
|
||||
do_jumptomob(M)
|
||||
do_jumptomob(mob)
|
||||
|
||||
/// Performs the jumps
|
||||
/// Performs the jumps, also called from admin Topic() for JMP links
|
||||
/client/proc/do_jumptomob(var/mob/M)
|
||||
if(!config.allow_admin_jump)
|
||||
tgui_alert_async(usr, "Admin jumping disabled")
|
||||
return
|
||||
|
||||
if(!M)
|
||||
M = tgui_input_list(usr, "Pick a mob:", "Jump to Mob", mob_list)
|
||||
if(!M)
|
||||
return
|
||||
|
||||
|
||||
@@ -98,7 +98,6 @@
|
||||
sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF
|
||||
see_invisible = SEE_INVISIBLE_OBSERVER
|
||||
see_in_dark = world.view //I mean. I don't even know if byond has occlusion culling... but...
|
||||
verbs += /mob/observer/dead/proc/dead_tele
|
||||
|
||||
var/turf/T
|
||||
if(ismob(body))
|
||||
@@ -342,6 +341,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
var/area/A = areas[key]
|
||||
if(A.z in using_map?.secret_levels)
|
||||
areas -= key
|
||||
|
||||
return areas
|
||||
|
||||
/mob/observer/dead/proc/jumpable_mobs()
|
||||
@@ -353,41 +353,62 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
var/mobz = get_z(mobs[key])
|
||||
if(mobz in using_map?.secret_levels)
|
||||
mobs -= key
|
||||
|
||||
return mobs
|
||||
|
||||
/mob/observer/dead/proc/dead_tele()
|
||||
set category = "Ghost"
|
||||
/mob/observer/dead/verb/dead_tele(areaname as null|anything in jumpable_areas())
|
||||
set name = "Teleport"
|
||||
set desc = "Teleport to a location"
|
||||
set category = "Ghost"
|
||||
set desc = "Teleport to a location."
|
||||
|
||||
if(!istype(usr, /mob/observer/dead))
|
||||
to_chat(usr, "Not when you're not dead!")
|
||||
return
|
||||
|
||||
var/list/areas = jumpable_areas()
|
||||
var/input = tgui_input_list(usr, "Select an area:", "Ghost Teleport", areas)
|
||||
if(!input)
|
||||
return
|
||||
var/area/A
|
||||
|
||||
var/area/A = areas[input]
|
||||
if(!A) return
|
||||
usr.forceMove(pick(get_area_turfs(A)))
|
||||
if(!areaname)
|
||||
var/list/areas = jumpable_areas()
|
||||
var/input = tgui_input_list(usr, "Select an area:", "Ghost Teleport", areas)
|
||||
if(!input)
|
||||
return
|
||||
A = areas[input]
|
||||
if(!A)
|
||||
return
|
||||
|
||||
if(!istype(usr, /mob/observer/dead))
|
||||
to_chat(usr, "Not when you're not dead!")
|
||||
return
|
||||
|
||||
usr.forceMove(pick(get_area_turfs(A || jumpable_areas()[areaname])))
|
||||
usr.on_mob_jump()
|
||||
|
||||
/mob/observer/dead/verb/follow()
|
||||
/mob/observer/dead/verb/follow(mobname as null|anything in jumpable_mobs())
|
||||
set name = "Follow"
|
||||
set category = "Ghost"
|
||||
set name = "Follow" // "Haunt"
|
||||
set desc = "Follow and haunt a mob."
|
||||
|
||||
var/list/possible_mobs = jumpable_mobs()
|
||||
var/input = tgui_input_list(usr, "Select a mob:", "Ghost Follow", possible_mobs)
|
||||
if(!input)
|
||||
if(!istype(usr, /mob/observer/dead))
|
||||
to_chat(usr, "Not when you're not dead!")
|
||||
return
|
||||
|
||||
var/target = possible_mobs[input]
|
||||
if(!target) return
|
||||
ManualFollow(target)
|
||||
|
||||
var/mob/M
|
||||
|
||||
if(!mobname)
|
||||
var/list/possible_mobs = jumpable_mobs()
|
||||
var/input = tgui_input_list(usr, "Select a mob:", "Ghost Follow", possible_mobs)
|
||||
if(!input)
|
||||
return
|
||||
M = possible_mobs[input]
|
||||
if(!M)
|
||||
return
|
||||
|
||||
if(!istype(usr, /mob/observer/dead))
|
||||
to_chat(usr, "Not when you're not dead!")
|
||||
return
|
||||
|
||||
ManualFollow(M || jumpable_mobs()[mobname])
|
||||
|
||||
/mob/observer/dead/forceMove(atom/destination)
|
||||
if(client?.holder)
|
||||
return ..()
|
||||
|
||||
Reference in New Issue
Block a user