mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2025-12-12 02:52:04 +00:00
changes
This commit is contained in:
@@ -436,13 +436,15 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
return new_list
|
||||
|
||||
//Returns a list of all mobs with their name
|
||||
/proc/getmobs()
|
||||
/proc/getmobs(ghostfollow = FALSE)
|
||||
|
||||
var/list/mobs = sortmobs()
|
||||
var/list/names = list()
|
||||
var/list/creatures = list()
|
||||
var/list/namecounts = list()
|
||||
for(var/mob/M in mobs)
|
||||
if(isobserver(M) && ghostfollow && M.client?.holder?.fakekey && M.is_preference_enabled(/datum/client_preference/holder/stealth_ghost_mode))
|
||||
continue
|
||||
var/name = M.name
|
||||
if (name in names)
|
||||
namecounts[name]++
|
||||
@@ -461,6 +463,9 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
|
||||
return creatures
|
||||
|
||||
/proc/getmobs_ghost_follow()
|
||||
return getmobs(TRUE)
|
||||
|
||||
//Orders mobs by type then by name
|
||||
/proc/sortmobs()
|
||||
var/list/moblist = list()
|
||||
|
||||
@@ -1548,3 +1548,18 @@ datum/admins/var/obj/item/paper/admin/faxreply // var to hold fax replies in
|
||||
qdel(P)
|
||||
faxreply = null
|
||||
return
|
||||
|
||||
/datum/admins/proc/update_stealth_ghost()
|
||||
if(!isobserver(owner.mob))
|
||||
return
|
||||
var/mob/observer/dead = owner.mob
|
||||
var/stealthghost = owner.is_preference_enabled(/datum/client_preference/holder/stealth_ghost_mode)
|
||||
if(!stealthghost)
|
||||
dead.invisibility = initial(dead.invisibility)
|
||||
dead.alpha = initial(dead.alpha)
|
||||
dead.name = dead.original_name
|
||||
else
|
||||
dead.invisbility = invisibility_maximum
|
||||
dead.alpha = 0
|
||||
dead.original_name = dead.name
|
||||
dead.name = "ghost"
|
||||
|
||||
@@ -482,7 +482,8 @@ var/list/admin_verbs_event_manager = list(
|
||||
/client/proc/admin_ghost()
|
||||
set category = "Admin"
|
||||
set name = "Aghost"
|
||||
if(!holder) return
|
||||
if(!holder)
|
||||
return
|
||||
if(istype(mob,/mob/observer/dead))
|
||||
//re-enter
|
||||
var/mob/observer/dead/ghost = mob
|
||||
|
||||
@@ -234,8 +234,8 @@ var/list/_client_preferences_by_type
|
||||
description = "Anonymous Ghost Chat"
|
||||
key = "ANON_GHOST_CHAT"
|
||||
enabled_by_default = FALSE
|
||||
enabled_description = "On"
|
||||
disabled_description = "Off"
|
||||
enabled_description = "Hide ckey"
|
||||
disabled_description = "Show ckey"
|
||||
|
||||
/datum/client_preference/show_in_advanced_who
|
||||
description = "Show my status in advanced who"
|
||||
@@ -244,6 +244,13 @@ var/list/_client_preferences_by_type
|
||||
enabled_description = "Visible"
|
||||
disabled_description = "Hidden"
|
||||
|
||||
/datum/client_preference/announce_ghost_joinleave
|
||||
description = "Announce joining/leaving as a ghost/observer"
|
||||
key = "ANNOUNCE_GHOST_JOINLEAVE"
|
||||
enabled_by_default = TRUE
|
||||
enabled_description = "Announce"
|
||||
disabled_description = "Silent"
|
||||
|
||||
/********************
|
||||
* Staff Preferences *
|
||||
********************/
|
||||
@@ -303,3 +310,10 @@ var/list/_client_preferences_by_type
|
||||
enabled_by_default = FALSE
|
||||
enabled_description = "On"
|
||||
disabled_description = "Off"
|
||||
|
||||
/datum/client_preference/holder/stealth_ghost_mode
|
||||
description = "Stealthmin Ghost Mode"
|
||||
key = "STEALTH_GHOST_MODE"
|
||||
enabled_by_default = FALSE
|
||||
enabled_description = "Obfuscate Ghost"
|
||||
disabled_description = "Normal Ghost"
|
||||
|
||||
@@ -86,6 +86,9 @@
|
||||
"Beepsky" = "secbot"
|
||||
)
|
||||
var/last_revive_notification = null // world.time of last notification, used to avoid spamming players from defibs or cloners.
|
||||
/// stealthmin vars
|
||||
var/original_name
|
||||
|
||||
/mob/observer/dead/New(mob/body)
|
||||
sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF
|
||||
see_invisible = SEE_INVISIBLE_OBSERVER
|
||||
@@ -309,12 +312,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
|
||||
usr.forceMove(pick(get_area_turfs(A)))
|
||||
|
||||
/mob/observer/dead/verb/follow(input in getmobs())
|
||||
/mob/observer/dead/verb/follow(input in getmobs_ghost_follow())
|
||||
set category = "Ghost"
|
||||
set name = "Follow" // "Haunt"
|
||||
set desc = "Follow and haunt a mob."
|
||||
|
||||
var/target = getmobs()[input]
|
||||
var/target = getmobs_ghost_follow()[input]
|
||||
if(!target)
|
||||
return
|
||||
ManualFollow(target)
|
||||
@@ -326,13 +329,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
|
||||
orbit(target, actually_orbit = FALSE)
|
||||
|
||||
/mob/observer/dead/verb/jumptomob(input in getmobs()) //Moves the ghost instead of just changing the ghosts's eye -Nodrak
|
||||
/mob/observer/dead/verb/jumptomob(input in getmobs_ghost_follow()) //Moves the ghost instead of just changing the ghosts's eye -Nodrak
|
||||
set category = "Ghost"
|
||||
set name = "Jump to Mob"
|
||||
set desc = "Teleport to a mob"
|
||||
set popup_menu = FALSE //VOREStation Edit - Declutter.
|
||||
if(istype(usr, /mob/observer/dead)) //Make sure they're an observer!
|
||||
var/target = getmobs()[input]
|
||||
var/target = getmobs_ghost_follow()[input]
|
||||
if (!target)//Make sure we actually have a target
|
||||
return
|
||||
else
|
||||
|
||||
@@ -453,7 +453,7 @@ proc/is_blind(A)
|
||||
C = M.original.client
|
||||
|
||||
if(C)
|
||||
if(!isnull(C.holder?.fakekey))
|
||||
if(!isnull(C.holder?.fakekey) || !C.is_preference_enabled(/datum/client_preference/announce_ghost_joinleave))
|
||||
return
|
||||
var/name
|
||||
if(C.mob)
|
||||
|
||||
2
config/admin_nicknames.txt
Normal file
2
config/admin_nicknames.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Badmin
|
||||
<span class='adminooc'>Spanmin</span>
|
||||
Reference in New Issue
Block a user