Merge branch 'master' into upstream-merge-26965

This commit is contained in:
LetterJay
2017-06-19 15:39:01 -05:00
committed by GitHub
423 changed files with 304918 additions and 166801 deletions
+17
View File
@@ -24,6 +24,23 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
QDEL_NULL(cstatclick)
QDEL_NULL(rstatclick)
return ..()
/datum/admin_help_tickets/proc/TicketByID(id)
var/list/lists = list(active_tickets, closed_tickets, resolved_tickets)
for(var/I in lists)
for(var/J in I)
var/datum/admin_help/AH = J
if(AH.id == id)
return J
/datum/admin_help_tickets/proc/TicketsByCKey(ckey)
. = list()
var/list/lists = list(active_tickets, closed_tickets, resolved_tickets)
for(var/I in lists)
for(var/J in I)
var/datum/admin_help/AH = J
if(AH.initiator_ckey == ckey)
. += AH
//private
/datum/admin_help_tickets/proc/ListInsert(datum/admin_help/new_ticket)
+34 -6
View File
@@ -203,19 +203,19 @@
if(irc)
log_admin_private("PM: [key_name(src)]->IRC: [rawmsg]")
for(var/client/X in GLOB.admins)
to_chat(X, "<B><font color='blue'>PM: [key_name(src, X, 0)]-&gt;IRC:</B> \blue [keywordparsedmsg]</font>" )
for(var/client/X in GLOB.admins)
to_chat(X, "<font color='blue'><B>PM: [key_name(src, X, 0)]-&gt;IRC:</B> [keywordparsedmsg]</font>")
else
window_flash(recipient, ignorepref = TRUE)
log_admin_private("PM: [key_name(src)]->[key_name(recipient)]: [rawmsg]")
//we don't use message_admins here because the sender/receiver might get it too
for(var/client/X in GLOB.admins)
if(X.key!=key && X.key!=recipient.key) //check client/X is an admin and isn't the sender or recipient
to_chat(X, "<B><font color='blue'>PM: [key_name(src, X, 0)]-&gt;[key_name(recipient, X, 0)]:</B> \blue [keywordparsedmsg]</font>" )
to_chat(X, "<font color='blue'><B>PM: [key_name(src, X, 0)]-&gt;[key_name(recipient, X, 0)]:</B> [keywordparsedmsg]</font>" )
#define IRC_AHELP_USAGE "Usage: ticket <close|resolve|icissue|reject|reopen \[ticket #\]|list>"
/proc/IrcPm(target,msg,sender)
var/client/C = GLOB.directory[target]
@@ -225,7 +225,7 @@
var/list/splits = splittext(compliant_msg, " ")
if(splits.len && splits[1] == "ticket")
if(splits.len < 2)
return "Usage: ticket <close|resolve|icissue|reject>"
return IRC_AHELP_USAGE
switch(splits[2])
if("close")
if(ticket)
@@ -243,8 +243,36 @@
if(ticket)
ticket.Reject(irc_tagged)
return "Ticket #[ticket.id] successfully rejected"
if("reopen")
if(ticket)
return "Error: [target] already has ticket #[ticket.id] open"
var/fail = splits.len < 3 ? null : -1
if(!isnull(fail))
fail = text2num(splits[3])
if(isnull(fail))
return "Error: No/Invalid ticket id specified. [IRC_AHELP_USAGE]"
var/datum/admin_help/AH = GLOB.ahelp_tickets.TicketByID(fail)
if(!AH)
return "Error: Ticket #[fail] not found"
if(AH.initiator_ckey != target)
return "Error: Ticket #[fail] belongs to [AH.initiator_ckey]"
AH.Reopen()
return "Ticket #[ticket.id] successfully reopened"
if("list")
var/list/tickets = GLOB.ahelp_tickets.TicketsByCKey(target)
if(!tickets.len)
return "None"
. = ""
for(var/I in tickets)
var/datum/admin_help/AH = I
if(.)
. += ", "
if(AH == ticket)
. += "Active: "
. += "#[AH.id]"
return
else
return "Usage: ticket <close|resolve|icissue|reject>"
return IRC_AHELP_USAGE
return "Error: Ticket could not be found"
var/static/stealthkey
+36 -34
View File
@@ -114,47 +114,49 @@
return
/datum/buildmode/proc/show_help(mob/user)
var/list/dat = list()
switch(mode)
if(BASIC_BUILDMODE)
to_chat(user, "\blue ***********************************************************")
to_chat(user, "\blue Left Mouse Button = Construct / Upgrade")
to_chat(user, "\blue Right Mouse Button = Deconstruct / Delete / Downgrade")
to_chat(user, "\blue Left Mouse Button + ctrl = R-Window")
to_chat(user, "\blue Left Mouse Button + alt = Airlock")
to_chat(user, "")
to_chat(user, "\blue Use the button in the upper left corner to")
to_chat(user, "\blue change the direction of built objects.")
to_chat(user, "\blue ***********************************************************")
dat += "***********************************************************"
dat += "Left Mouse Button = Construct / Upgrade"
dat += "Right Mouse Button = Deconstruct / Delete / Downgrade"
dat += "Left Mouse Button + ctrl = R-Window"
dat += "Left Mouse Button + alt = Airlock"
dat += ""
dat += "Use the button in the upper left corner to"
dat += "change the direction of built objects."
dat += "***********************************************************"
if(ADV_BUILDMODE)
to_chat(user, "\blue ***********************************************************")
to_chat(user, "\blue Right Mouse Button on buildmode button = Set object type")
to_chat(user, "\blue Left Mouse Button on turf/obj = Place objects")
to_chat(user, "\blue Right Mouse Button = Delete objects")
to_chat(user, "")
to_chat(user, "\blue Use the button in the upper left corner to")
to_chat(user, "\blue change the direction of built objects.")
to_chat(user, "\blue ***********************************************************")
dat += "***********************************************************"
dat += "Right Mouse Button on buildmode button = Set object type"
dat += "Left Mouse Button on turf/obj = Place objects"
dat += "Right Mouse Button = Delete objects"
dat += ""
dat += "Use the button in the upper left corner to"
dat += "change the direction of built objects."
dat += "***********************************************************"
if(VAR_BUILDMODE)
to_chat(user, "\blue ***********************************************************")
to_chat(user, "\blue Right Mouse Button on buildmode button = Select var(type) & value")
to_chat(user, "\blue Left Mouse Button on turf/obj/mob = Set var(type) & value")
to_chat(user, "\blue Right Mouse Button on turf/obj/mob = Reset var's value")
to_chat(user, "\blue ***********************************************************")
dat += "***********************************************************"
dat += "Right Mouse Button on buildmode button = Select var(type) & value"
dat += "Left Mouse Button on turf/obj/mob = Set var(type) & value"
dat += "Right Mouse Button on turf/obj/mob = Reset var's value"
dat += "***********************************************************"
if(THROW_BUILDMODE)
to_chat(user, "\blue ***********************************************************")
to_chat(user, "\blue Left Mouse Button on turf/obj/mob = Select")
to_chat(user, "\blue Right Mouse Button on turf/obj/mob = Throw")
to_chat(user, "\blue ***********************************************************")
dat += "***********************************************************"
dat += "Left Mouse Button on turf/obj/mob = Select"
dat += "Right Mouse Button on turf/obj/mob = Throw"
dat += "***********************************************************"
if(AREA_BUILDMODE)
to_chat(user, "\blue ***********************************************************")
to_chat(user, "\blue Left Mouse Button on turf/obj/mob = Select corner")
to_chat(user, "\blue Right Mouse Button on buildmode button = Select generator")
to_chat(user, "\blue ***********************************************************")
dat += "***********************************************************"
dat += "Left Mouse Button on turf/obj/mob = Select corner"
dat += "Right Mouse Button on buildmode button = Select generator"
dat += "***********************************************************"
if(COPY_BUILDMODE)
to_chat(user, "\blue ***********************************************************")
to_chat(user, "\blue Left Mouse Button on obj/turf/mob = Spawn a Copy of selected target")
to_chat(user, "\blue Right Mouse Button on obj/mob = Select target to copy")
to_chat(user, "\blue ***********************************************************")
dat += "***********************************************************"
dat += "Left Mouse Button on obj/turf/mob = Spawn a Copy of selected target"
dat += "Right Mouse Button on obj/mob = Select target to copy"
dat += "***********************************************************"
to_chat(user, "<font color='blue'>[dat.Join("\n")]</font>")
/datum/buildmode/proc/change_settings(mob/user)
switch(mode)
@@ -14,11 +14,12 @@
if(type == INDIVIDUAL_SHOW_ALL_LOG)
dat += "<center>Displaying all logs of [key_name(M)]</center><br><hr>"
for(var/log_type in M.logging)
var/list/reversed = M.logging[log_type]
reversed = reverseRange(reversed.Copy())
dat += "<center><b>[log_type]</b></center><br>"
for(var/entry in reversed)
dat += "<font size=2px>[entry]: [reversed[entry]]</font><br>"
var/list/reversed = M.logging[log_type]
if(islist(reversed))
reversed = reverseRange(reversed.Copy())
for(var/entry in reversed)
dat += "<font size=2px>[entry]: [reversed[entry]]</font><br>"
dat += "<hr>"
else
dat += "<center>[type] of [key_name(M)]</center><br>"
@@ -26,6 +27,6 @@
if(reversed)
reversed = reverseRange(reversed.Copy())
for(var/entry in reversed)
dat += "<font size=2px>[entry]: [reversed[entry]]</font><br>"
dat += "<font size=2px>[entry]: [reversed[entry]]</font><hr>"
usr << browse(dat, "window=invidual_logging;size=600x480")
usr << browse(dat, "window=invidual_logging_[M];size=600x480")
+3 -3
View File
@@ -612,8 +612,8 @@ GLOBAL_PROTECT(VVpixelmovement)
if (O.vv_edit_var(variable, var_new) == FALSE)
to_chat(src, "Your edit was rejected by the object.")
return
log_world("### VarEdit by [src]: [O.type] [variable]=[html_encode("[O.vars[variable]]")]")
log_admin("[key_name(src)] modified [original_name]'s [variable] to [O.vars[variable]]")
var/msg = "[key_name_admin(src)] modified [original_name]'s [variable] to [O.vars[variable]]"
log_world("### VarEdit by [src]: [O.type] [variable]=[html_encode("[var_new]")]")
log_admin("[key_name(src)] modified [original_name]'s [variable] to [var_new]")
var/msg = "[key_name_admin(src)] modified [original_name]'s [variable] to [var_new]"
message_admins(msg)
admin_ticket_log(O, msg)
+1 -1
View File
@@ -99,7 +99,7 @@ GLOBAL_VAR_INIT(highlander, FALSE)
var/datum/gang/multiverse/G = new(src, "[H.real_name]")
SSticker.mode.gangs += G
G.bosses += H.mind
G.bosses[H.mind] = 0 //No they don't use influence but this prevents runtimes.
G.add_gang_hud(H.mind)
H.mind.gang_datum = G