mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 04:26:03 +01:00
Does the rest of the if()'s/ else's
This commit is contained in:
@@ -12,7 +12,8 @@
|
||||
var/list/ckeys = list()
|
||||
for(var/mob/M in mob_list)
|
||||
var/list/indexing = list(M.real_name, M.name)
|
||||
if(M.mind) indexing += M.mind.name
|
||||
if(M.mind)
|
||||
indexing += M.mind.name
|
||||
|
||||
for(var/string in indexing)
|
||||
var/list/L = text2list(string, " ")
|
||||
@@ -80,7 +81,8 @@
|
||||
return
|
||||
|
||||
//clean the input msg
|
||||
if(!msg) return
|
||||
if(!msg)
|
||||
return
|
||||
msg = sanitize(copytext(msg,1,MAX_MESSAGE_LEN))
|
||||
if(!msg) return
|
||||
var/original_msg = msg
|
||||
@@ -91,7 +93,8 @@
|
||||
|
||||
msg = keywords_lookup(msg)
|
||||
|
||||
if(!mob) return //this doesn't happen
|
||||
if(!mob)
|
||||
return //this doesn't happen
|
||||
|
||||
var/ref_mob = "\ref[mob]"
|
||||
var/ref_client = "\ref[src]"
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
if(!holder)
|
||||
src << "<font color='red'>Error: Admin-PM-Context: Only administrators may use this command.</font>"
|
||||
return
|
||||
if( !ismob(M) || !M.client ) return
|
||||
if( !ismob(M) || !M.client )
|
||||
return
|
||||
cmd_admin_pm(M.client,null)
|
||||
feedback_add_details("admin_verb","APMM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -44,7 +45,8 @@
|
||||
else if(istype(whom,/client))
|
||||
C = whom
|
||||
if(!C)
|
||||
if(holder) src << "<font color='red'>Error: Admin-PM: Client not found.</font>"
|
||||
if(holder)
|
||||
src << "<font color='red'>Error: Admin-PM: Client not found.</font>"
|
||||
return
|
||||
message_admins("[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.")
|
||||
var/msg = input(src,"Message:", "Private message to [key_name(C, 0, 0)]") as text|null
|
||||
@@ -68,18 +70,23 @@
|
||||
else if(istype(whom,/client))
|
||||
C = whom
|
||||
if(!C)
|
||||
if(holder) src << "<font color='red'>Error: Admin-PM: Client not found.</font>"
|
||||
else adminhelp(msg) //admin we are replying to left. adminhelp instead
|
||||
if(holder)
|
||||
src << "<font color='red'>Error: Admin-PM: Client not found.</font>"
|
||||
else
|
||||
adminhelp(msg) //admin we are replying to left. adminhelp instead
|
||||
return
|
||||
|
||||
//get message text, limit it's length.and clean/escape html
|
||||
if(!msg)
|
||||
msg = input(src,"Message:", "Private message to [key_name(C, 0, 0)]") as text|null
|
||||
|
||||
if(!msg) return
|
||||
if(!msg)
|
||||
return
|
||||
if(!C)
|
||||
if(holder) src << "<font color='red'>Error: Admin-PM: Client not found.</font>"
|
||||
else adminhelp(msg) //admin we are replying to has vanished, adminhelp instead
|
||||
if(holder)
|
||||
src << "<font color='red'>Error: Admin-PM: Client not found.</font>"
|
||||
else
|
||||
adminhelp(msg) //admin we are replying to has vanished, adminhelp instead
|
||||
return
|
||||
|
||||
if (src.handle_spam_prevention(msg,MUTE_ADMINHELP))
|
||||
@@ -88,7 +95,8 @@
|
||||
//clean the message if it's not sent by a high-rank admin
|
||||
if(!check_rights(R_SERVER|R_DEBUG,0))
|
||||
msg = sanitize(copytext(msg,1,MAX_MESSAGE_LEN))
|
||||
if(!msg) return
|
||||
if(!msg)
|
||||
return
|
||||
|
||||
msg = emoji_parse(msg)
|
||||
var/keywordparsedmsg = keywords_lookup(msg)
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
set category = "Special Verbs"
|
||||
set name = "Asay" //Gave this shit a shorter name so you only have to time out "asay" rather than "admin say" to use it --NeoFite
|
||||
set hidden = 1
|
||||
if(!check_rights(0)) return
|
||||
if(!check_rights(0))
|
||||
return
|
||||
|
||||
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
||||
if(!msg) return
|
||||
if(!msg)
|
||||
return
|
||||
|
||||
log_adminsay("[key_name(src)] : [msg]")
|
||||
msg = keywords_lookup(msg)
|
||||
|
||||
@@ -18,8 +18,10 @@
|
||||
|
||||
var/turf/simulated/floor/T = get_turf(target)
|
||||
if(istype(T))
|
||||
if(prob(80)) T.break_tile_to_plating()
|
||||
else T.break_tile()
|
||||
if(prob(80))
|
||||
T.break_tile_to_plating()
|
||||
else
|
||||
T.break_tile()
|
||||
|
||||
target << "<span class='userdanger'>You're hit by bluespace artillery!</span>"
|
||||
log_admin("[target.name] has been hit by Bluespace Artillery fired by [usr]")
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
set category = "Fun"
|
||||
set desc = "Shows a cinematic." // Intended for testing but I thought it might be nice for events on the rare occasion Feel free to comment it out if it's not wanted.
|
||||
set hidden = 1
|
||||
if(!ticker) return
|
||||
if(!ticker)
|
||||
return
|
||||
switch(cinematic)
|
||||
if("explosion")
|
||||
var/parameter = input(src,"station_missed = ?","Enter Parameter",0) as num
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/client/proc/Debug2()
|
||||
set category = "Debug"
|
||||
set name = "Debug-Game"
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
|
||||
if(Debug2)
|
||||
Debug2 = 0
|
||||
@@ -67,7 +68,8 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
targetselected = 0
|
||||
|
||||
var/procname = input("Proc path, eg: /proc/fake_blood","Path:", null) as text|null
|
||||
if(!procname) return
|
||||
if(!procname)
|
||||
return
|
||||
if(targetselected && !hascall(target,procname))
|
||||
usr << "<font color='red'>Error: callproc(): target has no such call [procname].</font>"
|
||||
return
|
||||
@@ -128,7 +130,8 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
|
||||
/client/proc/get_callproc_args()
|
||||
var/argnum = input("Number of arguments","Number:",0) as num|null
|
||||
if(!argnum && (argnum!=0)) return
|
||||
if(!argnum && (argnum!=0))
|
||||
return
|
||||
|
||||
var/list/lst = list()
|
||||
//TODO: make a list to store whether each argument was initialised as null.
|
||||
@@ -692,5 +695,6 @@ var/global/list/g_fancy_list_of_types = null
|
||||
set name = "Debug HUDs"
|
||||
set desc = "Debug the data or antag HUDs"
|
||||
|
||||
if(!holder) return
|
||||
if(!holder)
|
||||
return
|
||||
debug_variables(huds[i])
|
||||
|
||||
@@ -89,10 +89,12 @@
|
||||
set name = "Reload Admins"
|
||||
set category = "Admin"
|
||||
|
||||
if(!src.holder) return
|
||||
if(!src.holder)
|
||||
return
|
||||
|
||||
var/confirm = alert(src, "Are you sure you want to reload all admins?", "Confirm", "Yes", "No")
|
||||
if(confirm !="Yes") return
|
||||
if(confirm !="Yes")
|
||||
return
|
||||
|
||||
message_admins("[key_name_admin(usr)] manually reloaded admins")
|
||||
load_admins()
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
set name = "Set fps"
|
||||
set desc = "Sets game speed in frames-per-second. Can potentially break the game"
|
||||
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
|
||||
var/fps = round(input("Sets game frames-per-second. Can potentially break the game","FPS", config.fps) as num|null)
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
|
||||
var/method = 0 //0 means strict type detection while 1 means this type and all subtypes (IE: /obj/item with this set to 1 will set it to ALL itms)
|
||||
|
||||
if(!check_rights(R_VAREDIT)) return
|
||||
if(!check_rights(R_VAREDIT))
|
||||
return
|
||||
|
||||
if(A && A.type)
|
||||
if(typesof(A.type))
|
||||
@@ -24,7 +25,8 @@
|
||||
|
||||
|
||||
/client/proc/massmodify_variables(atom/O, var_name = "", method = 0)
|
||||
if(!check_rights(R_VAREDIT)) return
|
||||
if(!check_rights(R_VAREDIT))
|
||||
return
|
||||
|
||||
for(var/p in forbidden_varedit_object_types)
|
||||
if( istype(O,p) )
|
||||
@@ -44,7 +46,8 @@
|
||||
else
|
||||
variable = var_name
|
||||
|
||||
if(!variable) return
|
||||
if(!variable)
|
||||
return
|
||||
var/default
|
||||
var/var_value = O.vars[variable]
|
||||
var/dir
|
||||
@@ -53,9 +56,11 @@
|
||||
usr << "It's forbidden to mass-modify ckeys. I'll crash everyone's client you dummy."
|
||||
return
|
||||
if(variable in VVlocked)
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
if(variable in VVicon_edit_lock)
|
||||
if(!check_rights(R_FUN|R_DEBUG)) return
|
||||
if(!check_rights(R_FUN|R_DEBUG))
|
||||
return
|
||||
|
||||
if(isnull(var_value))
|
||||
usr << "Unable to determine variable type."
|
||||
|
||||
@@ -149,8 +149,10 @@ var/list/VVckey_edit = list("key", "ckey")
|
||||
message_admins("[key_name_admin(src)] modified [original_name]'s [objectvar]: ADDED=[var_value]")
|
||||
|
||||
/client/proc/mod_list(list/L, atom/O, original_name, objectvar)
|
||||
if(!check_rights(R_VAREDIT)) return
|
||||
if(!istype(L,/list)) src << "Not a List."
|
||||
if(!check_rights(R_VAREDIT))
|
||||
return
|
||||
if(!istype(L,/list))
|
||||
src << "Not a List."
|
||||
|
||||
if(L.len > 1000)
|
||||
var/confirm = alert(src, "The list you're trying to edit is very long, continuing may crash the server.", "Warning", "Continue", "Abort")
|
||||
@@ -191,11 +193,14 @@ var/list/VVckey_edit = list("key", "ckey")
|
||||
var/dir
|
||||
|
||||
if(variable in VVlocked)
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
if(variable in VVckey_edit)
|
||||
if(!check_rights(R_SPAWN|R_DEBUG)) return
|
||||
if(!check_rights(R_SPAWN|R_DEBUG))
|
||||
return
|
||||
if(variable in VVicon_edit_lock)
|
||||
if(!check_rights(R_FUN|R_DEBUG)) return
|
||||
if(!check_rights(R_FUN|R_DEBUG))
|
||||
return
|
||||
|
||||
if(isnull(variable))
|
||||
usr << "Unable to determine variable type."
|
||||
@@ -373,7 +378,8 @@ var/list/VVckey_edit = list("key", "ckey")
|
||||
message_admins("[key_name_admin(src)] modified [original_name]'s varlist [objectvar]: [original_var]=[new_var]")
|
||||
|
||||
/client/proc/modify_variables(atom/O, param_var_name = null, autodetect_class = 0)
|
||||
if(!check_rights(R_VAREDIT)) return
|
||||
if(!check_rights(R_VAREDIT))
|
||||
return
|
||||
|
||||
for(var/p in forbidden_varedit_object_types)
|
||||
if( istype(O,p) )
|
||||
@@ -394,11 +400,14 @@ var/list/VVckey_edit = list("key", "ckey")
|
||||
return
|
||||
|
||||
if(param_var_name in VVlocked)
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
if(param_var_name in VVckey_edit)
|
||||
if(!check_rights(R_SPAWN|R_DEBUG)) return
|
||||
if(!check_rights(R_SPAWN|R_DEBUG))
|
||||
return
|
||||
if(param_var_name in VVicon_edit_lock)
|
||||
if(!check_rights(R_FUN|R_DEBUG)) return
|
||||
if(!check_rights(R_FUN|R_DEBUG))
|
||||
return
|
||||
|
||||
variable = param_var_name
|
||||
|
||||
@@ -452,15 +461,19 @@ var/list/VVckey_edit = list("key", "ckey")
|
||||
names = sortList(names)
|
||||
|
||||
variable = input("Which var?","Var") as null|anything in names
|
||||
if(!variable) return
|
||||
if(!variable)
|
||||
return
|
||||
var_value = O.vars[variable]
|
||||
|
||||
if(variable in VVlocked)
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
if(variable in VVckey_edit)
|
||||
if(!check_rights(R_SPAWN|R_DEBUG)) return
|
||||
if(!check_rights(R_SPAWN|R_DEBUG))
|
||||
return
|
||||
if(variable in VVicon_edit_lock)
|
||||
if(!check_rights(R_FUN|R_DEBUG)) return
|
||||
if(!check_rights(R_FUN|R_DEBUG))
|
||||
return
|
||||
|
||||
if(!autodetect_class)
|
||||
|
||||
|
||||
@@ -4,7 +4,8 @@ var/sound/admin_sound
|
||||
/client/proc/play_sound(S as sound)
|
||||
set category = "Fun"
|
||||
set name = "Play Global Sound"
|
||||
if(!check_rights(R_SOUNDS)) return
|
||||
if(!check_rights(R_SOUNDS))
|
||||
return
|
||||
|
||||
admin_sound = sound(S, repeat = 0, wait = 1, channel = SOUND_CHANNEL_ADMIN)
|
||||
admin_sound.priority = 250
|
||||
@@ -29,7 +30,8 @@ var/sound/admin_sound
|
||||
/client/proc/play_local_sound(S as sound)
|
||||
set category = "Fun"
|
||||
set name = "Play Local Sound"
|
||||
if(!check_rights(R_SOUNDS)) return
|
||||
if(!check_rights(R_SOUNDS))
|
||||
return
|
||||
|
||||
log_admin("[key_name(src)] played a local sound [S]")
|
||||
message_admins("[key_name_admin(src)] played a local sound [S]")
|
||||
@@ -39,7 +41,8 @@ var/sound/admin_sound
|
||||
/client/proc/set_round_end_sound(S as sound)
|
||||
set category = "Fun"
|
||||
set name = "Set Round End Sound"
|
||||
if(!check_rights(R_SOUNDS)) return
|
||||
if(!check_rights(R_SOUNDS))
|
||||
return
|
||||
|
||||
if(ticker)
|
||||
ticker.round_end_sound = fcopy_rsc(S)
|
||||
@@ -53,7 +56,8 @@ var/sound/admin_sound
|
||||
/client/proc/stop_sounds()
|
||||
set category = "Debug"
|
||||
set name = "Stop All Playing Sounds"
|
||||
if(!src.holder) return
|
||||
if(!src.holder)
|
||||
return
|
||||
|
||||
log_admin("[key_name(src)] stopped all currently playing sounds.")
|
||||
message_admins("[key_name_admin(src)] stopped all currently playing sounds.")
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
return
|
||||
|
||||
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
||||
if(!msg) return
|
||||
if(!msg)
|
||||
return
|
||||
log_prayer("[src.key]/([src.name]): [msg]")
|
||||
if(usr.client)
|
||||
if(usr.client.prefs.muted & MUTE_PRAY)
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
set category = "Special Verbs"
|
||||
set name = "Subtle Message"
|
||||
|
||||
if(!ismob(M)) return
|
||||
if(!ismob(M))
|
||||
return
|
||||
if (!holder)
|
||||
src << "Only administrators may use this command."
|
||||
return
|
||||
@@ -127,13 +128,20 @@
|
||||
var/muteunmute
|
||||
var/mute_string
|
||||
switch(mute_type)
|
||||
if(MUTE_IC) mute_string = "IC (say and emote)"
|
||||
if(MUTE_OOC) mute_string = "OOC"
|
||||
if(MUTE_PRAY) mute_string = "pray"
|
||||
if(MUTE_ADMINHELP) mute_string = "adminhelp, admin PM and ASAY"
|
||||
if(MUTE_DEADCHAT) mute_string = "deadchat and DSAY"
|
||||
if(MUTE_ALL) mute_string = "everything"
|
||||
else return
|
||||
if(MUTE_IC)
|
||||
mute_string = "IC (say and emote)"
|
||||
if(MUTE_OOC)
|
||||
mute_string = "OOC"
|
||||
if(MUTE_PRAY)
|
||||
mute_string = "pray"
|
||||
if(MUTE_ADMINHELP)
|
||||
mute_string = "adminhelp, admin PM and ASAY"
|
||||
if(MUTE_DEADCHAT)
|
||||
mute_string = "deadchat and DSAY"
|
||||
if(MUTE_ALL)
|
||||
mute_string = "everything"
|
||||
else
|
||||
return
|
||||
|
||||
var/client/C
|
||||
if(istype(whom, /client))
|
||||
@@ -144,12 +152,16 @@
|
||||
return
|
||||
|
||||
var/datum/preferences/P
|
||||
if(C) P = C.prefs
|
||||
else P = preferences_datums[whom]
|
||||
if(!P) return
|
||||
if(C)
|
||||
P = C.prefs
|
||||
else
|
||||
P = preferences_datums[whom]
|
||||
if(!P)
|
||||
return
|
||||
|
||||
if(automute)
|
||||
if(!config.automute_on) return
|
||||
if(!config.automute_on)
|
||||
return
|
||||
else
|
||||
if(!check_rights())
|
||||
return
|
||||
@@ -159,7 +171,8 @@
|
||||
P.muted |= mute_type
|
||||
log_admin("SPAM AUTOMUTE: [muteunmute] [key_name(whom)] from [mute_string]")
|
||||
message_admins("SPAM AUTOMUTE: [muteunmute] [key_name_admin(whom)] from [mute_string].")
|
||||
if(C) C << "You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin."
|
||||
if(C)
|
||||
C << "You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin."
|
||||
feedback_add_details("admin_verb","AUTOMUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
@@ -172,7 +185,8 @@
|
||||
|
||||
log_admin("[key_name(usr)] has [muteunmute] [key_name(whom)] from [mute_string]")
|
||||
message_admins("[key_name_admin(usr)] has [muteunmute] [key_name_admin(whom)] from [mute_string].")
|
||||
if(C) C << "You have been [muteunmute] from [mute_string]."
|
||||
if(C)
|
||||
C << "You have been [muteunmute] from [mute_string]."
|
||||
feedback_add_details("admin_verb","MUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
@@ -183,7 +197,8 @@
|
||||
src << "Only administrators may use this command."
|
||||
return
|
||||
var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No")
|
||||
if(confirm != "Yes") return
|
||||
if(confirm != "Yes")
|
||||
return
|
||||
log_admin("[key_name(src)] has added a random AI law.")
|
||||
message_admins("[key_name_admin(src)] has added a random AI law.")
|
||||
|
||||
@@ -199,28 +214,40 @@
|
||||
if(!ckey)
|
||||
var/list/candidates = list()
|
||||
for(var/mob/M in player_list)
|
||||
if(M.stat != DEAD) continue //we are not dead!
|
||||
if(!(ROLE_ALIEN in M.client.prefs.be_special)) continue //we don't want to be an alium
|
||||
if(M.client.is_afk()) continue //we are afk
|
||||
if(M.mind && M.mind.current && M.mind.current.stat != DEAD) continue //we have a live body we are tied to
|
||||
if(M.stat != DEAD)
|
||||
continue //we are not dead!
|
||||
if(!(ROLE_ALIEN in M.client.prefs.be_special))
|
||||
continue //we don't want to be an alium
|
||||
if(M.client.is_afk())
|
||||
continue //we are afk
|
||||
if(M.mind && M.mind.current && M.mind.current.stat != DEAD)
|
||||
continue //we have a live body we are tied to
|
||||
candidates += M.ckey
|
||||
if(candidates.len)
|
||||
ckey = input("Pick the player you want to respawn as a xeno.", "Suitable Candidates") as null|anything in candidates
|
||||
else
|
||||
usr << "<font color='red'>Error: create_xeno(): no suitable candidates.</font>"
|
||||
if(!istext(ckey)) return 0
|
||||
if(!istext(ckey))
|
||||
return 0
|
||||
|
||||
var/alien_caste = input(usr, "Please choose which caste to spawn.","Pick a caste",null) as null|anything in list("Queen","Praetorian","Hunter","Sentinel","Drone","Larva")
|
||||
var/obj/effect/landmark/spawn_here = xeno_spawn.len ? pick(xeno_spawn) : pick(latejoin)
|
||||
var/mob/living/carbon/alien/new_xeno
|
||||
switch(alien_caste)
|
||||
if("Queen") new_xeno = new /mob/living/carbon/alien/humanoid/royal/queen(spawn_here)
|
||||
if("Praetorian") new_xeno = new /mob/living/carbon/alien/humanoid/royal/praetorian(spawn_here)
|
||||
if("Hunter") new_xeno = new /mob/living/carbon/alien/humanoid/hunter(spawn_here)
|
||||
if("Sentinel") new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(spawn_here)
|
||||
if("Drone") new_xeno = new /mob/living/carbon/alien/humanoid/drone(spawn_here)
|
||||
if("Larva") new_xeno = new /mob/living/carbon/alien/larva(spawn_here)
|
||||
else return 0
|
||||
if("Queen")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/royal/queen(spawn_here)
|
||||
if("Praetorian")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/royal/praetorian(spawn_here)
|
||||
if("Hunter")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/hunter(spawn_here)
|
||||
if("Sentinel")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(spawn_here)
|
||||
if("Drone")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/drone(spawn_here)
|
||||
if("Larva")
|
||||
new_xeno = new /mob/living/carbon/alien/larva(spawn_here)
|
||||
else
|
||||
return 0
|
||||
|
||||
new_xeno.ckey = ckey
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] has spawned [ckey] as a filthy xeno [alien_caste].</span>")
|
||||
@@ -257,16 +284,23 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
if(G_found.mind.assigned_role=="Alien")
|
||||
if(alert("This character appears to have been an alien. Would you like to respawn them as such?",,"Yes","No")=="Yes")
|
||||
var/turf/T
|
||||
if(xeno_spawn.len) T = pick(xeno_spawn)
|
||||
else T = pick(latejoin)
|
||||
if(xeno_spawn.len)
|
||||
T = pick(xeno_spawn)
|
||||
else
|
||||
T = pick(latejoin)
|
||||
|
||||
var/mob/living/carbon/alien/new_xeno
|
||||
switch(G_found.mind.special_role)//If they have a mind, we can determine which caste they were.
|
||||
if("Hunter") new_xeno = new /mob/living/carbon/alien/humanoid/hunter(T)
|
||||
if("Sentinel") new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(T)
|
||||
if("Drone") new_xeno = new /mob/living/carbon/alien/humanoid/drone(T)
|
||||
if("Praetorian") new_xeno = new /mob/living/carbon/alien/humanoid/royal/praetorian(T)
|
||||
if("Queen") new_xeno = new /mob/living/carbon/alien/humanoid/royal/queen(T)
|
||||
if("Hunter")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/hunter(T)
|
||||
if("Sentinel")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(T)
|
||||
if("Drone")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/drone(T)
|
||||
if("Praetorian")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/royal/praetorian(T)
|
||||
if("Queen")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/royal/queen(T)
|
||||
else//If we don't know what special role they have, for whatever reason, or they're a larva.
|
||||
create_xeno(G_found.ckey)
|
||||
return
|
||||
@@ -542,9 +576,11 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
return
|
||||
|
||||
var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No")
|
||||
if(confirm != "Yes") return
|
||||
if(confirm != "Yes")
|
||||
return
|
||||
//Due to the delay here its easy for something to have happened to the mob
|
||||
if(!M) return
|
||||
if(!M)
|
||||
return
|
||||
|
||||
log_admin("[key_name(usr)] has gibbed [key_name(M)]")
|
||||
message_admins("[key_name_admin(usr)] has gibbed [key_name_admin(M)]")
|
||||
@@ -608,7 +644,8 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
return
|
||||
|
||||
var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No")
|
||||
if(confirm != "Yes") return
|
||||
if(confirm != "Yes")
|
||||
return
|
||||
|
||||
SSshuttle.emergency.request()
|
||||
feedback_add_details("admin_verb","CSHUT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
@@ -619,8 +656,10 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
/client/proc/admin_cancel_shuttle()
|
||||
set category = "Admin"
|
||||
set name = "Cancel Shuttle"
|
||||
if(!check_rights(0)) return
|
||||
if(alert(src, "You sure?", "Confirm", "Yes", "No") != "Yes") return
|
||||
if(!check_rights(0))
|
||||
return
|
||||
if(alert(src, "You sure?", "Confirm", "Yes", "No") != "Yes")
|
||||
return
|
||||
|
||||
if(SSshuttle.emergency.mode >= SHUTTLE_DOCKED)
|
||||
return
|
||||
@@ -710,7 +749,8 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
set name = "Toggle Nuke"
|
||||
set category = "Fun"
|
||||
set popup_menu = 0
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
|
||||
if(!N.timing)
|
||||
var/newtime = input(usr, "Set activation timer.", "Activate Nuke", "[N.timeleft]") as num
|
||||
@@ -728,7 +768,8 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
set category = "Debug"
|
||||
set name = "Remove Latejoin Spawns"
|
||||
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
|
||||
latejoin.Cut()
|
||||
|
||||
@@ -744,7 +785,8 @@ var/list/datum/outfit/custom_outfits = list() //Admin created outfits
|
||||
set category = "Debug"
|
||||
set name = "Create Custom Outfit"
|
||||
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
|
||||
holder.create_outfit()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user